Simba Code:
//{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$i sps/sps.simba}
var
SPSAreas: TStringArray;
{--- Change these values ----}
const
SLEEP_INTERVAL = 150; // Interval periods between each location capture
POINT_DIST = 25; // min distance between points captured by program. Shorter distances results in more Points captured.
procedure initArea;
begin
// edit SPS areas as necessary.
SPSAreas := ['11_6','11_7','11_8','12_6','12_7','12_8','13_6','13_7','13_8''12_7'];
end;
{------- End of change---------}
{------- Do not touch below ---------}
var
pointList : TPointArray;
tmp : TPoint;
i1,lastCount : Integer;
procedure printPointList;
var i : Integer;
str : String;
begin
str := '[';
for i := 0 to lastCount - 1 do
begin
str := str + 'Point(' + inttostr(pointList[i].x) + ',' + inttostr(pointList[i].y) + ')';
if i <> (lastCount-1) then str := str + ',';
end;
str := str + '];';
writeln(' ');
writeln(str);
writeln(' ');
end;
begin
ClearDebug;
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := True;
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}
AddOnTerminate('printPointList');
SetupSRL;
initArea;
SPS_Setup(RUNESCAPE_SURFACE,SPSAreas);
lastCount := 0;
repeat
begin
tmp := SPS_getmypos;
if (lastCount = 0) or (Distance(pointList[lastCount - 1].x,pointList[lastCount - 1].y,tmp.x,tmp.y) >= POINT_DIST) then
begin
SetArrayLength(pointList,lastCount + 1);
pointList[lastCount] := tmp;
inc(lastCount);
printPointList;
end;
sleep(SLEEP_INTERVAL);
end;
until (false);
printPointList;
end.
- Start a SMART process (Go to file-> new, then press run)
- Click "disable SMART", then manually login to your player
- Start a new Simba process, then copy and paste script into it
- Use client finder (+) to select to that SMART process you started earlier - the button that looks like a target scope
- Walk the path
- Copy the Point array list in debug box.