CynicRus
2013-03-01 02:52:01
How to use:
1) Place p07sps.simba to your_simba_directory/SPS/
2)
{$I SRL/SRL.Simba}
{$I SRL/P07Include.Simba}
{$I SPS/p07sps.simba}
Enjoy.
How to use SPS see in to official SPS thread.
Cheers, Cynic.
2013-03-01 02:52:01
{$I SRL/SRL.Simba}
{$I SRL/P07Include.Simba}
{$I SPS/p07sps.simba}
2013-03-01 03:02:10
2013-03-01 04:58:02
2013-03-01 05:07:46
2013-03-01 06:42:22
2013-03-01 11:56:58
2013-03-01 11:59:03
2013-03-01 12:04:50
From: Ollybest
Good luck, overtime you will lose accuracy and such :(
2013-03-01 12:08:21
From: J J
Indeed, stupid Jagex messing with angles and colors :S
2013-03-01 18:02:25
2013-03-01 18:47:34
2013-03-01 18:55:50
From: BoxxyBabee
Looks very good. Currently making my own Map for 2007 slowly with paint. Are there any pre-existing 2007 surface maps(such as with an official 2007 include) or is it going to be everyone makes their own?
2013-03-01 19:02:45
2013-03-02 00:53:16
From: BoxxyBabee
I am using about 20 png frames and using paint to put them together as I do not own photoshop yet
2013-03-02 09:17:52
MyLoc:=sps_getMyPos;
writeln('sps returns '+inttostr(myloc.x)+','+inttostr(myloc.y));
Points returned this way are pretty much constant.
// Edited For P07Include by Cynic // more edits for better usability in 07 by Dwu
// Author: marpis & Coh3n
// Walks the path "Path"; always walks to the furthest point possible
function SPS_WalkPath(Path: TPointArray): boolean;
var
I, H, T, D, Fails: integer;
P, MM, MMF: TPoint;
begin
if (not SPS_IsSetup) then
begin
writeln('SPS ERROR: SPS_Setup was never called');
exit;
end;
P07_MakeCompassNorth;
H := High(Path);
T := GetSystemTime + 20000 + Random(5000);
Fails := 0;
while (not Result) and (GetSystemTime < T) and (Fails < 5) do
begin
if (not P07_LoggedIn) then
Exit;
P := SPS_GetMyPos();
for I := H downto 0 do
begin
MM := RotatePoint(Point(P07_MMCX + Path[I].X - P.X, P07_MMCY + Path[I].Y - P.Y),0, P07_MMCX, P07_MMCY);
if MM = MMF then
Inc(Fails);
D := Distance(MM.X, MM.Y, P07_MMCX, P07_MMCY);
if (D < 5) then
break
else
if (D < 70) then
begin
P07_MouseBox(MM.X-2, MM.Y-2, MM.X+2, MM.Y+2, mouse_left);
while(ismoving) do begin
wait(10+random(100));
end;
MMF := MM;
P07_FindMMFlag;
T := getSystemTime + 20000 + Random(1000);
Break;
end;
end;
Result := (I = H);
end;
end;
2013-03-02 15:09:18
2013-03-02 15:50:45
2013-03-02 15:59:15
From: Le_don
lmfao..
>spend 20 minutes making first map
>compass is like, random degrees east
2013-03-02 16:46:04
2013-03-02 17:14:12
From: Ollybest
no sps_anyangle will not work.
Error: Exception: The bitmap[0] does not exist at line 664
The following DTMs were not freed: [0, 1, 2, 3]2013-03-02 23:27:00
From: Le_don
There's a tutorial somewhere on how to make an sps map.. what your doing certainly is not the way to do it. You gotta use the minimap and line it up in photoshop.
2013-03-03 07:22:07
From: Zorgatone
For me it is not working anything..Error: Exception: The bitmap[0] does not exist at line 664
The following DTMs were not freed: [0, 1, 2, 3]
It gives this error when calling SPS_WalkPath
2013-03-03 09:21:41
Program TestPath;
//{$DEFINE SMART} //< Edit this out if using Rs Client
{$I SRL/SRL.Simba}
{$i P07Include.simba}
{$I SPS/p07sps.simba}
var //{path name}
//{delcare the sps variable}
togarden: tpointarray;
status: string;
procedure paths;
begin
togarden := [Point(41, 143), Point(46, 141), Point(53, 136), Point(62, 135), Point(69, 135), Point(73, 135), Point(82, 131), Point(87, 131), Point(94, 131), Point(99, 131), Point(107, 136), Point(116, 136), Point(124, 136), Point(132, 136), Point(136, 135), Point(143, 132), Point(150, 132), Point(155, 132), Point(160, 132), Point(167, 130)]
end;
procedure testpath;
begin
if sps_walkpath(togarden) then
status := 'walking to the garden'
else begin
status :='failed walking to the garden';
writeln(status + ' + time running:' +timerunning);
end;
writeln(status + ' + time running:' +timerunning);
end;
begin
setupsrl;
SetupP07Include;
//{call path variables here}
//{Mistake I see a lot only call the map once, Not in the procedure}
//{If using multiple accounts it will always give an error when trying to pull the map}
sps_setup(runescape_other,['Fally_west_bank']);
P07_MakeCompassNorth;
writeln('lookingnorth')
paths;
writeln('Walking')
//testpath;
//writeln('testing walk')
repeat
until P07_InvFull ;
end.
2013-03-03 10:11:48

BankToFlaxPath := [Point(90, 85), Point(89, 95), Point(90, 103), Point(91, 113), Point(91, 119), Point(91, 130), Point(94, 136), Point(95, 145), Point(98, 155), Point(98, 163), Point(98, 177), Point(100, 188), Point(100, 201), Point(103, 207), Point(103, 212), Point(103, 216), Point(103, 228), Point(107, 237), Point(107, 242), Point(111, 251), Point(111, 258), Point(111, 268), Point(111, 271), Point(112, 281), Point(114, 285), Point(118, 291), Point(127, 295), Point(135, 295), Point(143, 293), Point(150, 288), Point(144, 279)];procedure WalkBankToFlax;
Begin
writeln('Walking to flax...');
if (SPS_WalkPath(BankToFlaxPath)) then
writeln('Walking...')
else
writeln('Failed...');
End;Walking to flax...
Failed...
Successfully executed.
SPS_Setup(RUNESCAPE_OTHER, ['seers_flax']);2013-03-03 12:25:16
2013-03-03 13:25:04
From: CynicRus
Show me a SPS_GetMyPos output.
2013-03-03 16:11:22
From: DaWu
Something I noticed that points it returns in game arent the same (no idea why) as the ones you would get in pathmaker or MS paint, whatever you guys use to get your points. Instead you guys should make your paths by looping something along the lines:Points returned this way are pretty much constant.
MyLoc:=sps_getMyPos;
writeln('sps returns '+inttostr(myloc.x)+','+inttostr(myloc.y));
2013-03-03 23:07:43
program new;
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
Var
myPath:TpointArray;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['11_7']);
SetupP07Include;
ActivateClient;
myPath := [Point(141, 58), Point(144, 81), Point(194, 84), Point(228, 90), Point(239, 125), Point(239, 164), Point(242, 203), Point(242, 232), Point(241, 259), Point(249, 306), Point(275, 330), Point(307, 325)];
if SPS_WalkPath(myPath) then
Sps_WalkPath(myPath);
end. 2013-03-03 23:19:14
From: kiwiownage
program new;
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
Var
myPath:TpointArray;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['11_7']);
SetupP07Include;
ActivateClient;
myPath := [Point(141, 58), Point(144, 81), Point(194, 84), Point(228, 90), Point(239, 125), Point(239, 164), Point(242, 203), Point(242, 232), Point(241, 259), Point(249, 306), Point(275, 330), Point(307, 325)];
if SPS_WalkPath(myPath) then
Sps_WalkPath(myPath);
end.
Does nothing and just says "Successfully executed", I can't figure out what I'm doing wrong, I've followed the guide :s
2013-03-03 23:23:40
From: Ashaman88
I suggest to not use a path creator, instead just have it call sps getmypos every second or so and make it live in game (start script at start of path, get the point, pause script, disable smart, walk a little bit within site of last point, enable smart, press play, get point, repeat until path is done)\
2013-03-03 23:32:02
2013-03-03 23:47:54
From: Ashaman88
I suggest to not use a path creator, instead just have it call sps getmypos every second or so and make it live in game (start script at start of path, get the point, pause script, disable smart, walk a little bit within site of last point, enable smart, press play, get point, repeat until path is done)\
2013-03-03 23:50:32
program new;
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
Var
myPath:TpointArray;
MyLoc:Tpoint;
begin
SPS_Setup(RUNESCAPE_SURFACE,['11_7']);
SetupP07Include;
ActivateClient;
myPath := [Point(4556,3044),Point(4552,3020),Point(4804,3052),Point(4620,2912)]
SPS_walkPath(myPath);
end.
2013-03-04 00:37:21
From: kiwiownage
I've got my path down, but when i run, it just walks nowhere near where I set the co-ords…
program new;
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
Var
myPath:TpointArray;
MyLoc:Tpoint;
begin
SPS_Setup(RUNESCAPE_SURFACE,['11_7']);
SetupP07Include;
ActivateClient;
myPath := [Point(4556,3044),Point(4552,3020),Point(4804,3052),Point(4620,2912)]
SPS_walkPath(myPath);
end.
Any ideas? Am i supposed to be putting the varrock square png in the setup? (11_7)
2013-03-05 13:09:50



2013-03-05 16:34:53
From: BRBCarbon
I made a new custom map as I was having trouble with my old one, it looks like this:
I made a quick script to output SPS_GetMyPos() every second but it always prints out the same value (72, 60), no matter where I stand.
Some pictures:
Anyone know why this is?
2013-03-05 17:19:22
From: rjj95
SPS is debugging your position
2013-03-05 22:39:48
2013-03-06 15:43:48
2013-03-06 19:05:41
From: ineedbot
wat? It maybe debugging his pos, but its spitting out the same coords all the time.
I have the same problem, or near, the coords its spitting out varies from large amounts everytime i rerun the script, I think Jagex did a good job of covering up the minimap from color.
2013-03-08 15:54:12
program spstest2;
{$DEFINE SMART8}
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
var //{path name}
//{delcare the sps variable}
togarden: tpointarray;
status: string;
Procedure P07_DeclarePlayer;
Begin
P07_PlayerName:='';
P07_PlayerPass:='';
end;
procedure paths;
begin
togarden := [point(252, 44),point(252, 44),point(252, 56),point(240, 60),point(228, 72),point(208, 76),point(192, 76),point(160, 80),point(132, 92),point(108, 92),point(72, 80),point(72, 80),point(64, 80)];
end;
begin
SetupSRL;
P07_DeclarePlayer;
SetupP07Include;
sps_setup(runescape_other,['yewrun1']);
ActivateClient;
wait(2000)
If (Not P07_LoggedIn) Then
begin
P07_LogInPlayer;
end;
P07_MakeCompassNorth;
p07_makecameraanglehigh;
writeln('lookingnorth')
sps_walkpath(togarden);
writeln('Walking')
end.
SRL Compiled in 0 msec
Paired with SMART[664]
Checking P07Include VersionNumber
Local : 1.7 / Latest : 1.7
You Have The Latest Version of P07Include
lookingnorthAfter this point it just sits there, and does nothing until I terminate manually.
2013-03-08 19:05:08
2013-03-08 20:44:55
From: vizzyy
Hello,
I am having trouble getting this SPS to work. I've followed the previously posted and lurked around several pages of responses as well and have gotten it to "work." But it doesn't do what I want. It gets me about half way to where I set it up to go, and seems to cycle through the points really really fast. I think it's clicking through all the points but there's nothing to slow it down so it only gets halfway.program spstest2;
{$DEFINE SMART8}
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
var //{path name}
//{delcare the sps variable}
togarden: tpointarray;
status: string;
Procedure P07_DeclarePlayer;
Begin
P07_PlayerName:='';
P07_PlayerPass:='';
end;
procedure paths;
begin
togarden := [point(252, 44),point(252, 44),point(252, 56),point(240, 60),point(228, 72),point(208, 76),point(192, 76),point(160, 80),point(132, 92),point(108, 92),point(72, 80),point(72, 80),point(64, 80)];
end;
begin
SetupSRL;
P07_DeclarePlayer;
SetupP07Include;
sps_setup(runescape_other,['yewrun1']);
ActivateClient;
wait(2000)
If (Not P07_LoggedIn) Then
begin
P07_LogInPlayer;
end;
P07_MakeCompassNorth;
p07_makecameraanglehigh;
writeln('lookingnorth')
sps_walkpath(togarden);
writeln('Walking')
end.
Output when run:After this point it just sits there, and does nothing until I terminate manually.SRL Compiled in 0 msec
Paired with SMART[664]
Checking P07Include VersionNumber
Local : 1.7 / Latest : 1.7
You Have The Latest Version of P07Include
lookingnorth
2013-03-09 02:29:39
From: vizzyy
Hello,
I am having trouble getting this SPS to work. I've followed the previously posted and lurked around several pages of responses as well and have gotten it to "work." But it doesn't do what I want. It gets me about half way to where I set it up to go, and seems to cycle through the points really really fast. I think it's clicking through all the points but there's nothing to slow it down so it only gets halfway.
-snip-
After this point it just sits there, and does nothing until I terminate manually.
repeat
Wait(600);
until(SPS_Blindwalk(Point(###,###)));2013-03-09 12:12:35
From: litoris
From experience, the best way to use SPS is to do
repeat
Wait(600);
until(SPS_Blindwalk(Point(###,###)));
for each point you have.
This way, you don't need to gather millions of points for a straight path, and you can think of each path as a combination of straight paths an gather points this way.
I always use SPS with blindwalk, it's much more fail-safe this way.
2013-03-09 18:00:35
paths;
count:=0;
While count<16 do //length of TPointArray, "toTrees" in this case
begin
test:=[toTrees[count]];
writeln(count);
SPS_WalkPath(test);
Wait(3000);
count:=count+1;
end; count:=0;
repeat
count:=count+1;
points:=points+(toStr(SPS_GetMyPos));
wait(6000);
writeln('1sec left');
wait(1000);
writeln(count);
until (count=10)
writeln(points); 2013-03-09 19:26:20
2013-03-13 08:21:12
program new;
{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I P07Include.Simba}
{$I SPS/p07sps.simba}
Var
myPath:TpointArray;
begin
DeclarePlayers;
SetupSRL;
SPS_Setup(RUNESCAPE_OTHER,['walk']);
SetupP07Include;
ActivateClient;
P07_LoginPlayer;
SPS_GetMyPos;
myPath := [Point(202, 89), Point(202, 94), Point(203, 99), Point(204, 105), Point(204, 109), Point(205, 115), Point(201, 116), Point(197, 118), Point(192, 119), Point(182, 119), Point(178, 120), Point(174, 118), Point(167, 121), Point(160, 124), Point(155, 124), Point(147, 118), Point(140, 120), Point(129, 122), Point(125, 124), Point(123, 137), Point(123, 145), Point(123, 150), Point(126, 156)];
if SPS_WalkPath(myPath) then
Sps_WalkPath(myPath);
end.
2013-03-18 15:27:11
2013-03-26 12:51:56
2013-03-26 14:17:44
From: larsi37
when i try to compile the script i made it opens the p07sps.simba and i get the error:
[Error] C:\Simba\Includes\SPS/p07sps.simba(51:35): Unknown identifier 'P07_MMCX' at line 50
Compiling failed.
what should i do?