Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
shadowrecon

SPS -> Instructions

Recommended Posts

What is SPS?

SPS stands for SRL Position System. It is a walking method for RuneScape that is 100% color based. Originally developed by Marpis @ SRL Forums, currently being developed by Coh3n @ SRL Forums. SPS coordinates are similar to the way the reflection coordinates were setup. The coordinate (0,0) is the top left of the world map. and it increments as you continue to the right and down. As of now it is included in the GMRL include. I personally ported SPS to scar using the SPS source code and part of Simbas source code. It can only be used by versions of scar that are 3.33 or higher.

 

How do i use it?

First of all before you do any walking you need to setup the part of the world map you are going to be walking on. This can be done in a various of ways, Path creator program, or go through and find the pieces you need manually in the SPS img folder. Once you have you map parts, you would declare them in you script.

[scar]

program SPS_Example;

{$DEFINE SMART_SPS}

{$I GMRL\SCAR_SPS.Scar}

 

Var

Areas: TStringArray;

begin

Areas := ['9_7','9_8','9_9];

end.

[/scar]

 

Now you need to setup the SPS system. The Function SPS_Setup only needs to be called once within the script, or if you were to change areas. There are custom variables that can be set to change the way SPS works but most of the time leaving them at default is the best option. Heres how to setup the World map with default settings:

 

[scar]

program SPS_Example;

{$DEFINE SMART_SPS}

{$I GMRL\SCAR_SPS.Scar}

 

Var

Areas: TStringArray;

begin

Areas := ['11_9','12_9','12_8','11_8'];

SPS_AnyAngle := True;

SPS_Setup(RUNESCAPE_SURFACE, Areas);

end.

[/scar]

 

Heres a custom setup:

**Note this should only be done if the default settings are giving you issues.

 

[scar]

program SPS_Example;

{$DEFINE SMART_SPS}

{$I GMRL\SCAR_SPS.Scar}

 

Var

Areas: TStringArray;

begin

Areas := ['11_9','12_9','12_8','11_8'];

SPS_Debug := False; // Default is false

SPS_Accuracy := 4; // Default is 4 the lower the number the more time it takes.

SPS_AnyAngle := True;

SPS_Setup(RUNESCAPE_SURFACE, Areas);

end.

[/scar]

 

Supported surfaces:

 

[scar]

RUNESCAPE_OTHER // this would be for a dungin or custom maps

RUNESCAPE_SURFACE // this would be normal walking on the map

[/scar]

 

Now that you have SPS setup its time to do some walking. You need to create a path of points. This is best done with a path creator. Heres a link to the Tool. Once you have created a path, now you need to include it in you script.

 

This example walks from lumy teleport to the chickens.

[scar]

program SPS_Example;

{$DEFINE SMART_SPS}

{$I GMRL\SCAR_SPS.Scar}

 

Procedure WalkToChickens;

Var

Path: TPointArray;

Begin

Path := [Point(4734, 3788), Point(4769, 3768), Point(4803, 3756), Point(4857, 3754), Point(4880, 3742), Point(4874, 3710), Point(4855, 3655), Point(4839, 3618), Point(4835, 3581), Point(4810, 3557), Point(4797, 3536), Point(4790, 3514), Point(4792, 3490), Point(4768, 3471)];

SPS_WalkPath(Path);

end;

 

Var

Areas: TStringArray;

begin

Areas := ['11_9','12_9','12_8','11_8'];

SPS_AnyAngle := True;

SPS_Setup(RUNESCAPE_SURFACE, Areas);

WalkToChickens;

end.

[/scar]

 

There are also other features of the SPS system that do not apply to walking. SPS_GetMyPos returns the tile you character is standing on, which could be really useful to figure out where you character is. Remember though that before ANY SPS function can be called SPS has to be setup. There are a endless amount of uses for this tool, i hope you guys enjoy!

 

~ ShadowRecon

 

Heres a link the the official SPS thread at SRL Forums.

Edited by shadowrecon
Updated to comply with SPS 2

Share this post


Link to post
Share on other sites

Really nice to see a "real" walking method in scar :-)

 

And nice to see that you used your time to convert this to scar. Actually just what i needed :D

Share this post


Link to post
Share on other sites
Really nice to see a "real" walking method in scar :-)

 

And nice to see that you used your time to convert this to scar. Actually just what i needed :D

 

This is great, but let's not be mis-informative. There are more accurate, stable, and efficient walking methods "in SCAR".

Share this post


Link to post
Share on other sites
This is great, but let's not be mis-informative. There are more accurate, stable, and efficient walking methods "in SCAR".

 

This method is pretty stable, the problem is CPU usage. Ive ran a ton of test and i can get my char always within a couple of tiles of where i want him. Most of the problems with people is they dont include the surrounding areas. If your minimap is within 50 tiles of a area include it! lol. Filtering colors is prob the best method but it takes so much time to setup and get the colors ect, but with this i can make a path that works 90% of the time in under 10 mins, with very few lines of code. =p

 

---------- Post added at 09:56 AM ---------- Previous post was at 09:55 AM ----------

 

Really nice to see a "real" walking method in scar :-)

 

And nice to see that you used your time to convert this to scar. Actually just what i needed :D

 

thanks =) Hope you find it as usful as i do =p Whats funny is the guys at SRL said it was impossible to port.. silly people =p

Share this post


Link to post
Share on other sites

Has any body used this? Just curious, was going to make some changes that may affect code but could speed some things up a bit i think <_>

Share this post


Link to post
Share on other sites
Haven't had chance. Current project doesn't require walking. Perhaps for the next one.

 

Its really bad ass, and really easy to setup. It has a few bugs here and there but works 90% of the time flawless. My problem is some times it can be slower than id like. Walking from lumbridge to Varrock was slow, simply because i had a bunch of map peaces loaded and search all the map peaces takes time, but if your only going to be going a few mini maps away and back it is awesome, and its really accurate. If you get a chance give it ago.

Share this post


Link to post
Share on other sites

Couldn't get this to compile if also using OSI includes. Using this include but not OSI it compiles fine. You get it playing nice with OSI I'm gonna include this as a walking option.

 

Edit: I get an access violation whenever I try to use SPS_WalkPath using both SMART 6.9 and SMART 7.1 alpha3. This includes your example above. Guess this needs some more work?

Edited by Bixby Sayz

Share this post


Link to post
Share on other sites
Couldn't get this to compile if also using OSI includes. Using this include but not OSI it compiles fine. You get it playing nice with OSI I'm gonna include this as a walking option.

 

Edit: I get an access violation whenever I try to use SPS_WalkPath using both SMART 6.9 and SMART 7.1 alpha3. This includes your example above. Guess this needs some more work?

 

OSI is included within the GMRL_Plugin, so you dont need to include it. Define SPS, SMART then include the GMRL_Plugin, This will define RS2 and SPS and you be good to go. As far as walk path, did you have the location setup before trying to walk on it? Show me an example of Defines and a section of code where your trying to walk.

Share this post


Link to post
Share on other sites

Edit: I get an access violation whenever I try to use SPS_WalkPath using both SMART 6.9 and SMART 7.1 alpha3. This includes your example above. Guess this needs some more work?

 

Is it starting to walk then throwing the error or is it throwing the error before ever starting? Also have you tried it within the browser?

Share this post


Link to post
Share on other sites

I used the path generator to figure out what map segment I needed to load, then tried something simple (get position). That worked fine.

 

Next I tried using the path from the path generator, and got an exception right away.

 

Next I tried using your code example: straight copy and paste. Got the exception.

 

Edit: Just tried this with both SCAR 3.34 and SCAR 3.33 on a different machine. Same thing both times.

Edit2: What version of Java are you running? The runtime error occurs in jvm.dll. Versions 1.6_0_29 and 1.6_0_31 on the three machines I tested (2 xp and 1 windoze 7).

Edited by Bixby Sayz

Share this post


Link to post
Share on other sites
I used the path generator to figure out what map segment I needed to load, then tried something simple (get position). That worked fine.

 

Next I tried using the path from the path generator, and got an exception right away.

 

Next I tried using your code example: straight copy and paste. Got the exception.

 

Edit: Just tried this with both SCAR 3.34 and SCAR 3.33 on a different machine. Same thing both times.

Edit2: What version of Java are you running? The runtime error occurs in jvm.dll. Versions 1.6_0_29 and 1.6_0_31 on the three machines I tested (2 xp and 1 windoze 7).

 

Hmm, I have the newest version what ever that may be? I dont know why it would throw an exception in Java, SPS doesn't use anything related to java.. =/ Have you tried it within the browser?

 

Try this, Uses a blank script and include the proper includes and just call

 

Begin

SetupGMRL;

SPS_Debug := True;

SPS_Setup(.... Your Parameters);

end.

 

Then tell me what the debug box says.

Share this post


Link to post
Share on other sites
Hmm, I have the newest version what ever that may be? I dont know why it would throw an exception in Java, SPS doesn't use anything related to java.. =/ Have you tried it within the browser?

 

Try this, Uses a blank script and include the proper includes and just call

 

Begin

SetupGMRL;

SPS_Debug := True;

SPS_Setup(.... Your Parameters);

end.

 

Then tell me what the debug box says.

Lol, sometimes the simpliest things trip you up:
   SetupGMRL;

Guess it helps if you include that. I did a straight copy and paste of your example code without bothering to check if it was complete.

Share this post


Link to post
Share on other sites
Lol, sometimes the simpliest things trip you up:
   SetupGMRL;

Guess it helps if you include that. I did a straight copy and paste of your example code without bothering to check if it was complete.

 

Lol i guess i need to fix the example 0_o There is a copy of that example under the SPS folder in the include. If you have trouble with it walking correctly make sure u have all surrounding map pieces that you mini map may touch or hit or design you path so it stays within the center of map pieces to avoid having a large amount of map pieces. I have tested this with 10 map pieces and it worked fine but was a bit slower than i would have excepted. =/ less maps faster the speed, but if you skimp on a map piece that should be included it throws it all out of wack.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...