Results 1 to 13 of 13

Thread: SPS Walking

  1. #1
    Join Date
    Jun 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default SPS Walking

    I have a problem. My script will walk to the first destination in the sequence, but when it needs to walk to another destination it just stands where it is although the debug shows that it executes the other walking procedures.

    Any ideas what It Could be?

    While on the topic of sps walking, it is a bit unreliable and inaccurate for me, is there any way to get it to perform better or must I rather shift to another method of walking?

  2. #2
    Join Date
    Mar 2012
    Location
    Color :D
    Posts
    938
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Map is probably outdated. You might want to make a custom one yourself. Or maybe you can include more SPS areas around the place you want to walk, it does help.

  3. #3
    Join Date
    Jan 2012
    Posts
    2,568
    Mentioned
    35 Post(s)
    Quoted
    356 Post(s)

    Default

    Make sure ur points are close enough. SPS isn't accurate in some places, to improve the accuracy u could try creating ur own custom sps map (there are some tutorials on that), though it will still not be extremely precise (like walking to the exact tile u want)

  4. #4
    Join Date
    Jun 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Quote Originally Posted by riwu View Post
    Make sure ur points are close enough. SPS isn't accurate in some places, to improve the accuracy u could try creating ur own custom sps map (there are some tutorials on that), though it will still not be extremely precise (like walking to the exact tile u want)
    Ok, what can I use to walk to an exact spot I`m aiming for? What method of walking will be best to use, Radial or DTM?

    Or what will you recommend for me to use?

  5. #5
    Join Date
    Jan 2012
    Posts
    2,568
    Mentioned
    35 Post(s)
    Quoted
    356 Post(s)

    Default

    U can try Home's console walking (http://villavu.com/forum/showthread....highlight=home), DTM walking is relatively accurate too. Really depends on where u are trying to walk, most of the time u dont really need to be that accurate. (and if its too accurate, u may want to add some random offsets to prevent getting ban)

  6. #6
    Join Date
    Jan 2012
    Posts
    713
    Mentioned
    3 Post(s)
    Quoted
    9 Post(s)

    Default

    The map you picked your coords on are different colors that the minimap. You can try going into the SPS includes and changing the tolerance to see if that makes a difference or you can read up on my tutorial and make a new SPS Minimap Map which are severely accurate. Link below.

    http://villavu.com/forum/showthread.php?t=84360

  7. #7
    Join Date
    Jun 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Quote Originally Posted by GOOGLE View Post
    The map you picked your coords on are different colors that the minimap. You can try going into the SPS includes and changing the tolerance to see if that makes a difference or you can read up on my tutorial and make a new SPS Minimap Map which are severely accurate. Link below.

    http://villavu.com/forum/showthread.php?t=84360
    Thanks Google. I already had it open after the first suggestion and have looked at it and are busy creating another map. Just a question I`m using SPS_PathCreator to make my points and I use runescape surface map to do it from. The area I`m in is the same area where the first part of my walking takes place, why does it work for that one but not the others?

    I`m trying to understand what happens that upset this map area.

  8. #8
    Join Date
    Jan 2012
    Posts
    713
    Mentioned
    3 Post(s)
    Quoted
    9 Post(s)

    Default

    Its a color positioning system that takes the coords you provided from the surface map and searches for the color inside the circle or blue box when picking a point. So you said it walks a few points then stops this is because it is not finding the next color because the world map colors are far different than the minimap colors in some areas of the runescape world.

    ^This is why making a custom SPS map will be very accurate because it is taking direct colors off of the minimap.

    Now you can also try going into the SPS includes and changing the tolerance from 600 to 700 - 800 and see if that makes a difference before you make a minimap map if you are having trouble making one. May I ask what area you are trying to walk in?

    Also I tend to stay away from the path makers because they are usually not so accurate. I am not home right now and forget the code for manually getting your coords into the debug box while walking but I will upload that later.

  9. #9
    Join Date
    Jun 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    I`m in Draynor Area

  10. #10
    Join Date
    Mar 2012
    Location
    Color :D
    Posts
    938
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I used this to check my position.
    Simba Code:
    procedure getmyposition;
    var
      P: TPoint;
    begin
      P := SPS_GetMyPos;
      writeln('Point'+ToStr(P));
    end;

    And of course, you need to do SPS_Setup first.

  11. #11
    Join Date
    Jun 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Can Anyone Test This Code for me to see if the walking works for you. I have created a custom sps map but even with that it do not walk from the mine to the water and from the water to the bank.

    It does however walk from the bank to the mine.

    Start in Draynor Village Bank

    I have put the wait conditions in just to test the script to see where the problems is. It is actually not necessary to use it.

    Thanks for testing this for me. Feedback will be appreciated.

    Simba Code:
    program ClMinSofBank;
    {$DEFINE SMART}
    {$i srl/srl.simba}
    {$IFDEF SIMBAMAJOR980}
     {$I SRL/SRL/MISC/PAINTSMART.SIMBA}
    {$ELSE}
     {$I SRL/SRL/MISC/SMARTGRAPHICS.SIMBA}
    {$ENDIF}
    {$i sps/sps.simba}
    {$I SRL/SRL/Skill/magic.simba}
    {$i ObjectDTM/ObjDTMInclude.simba}

    const // declare constants used
    //  srlstats_user     = 'anonymous';   // your srl stats username
    //  srlstats_password = 'anonymous';   // your srl stats password
      Server            = 38;  // enter "0" to pick a random server.
      Members           = false;  // is this player a member
      NumbOfPlayers     = 1;  // how many players should be active
      StartPlayer       = 0;  // the player who should be first used
      WorldSwitching    = false; // switch world after the break
      ChooseActivity    = 1;  // choose option to run
                              // 0 = mine clay and bank it
                              // 1 = mine clay and soften it then bank it
                              // 2 = get soft clay from bank and craft it then bank it
                              // 3 = get soft clay from bank and craft it and drop it
                              // 4 = mine clay,soften it,craft it,bank it
                              // 5 = mine clay,soften it,craft it,drop it
                              // 6 = fire softpots,urns,bowls and bank it
                              // 7 = fire softpots,urns,bowls and drop it
                              // 8 = get clay from bank,soften it bank it
      ChoosePottery     = 0; // valid pottery options to choose from
                              // 0 =
      LoadsToDo         = 30; // set how many repetitions to do of a certain activity
      AutoSwitch        = true; // if loads are finished doing, attempt to switch to new activity

    var // Declare Global Variables
    WalkPath: tpointarray;

    procedure statsguise(wat:string); // Status Update In Pinbar
      begin
        status(wat);
        disguise(wat);
      end;

    procedure globalfailsafe(reason:string);  // GlobalFailsafe
      begin
        writeln('we have a bug. kill it !!');
        players[currentplayer].loc := reason;
        logout;
        stats_commit;
        terminatescript;
      end;

    procedure AntiBan;  // AntiBan Procedure
    begin
      if(not(loggedin))then exit;
      findnormalrandoms;
      begin
        case random(5) of
          1: examineinv;
          2: pickupmouse;
          3: boredhuman;
          4: randommovement;
          5: randomrclick;
        end;
      end;
    end;

    procedure Rest; // Rest Procedure
    var
      s: string;
    begin
      if(not(loggedin))then
        exit;
      writeln('Are We Tired? Then Rest If So');
      if not (loggedin) then
      exit;
      if (getmmlevels('run', s) <= 25) then
      restuntil(randomrange(75,100))
    end;

    procedure WalkToMine; // Walk To The Clay Mine
    Begin
      if(not(loggedin))then
        exit;
      sps_setup(runescape_surface,['10_8', '10_9', '11_8', '9_8', '9_9']);
      writeln('We Are Going To Mine Clay. Walking To The Clay Mine From The Bank.....');
      makecompass('n');
      setangle(srl_angle_high);
      WalkPath := [Point(4208, 3684), Point(4206, 3667), Point(4224, 3657), Point(4252, 3658), Point(4253, 3606), Point(4255, 3555), Point(4271, 3508), Point(4282, 3455), Point(4324, 3431), Point(4369, 3415), Point(4407, 3388)];
      sps_walkpath(WalkPath);
      FFlag(10);
      writeln('We Have Arrived at the Clay Mine');
      Rest;
      wait(1000+random(400));
    End;

    procedure WalkToWaterFromMine;  // Walk To Water
    Begin
      if(not(loggedin))then
        exit;
      findnormalrandoms;
      sps_setup(runescape_surface,['10_7', '10_8', '11_7', '11_8']);
      writeln('Going To Make SoftClay. Walking To The Water From The Mine.....');
      makecompass('n');
      setangle(srl_angle_high);
      WalkPath := [Point(4400, 3400), Point(4388, 3410), Point(4373, 3414), Point(4356, 3418), Point(4341, 3424), Point(4330, 3428), Point(4316, 3435), Point(4301, 3441), Point(4288, 3454), Point(4279, 3467), Point(4275, 3478), Point(4274, 3491), Point(4270, 3511), Point(4269, 3524), Point(4262, 3536), Point(4257, 3548), Point(4255, 3564), Point(4247, 3572), Point(4233, 3572), Point(4222, 3571), Point(4215, 3567)];
      sps_walkpath(WalkPath);
      FFlag(10);
      writeln('We Have Arrived at the Water');
      Rest;
      wait(1000+random(400));
    End;

    procedure WalkToBankFromWater;  //Walk To Bank From Water
    Begin
      if(not(loggedin))then
        exit;
      findnormalrandoms;
      sps_setup(runescape_surface,['10_7', '10_8', '10_9', '9_7', '9_8', '9_9']);
      writeln('We Are Going To Bank Our Inventory. Walking To The Bank From The Water.....');
      makecompass('n');
      setangle(srl_angle_high);
      WalkPath := [Point(4213, 3575), Point(4215, 3613), Point(4218, 3649), Point(4208, 3684)];
      sps_walkpath(WalkPath);
      FFlag(10);
      writeln('We Have Arrived at the Bank');
      Rest;
      wait(1000+random(400));
    End;

    procedure WalkFromMineToBank; // Walk From The Clay Mine To The Bank
    Begin
      if(not(loggedin))then
        exit;
      findnormalrandoms;
      sps_setup(runescape_surface,['10_7', '10_8', '10_9', '11_7', '11_8', '9_9']);
      writeln('We Are Going To Bank Our Inventory. Walking To The Bank From The Mine.....');
      makecompass('n');
      setangle(srl_angle_high);
      WalkPath := [Point(4404, 3388), Point(4350, 3405), Point(4301, 3428), Point(4278, 3473), Point(4268, 3530), Point(4252, 3575), Point(4252, 3614), Point(4251, 3657), Point(4218, 3659), Point(4209, 3684)];
      sps_walkpath(WalkPath);
      FFlag(10);
      writeln('We Have Arrived at the Bank');
      Rest;
      wait(1000+random(400));
    End;

    procedure Activity(Choice:integer); // Choose Activity To Implement
    begin
      if(not(loggedin))then
        exit;
      writeln('Choose Which Activity To Do');
      case Choice of
          0:  begin // mine clay and bank it
                disguise('mine clay and bank it');
                if invfull then // check if invfull, if full, then bank, if empty then get soft clay go to craft shop, then bank crafted item
                  begin

                  end;
                WalkToMine;
                WalkFromMineToBank;
              end;
          1:  begin   // mine clay and soften it then bank it
                disguise('mine clay and soften it then bank it');
                if invfull then // check if invfull, if full, then bank, if empty then get pickaxe and go to mine and then wet clay and then bank
                  begin

                  end;
                WalkToMine;
                WalkToWaterFromMine;
                WalkToBankFromWater;
              end;
          2:  begin // get soft clay from bank and craft it then bank it
                disguise('get soft clay from bank and craft it then bank it');
                if invfull then // check if invfull, if full, then bank, if empty then get soft clay go to craft shop, then bank crafted item
                  begin

                  end;

              end;
          3:  begin // get soft clay from bank and craft it and drop it
                disguise('get soft clay from bank and craft it and drop it');
                if invfull then // check if invfull, if full, then bank, if empty then get soft clay go to craft shop, then bank crafted item
                  begin

                  end;
              end;
          4:  begin // mine clay,soften it,craft it,bank it
                disguise('mine clay,soften it,craft it,bank it');
                if invfull then // check if invfull, if full, then bank, if empty then get soft clay go to craft shop, then bank crafted item
                  begin

                  end;
              end;
          5:  begin // mine clay,soften it,craft it,drop it
                disguise('mine clay,soften it,craft it,drop it');
                if invfull then // check if invfull, if full, then bank, if empty then get soft clay go to craft shop, then bank crafted item
                  begin

                  end;
               end;
          end;
      end;

    procedure DeclarePlayers; // Setup Players
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;
      with Players[0] do
      begin
        name        := '';
        pass        := '';
        pin         := '';
        worldinfo   := [38];
        boxrewards  := ['xp','xp','lamp'];
        lampskill   := skill_slayer;
        active      := true;
      end;
    end;

    procedure SetupClient;  // Setup Client For Run
    begin
      writeln('start bot client');
      {$IFDEF SIMBAMAJOR980}
        SMART_SERVER := server;
        SMART_MEMBERS := TRUE;
        SMART_SIGNED := TRUE;
        SMART_SUPERDETAIL := FALSE;
      {$ELSE}
        SRL_SIXHOURFIX := TRUE;
        SMART_FIXSPEED := TRUE;
      {$ENDIF}

      cleardebug;
      Setupsrl;
      IgnoreBar;
      objdtm_setup;
      objdtm_debug := true;
      DeclarePlayers;
      if not (loggedin) then
      loginplayer;
      wait(4000+random(400));
    end;

    begin // Main Program Loop
      SetupClient;
      Repeat
        Activity(ChooseActivity);
      Until allplayersinactive;
    end.
    Last edited by VastlySuperior; 07-16-2012 at 07:22 PM. Reason: Forgot Username and Password

  12. #12
    Join Date
    Jun 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Can Anyone please have a test with this script to see if it walks for you? Please let me know if it works correctly or not.

    Thanks in advance

    E. Ok, something really weird is going on with my walking. When I take this part of my code:
    Simba Code:
    1:  begin   // mine clay and soften it then bank it
                disguise('mine clay and soften it then bank it');
                if invfull then // check if invfull, if full, then bank, if empty then get pickaxe and go to mine and then wet clay and then bank
                  begin

                  end;
    //            WalkToMine;
                WalkToWaterFromMine;
                WalkToBankFromWater;
              end;
    and execute each part of the walking separately from the locations where they should be, then they walk that small part of the script.

    First it walks to the mine, then it just stand there doing nothing. Then I comment the other 2 paths out and just leave the one, 2 the water and run the script again, then it walks to the water, but just stand there not walking again to the bank, then I comment out the walktowaterfrommine and leave the other 2 and run the script again. Then it walks to the bank, but not to the mine.

    What the hell is going on here? I just don`t understand this, the same happens with the custom map I created, it only walks the first part of the path, the second and third part is executed but it just stand there and don`t move.

    Can anyone shed some light on this for me?
    Last edited by VastlySuperior; 07-17-2012 at 05:59 AM. Reason: New Data Regarding the error

  13. #13
    Join Date
    Jun 2008
    Location
    United States
    Posts
    818
    Mentioned
    60 Post(s)
    Quoted
    90 Post(s)

    Default

    Quote Originally Posted by GOOGLE View Post
    Its a color positioning system that takes the coords you provided from the surface map and searches for the color inside the circle or blue box when picking a point. So you said it walks a few points then stops this is because it is not finding the next color because the world map colors are far different than the minimap colors in some areas of the runescape world.
    No, please read this post on how exactly SPS functions. What you have described is known as TPA walking.
    [10/14/13:19:03] <BenLand100> this is special relatively, just cleverly disguised with yachts

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •