SRL Archive - RS3 Outdated / Broken Scripts

[Color][SPS][Alpha] Ape Atoll Agility Course


[Nathan]

2011-11-04 20:16:09

Script hasn't been updated since runescape update and most likely will not be. There is a new Ape Atoll Agility script being written by another author currently.
The script is finally starting to take shape. SRL is setup in it and it now has a progress report.

SPS is required, SMART is recommended.

Start the script in the Ape Atoll Agility Course and it will do the rest.

Script doesn't eat yet, so if you have a low agility/hp level be careful.

Here is the code:

program ApeAtolAgility;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$I SRL/SRL/misc/paintsmart.scar}

// author: [Nathan]
// Version: 1.1 Beta
// Runs ape atol agility course
// Start in the course with a ninja greegree equipped
// Does not eat currently so only run if your are 70+ agility
// No antiban and no breaks yet, be cautious


//SETUP
const
SERVER = 114; //Replace with desired server number
Username = 'user';
Password = 'pass';

//Vars
var i,x,y,ourLoc:LongInt;
var Spots : Array [0..5] of Integer;
var p:TPointArray;
var stone,passed:Integer;
var startingExp,currentExp,laps,gainedExp:Integer;




function mmBlack:Boolean;
var blackSpot : Array [0..3] of TPoint;
var color : Array [0..3] of Integer;
var i,kk,res:Integer;
begin
result:= false;
blackSpot[0]:= Point(587,43);
blackSpot[1]:= Point(667,55);
blackSpot[2]:= Point(577,115);
blackSpot[3]:= Point(672,122);

color[0]:= 512;
color[1]:= 393990;
color[2]:= 0;
color[3]:= 65537;
res:=0;
for i:=0 to 3 do
begin
for kk:=0 to 3 do
begin
if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
begin
res:= res +1;
end;
end;
end;

if(res > 3) then
result:= true;
end;

Procedure sleepWhileMMBlack();
var t:Integer;

begin
t:=0;
while( (mmBlack) and (t < 25)) do
begin
sleep(250+random(5))
t:=t+1;
writeln('SLeeping while mm is blacked');
end;
end;

function distanceTo(var point:TPoint): Extended;
var myLoc:TPoint;
begin
myLoc:= SPS_GetMyPos();
Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
end;


procedure FreeAll;
begin
ClearRSCanvas(SMART_Canvas.canvas);
//SMART_FreeDebug; <- contains a bug, don't use this.
writeln('free');
end;

procedure Paint;
begin

SMART_DrawBox(IntToBox(5,35,350,120));
SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

end;

function checkAgility:Integer;
begin
currentExp:=GetXP(SKILL_AGILITY);

if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);

result:=currentExp;

end;



//Rewrite of FindObjEx to try a max of 12 times before giving up
//Useful in case we move and script doesn't detect it
function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
Tol, Step, xs, ys, xe, ye: Integer): Boolean;
var
CurX, CurY, a, b, c, i, zzz: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
begin
zzz:= zzz+1;
Start := True;
Break;
end;
end;
if (Start) then
begin
CurX := Round((xs + xe) div 2);
CurY := Round((ys + ye) div 2) - Step;
i := 1;
repeat
for c := 1 to i do
begin
case a of
0: begin //To allow for beginning offset and loop
a := a + 1;
i := 0;
CurY := CurY + Step;
end;
1: CurX := CurX + Step;
2: CurY := CurY - Step;
3: CurX := CurX - Step;
4: CurY := CurY + Step;
end;
if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
begin
try
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
begin
MMouse(cx, cy, 3, 3);
zzz:= zzz+1;
writeln('zzz:');
writeln(zzz);
If (WaitUptextMulti(Text, 300)) then
begin
GetMousePos(cx, cy);
Result := True;
Exit;
end;
end;
end;
except
end;
end;
end;
a := a + 1;
if a mod 5 = 0 then a := 1;
if (a = 1) or (a = 3) then i := i + 1;
until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
end;
end;

procedure sleepWhileMoving();
var t:Integer;

begin
t:=0;
while( (IsMoving) and (t < 12)) do
begin
sleep(250+random(5))
writeln('Sleeping while moving');
t:=t+1;
end;
end;

function getLocation(): integer;
var myPos, First, Second,Fourth, Fourth2: TPoint;
var x,y:LongInt;
begin
result := 0;
First := Point(2835, 5670); //Befoer the Stepping stone
Second := Point(2830, 5670); //On the island, needs to climb tree
//Third -> On top, needs to click on monkey bars
Fourth := Point(2805,5670); //Needs to climb skull wall
Fourth2 := Point(2805,5675); //Needs to climb skull wall
//Firth -> Is player in [] area?
//Fifth -> Area 2, slide down vine

Spots[0]:=0;
Spots[1]:=0;
Spots[2]:=0;
Spots[3]:=0;
Spots[4]:=0;
Spots[5]:=0;

myPos := SPS_GetMyPos();


if(distanceTo(First) < 15) then
begin
Spots[0]:=1;
result:=1;
end;
if((myPos = Second) or(myPos.x=2830)) then
begin
Spots[1]:=1;
result:=2;
end;
if(passed > 3) then
begin
Spots[1]:=1;
result:=2;
end;
if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
begin
if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
begin
Spots[2]:=1;
result:=3;
end;
end;
if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
begin
Spots[4]:=1;
result:=5;
end;
if( (myPos = Fourth) or (myPos = Fourth2) ) then
begin
Spots[3]:=1;
result:=4;
end;
if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
begin
Spots[5]:=1;
result:=6;
end;

if(Spots[2] = 1) then
result:=3;
end;

procedure handleObstacle(spot: integer);
var monkeycolor,treecolor:Integer;
var waste:T2DExtendedArray;
var tree5:TPoint;
begin


if (spot = 0) then
begin
writeln('Walk to beginning Point(2835, 5670)');
SPS_WalkToPos(Point(2835, 5670));
sleepWhileMoving();
end;

if (spot = 1) then
begin
writeln('Click on stepping stone');
if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
passed:=passed+1;
Mouse(x, y, 3, 3, True);
sleep(2500+random(175));
sleepWhileMoving();
end;
end;

if (spot = 2) then
begin
writeln('Climb tree');
passed:=0;
if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 3, 3, True);
sleep(2200+random(150));
sleepWhileMoving();
end;
end;

if (spot = 3) then
begin
writeln('Click on monkey bars');
monkeycolor:= 2442074;
if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
begin
Mouse(x, y, 3, 3, True);
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;

if (spot = 4) then
begin
writeln('Climb skull wall');
if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
begin
Mouse(x, y, 2, 2, True);
sleepWhileMoving();
sleep(100+random(50));
end;
end;

if (spot = 5) then
begin
tree5:= Point(2820, 5710);

if(distanceTo(tree5) > 13) then
begin
writeln('Walk to lower spot (2820, 5705)');

SPS_WalkToPos(Point(2820, 5710));
sleepWhileMoving();
sleep(100+random(50));
end;
if(distanceTo(tree5) <14) then
begin
writeln('Click tree (swing rope)');
if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
begin
Mouse(x, y, 2, 2, True);
sleep(250+random(250));
sleepWhileMoving();
end;
end;
end;

if (spot = 6) then
begin
writeln('click climb down tree');

if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
begin
Mouse(x, y, 2, 2, True);
laps:=laps+1;
sleep(1000+random(350));
if(Random(100) > 75) then
checkAgility;
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;
end;


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := 'player';
Players[0].Active := True;

end;

begin

Smart_Server := SERVER;
Smart_Members := True;

//Setup
SetupSRL;
DeclarePlayers;
SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
AddOnTerminate('FreeAll');

while not(LoggedIn) do
sleep(1000);

startingExp:= checkAgility();
Writeln('Starting exp: ' + inttostr(startingExp));
while(true) do //Main loop
begin
gainedExp:= (currentExp-startingExp);
FindNormalRandoms();
ourLoc:= getLocation();
Writeln(Spots);
Paint;
if(ourLoc = 0) then
begin
sleep(Random(300)+250);
ourLoc:= getLocation();
end;
handleObstacle(ourLoc);
sleep(10+random(90));
sleepWhileMoving();
end

end.

-nathan

Versus The World

2011-11-05 01:36:45

Doesnt work as far as i can tell, but Im probably using it wrong

Mr. Bottomtooth

2011-11-05 02:09:11

SRL uses Simba these days, not scar.

Kyle Undefined

2011-11-05 02:12:40

^ and you really need to work on your standards. This tutorial should help.

Keep it up man, at least you're trying! :)

[Nathan]

2011-11-05 16:53:36

From: Versus The World
Doesnt work as far as i can tell, but Im probably using it wrong

In my testing it went 30 laps in a row without messing up and then I stopped using it…

From: Mr. Bottomtooth
SRL uses Simba these days, not scar.

My bad, I used the wrong word I guess, I'm used to scar days, its made for simba.

From: Camo Developer
^ and you really need to work on your standards. This tutorial should help.

Keep it up man, at least you're trying! :)

I've been spoiled with using eclipse for java and just being able to press a button and having it do it for me ;)

Tickyy

2011-11-05 17:15:00

Don't use code tags, use simba tags, like this

program ApeAtolAgility;
//author: [Nathan]
{.Include SRL/SRL.scar}
{$i sps/sps.simba}
var x,y,ourLoc:LongInt;

function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
Tol, Step, xs, ys, xe, ye: Integer): Boolean;
var
CurX, CurY, a, b, c, i, zzz: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
begin
zzz:= zzz+1;
Start := True;
Break;
end;
end;
if (Start) then
begin
CurX := Round((xs + xe) div 2);
CurY := Round((ys + ye) div 2) - Step;
i := 1;
repeat
for c := 1 to i do
begin
case a of
0: begin //To allow for beginning offset and loop
a := a + 1;
i := 0;
CurY := CurY + Step;
end;
1: CurX := CurX + Step;
2: CurY := CurY - Step;
3: CurX := CurX - Step;
4: CurY := CurY + Step;
end;
if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
begin
try
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
begin
MMouse(cx, cy, 3, 3);
zzz:= zzz+1;
writeln('zzz:');
writeln(zzz);
If (WaitUptextMulti(Text, 300)) then
begin
GetMousePos(cx, cy);
Result := True;
Exit;
end;
end;
end;
except
end;
end;
end;
a := a + 1;
if a mod 5 = 0 then a := 1;
if (a = 1) or (a = 3) then i := i + 1;
until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
end;
end;
procedure sleepWhileMoving();
var a,b,c,d:integer;
var movez:Boolean;
begin
writeln('Sleep while moving');
movez:= False;
a:= GetColor(60,70);
b:= GetColor(280,80);
c:= GetColor(154,227);
d:= GetColor(428,268);
sleep(100+random(10));
if not(a = GetColor(60,70)) then
movez:= True;
if not(b = GetColor(280,80)) then
movez:= True;
if not(c = GetColor(154,227)) then
movez:= True;
if not(d = GetColor(428,268)) then
movez:= True;

if(movez=false) then
Exit;

a:= GetColor(60,70);
b:= GetColor(280,80);
c:= GetColor(154,227);
d:= GetColor(428,268);
while not( ( a = GetColor(60,70)) or ( b = GetColor(280,80)) or ( c = GetColor(154,227)) or ( d = GetColor(428,268)) ) do
begin
sleep(100+random(100));
a:= GetColor(60,70);
b:= GetColor(280,80);
c:= GetColor(154,227);
d:= GetColor(428,268);
end


end;

function getLocation(): integer;
var myPos, First, Second,Fourth, Fourth2: TPoint;
var x,y:LongInt;
begin
result := 0;
First := Point(2835, 5670); //Befoer the Stepping stone
Second := Point(2830, 5670); //On the island, needs to climb tree
//Third -> On top, needs to click on monkey bars
Fourth := Point(2805,5670); //Needs to climb skull wall
Fourth2 := Point(2805,5675); //Needs to climb skull wall
//Firth -> Is player in [] area?
//Fifth -> Area 2, slide down vine



myPos := SPS_GetMyPos();

if(myPos = First) then
result := 1;
if(myPos = Second) then
result := 2;
if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
result := 3;
if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
result := 5;
if( (myPos = Fourth) or (myPos = Fourth2) ) then
result := 4;
if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
result := 6;

end;

function stableLoction(): integer;
var a,b,c,z:integer;
begin
z:= 0;
a := getLocation();
b := getLocation();
c := getLocation();
if( (a=b) and (b=c) ) then
result := a;
while(not( (a=b) or (a=c) )) do
begin
z := z+1;
a := getLocation();
b := getLocation();
c := getLocation();
if( (a=b) and (b=c) ) then
result := a;

if(z>10) then
begin
writeln('Cannot find a stable location in 10 tries');
Logout();
end;

end
end;

procedure handleObstacle(spot: integer);
var me:TPoint;
var ran:integer;
begin

if (spot = 0) then
begin
writeln('Walk to beginning Point(2835, 5670)');
SPS_WalkToPos(Point(2835, 5670));
end;

if (spot = 1) then
begin
writeln('Click on stepping stone TODO make area zone not tile');
if FindObjCustom(x, y, ['ump', 'tone'], [1592406, 1658456], 5) then
begin
Mouse(x, y, 3, 3, True);
sleep(1100+random(100));
sleepWhileMoving();
end;
end;
if (spot = 2) then
begin
writeln('Climb tree');
if FindObjEx2(x, y, ['imb', 'ical'], [3828367, 4820917, 4224414], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 3, 3, True);
sleep(1300+random(150));
sleepWhileMoving();
end;
end;
if (spot = 3) then
begin
writeln('Click on monkey bars');
if FindObjEx2(x, y, ['wing', 'oss'], [3759215, 5210009], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 3, 3, True);
sleep(2300+random(250));
sleepWhileMoving();
end;
end;
if (spot = 4) then
begin
writeln('Climb skull wall');
if FindObjEx2(x, y, ['kull', 'ope'], [2512736, 2776937], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 2, 2, True);
sleep(1300+random(250));
sleepWhileMoving();
end;
end;
if (spot = 5) then
begin
writeln('Walk to lower spot (2820, 5705)');
writeln('Click tree (swing rope)');
SPS_WalkToPos(Point(2820, 5710));
sleepWhileMoving();
sleep(1800+random(50));
if FindObjEx2(x, y, ['ing', 'ope'], [1860447, 3439209], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 2, 2, True);
sleep(2700+random(250));
sleepWhileMoving();
end;
end;
if (spot = 6) then
writeln('click climb down tree');
if FindObjEx2(x, y, ['own'], [3764366, 3764366], 5, 50, 224, 3, 403, 104) then
begin
Mouse(x, y, 2, 2, True);
sleep(3300+random(250));
sleepWhileMoving();
end;

end;




begin
SetupSRL;

SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
while(true) do
begin
ourLoc:= getLocation();
if(ourLoc = 0) then
begin
sleep(Random(300)+250);
ourLoc:= getLocation();
end;
handleObstacle(ourLoc);
sleep(10+random(90));
sleepWhileMoving();


end


end.

[.Simba] code [./Simba] Without dot

Nava2

2011-11-05 18:09:22

Changed the first post to simba tags.

Its great to see development, keep it up!

Versus The World

2011-11-06 00:10:28

Whats your plans for full release? And its working great atm, great script.

marpis

2011-11-06 14:42:02

Yeee! Someone really is using SPS! :)
I suggest you don't rely on SPS getting your exact position everytime, it might very well be 1 tile off sometimes. I suggest you do something like this:


function getMyLocation: integer;
var
P: TPoint;
Points: TPointArray;
i, d, tmp: integer;
begin
Result := -1;
Points := [Point(1234, 1234), Point(4321, 4321), Point(4767, 4576)];
P := SPS_GetMyPos;
d := 99999;
for i := 0 to 2 do
begin
tmp := Distance(Points[i].x, Points[i].y, P.x, P.y);
if tmp < d then
begin
d := tmp;
result := i;
end;
end;
end;


it would check the nearest tile to you and return that index as your 'current location' :)

PremiumBotter

2011-11-07 00:43:31

doesnt work

[Nathan]

2011-11-07 01:05:52

From: Versus The World
Whats your plans for full release? And its working great atm, great script.

Plans for full release are after my micro bio test on friday when I'll actually have some free time again

From: marpis
Yeee! Someone really is using SPS! :)
I suggest you don't rely on SPS getting your exact position everytime, it might very well be 1 tile off sometimes. I suggest you do something like this:


function getMyLocation: integer;
var
P: TPoint;
Points: TPointArray;
i, d, tmp: integer;
begin
Result := -1;
Points := [Point(1234, 1234), Point(4321, 4321), Point(4767, 4576)];
P := SPS_GetMyPos;
d := 99999;
for i := 0 to 2 do
begin
tmp := Distance(Points[i].x, Points[i].y, P.x, P.y);
if tmp < d then
begin
d := tmp;
result := i;
end;
end;
end;


it would check the nearest tile to you and return that index as your 'current location' :)

Coming back to scar/simba from java scripting, I am incredibly impressed with SPS, actually, before I found out SPS existed, I was planning on writing this script using the different minimap markers as symbols and calculate the distance to each given one and use that to generate a location in the given area, but I found out SPS more or less already does that for me! Thanks for the tip

From: Versus The World
Whats your plans for full release? And its working great atm, great script.

would disagree with you
From: PremiumBotter
doesnt work


From: Nava2
Changed the first post to simba tags.

Its great to see development, keep it up!


Thanks and thanks

Versus The World

2011-11-07 02:25:56

Disagree with what?

Appletart

2011-11-08 01:41:29

From: Versus The World
Disagree with what?


He probably meant to say that to the quote, "doesn't work".

grats

2011-11-08 02:07:00

he was saying that premiumbotter disagrees with you.. although premiumbotter's clearly wrong since it is working, lol.

Versus The World

2011-11-08 06:43:59

ahh lol i get it now haha, yeh scripts running great, gotten me from 70-78 so far

qwerty4ever

2011-11-08 16:48:08

When I try to Run/Compile I get this error:

[Error] (34:17): Unknown type 'T4DIntegerArray' at line 33
Compiling failed.

Help?

Blumblebee

2011-11-08 18:05:24

From: qwerty4ever
When I try to Run/Compile I get this error:

[Error] (34:17): Unknown type 'T4DIntegerArray' at line 33
Compiling failed.

Help?


Correct me if I'm wrong but I think you don't have SRL installed correctly (the plugins I think).

qwerty4ever

2011-11-08 18:34:57

From: Blumblebee
Correct me if I'm wrong but I think you don't have SRL installed correctly (the plugins I think).


How do I install SRL correctly? I enabled it in Extensions and updated it.

qwerty4ever

2011-11-09 16:12:19

Alright, I got it to work. However, it gets stuck immediately before the first obstacle: the stepping-stone. It gets to the right position just before the stepping-stone, but then the mouse just hovers above the Tropical Tree trunk completely ignoring the stone. Maybe the coordinates are different? Maybe I'm doing something wrong? I am in MIN Graphics with a FIXED screen size.

[Nathan]

2011-11-10 17:46:21

New version released experimenting with DTMs to find the monkey bars, still a work in progress, more stable now though.

[Nathan]

2011-11-11 04:16:32

Version 1.0 Beta Released

The script has been working pretty flawlessly for me for ~ 45 minutes now, made quite a few changes. I would now say the script is actually useable.

Still won't eat, sorry, not a big priority for me with 90+ HP and 73 agility…

If you test it let me know of any issues its having.

This version also uses SMART now

vashanddou

2011-11-11 08:54:16

yeah i keep getting this

error line 33 on SPS " SPS_Worldmap: T4DIntegerArray; "


[Hint] C:\Users\Alex\Desktop\Simba\Includes\SRL/SRL/core/antirandoms/pinball.scar(37:3): Variable 'MA' never used at line 36
[Error] C:\Users\Alex\Desktop\Simba\Includes\sps/sps.simba(34:17): Unknown type 'T4DIntegerArray' at line 33
Compiling failed.
[Error] (91:29): Unknown type 'T3DIntegerArray' at line 90
Compiling failed.
[Hint] C:\Users\Alex\Desktop\Simba\Includes\SRL/SRL/core/antirandoms/pinball.scar(37:3): Variable 'MA' never used at line 36
[Error] C:\Users\Alex\Desktop\Simba\Includes\sps/sps.simba(34:17): Unknown type 'T4DIntegerArray' at line 33
Compiling failed.

qwerty4ever

2011-11-11 11:21:20

The script is working flawlessly so far (10 mins). The only thing I would point out is that it sometimes takes an unusually long time to climb the monkey bars and sometimes, after it hops over the stepping-stone, it tries to click it again (not that big of a problem).

Also, the rate at which it updates experience is slow (5+ mins per update), but that is not a primary problem and could be dealt with later if needed.

Overall it is doing very well. Has not stopped yet. But, overall speed could need a boost seeing as it takes around 2+ mins to complete a lap which, if you never fail, is around 16k experience per hour. Still, as this is one of the only agility bots that still works, it is pretty good.

Keep up the excellent work Nathan!

[Nathan]

2011-11-11 11:39:57

From: qwerty4ever
The script is working flawlessly so far (10 mins). The only thing I would point out is that it sometimes takes an unusually long time to climb the monkey bars and sometimes, after it hops over the stepping-stone, it tries to click it again (not that big of a problem).

Also, the rate at which it updates experience is slow (5+ mins per update), but that is not a primary problem and could be dealt with later if needed.

Overall it is doing very well. Has not stopped yet. But, overall speed could need a boost seeing as it takes around 2+ mins to complete a lap which, if you never fail, is around 16k experience per hour. Still, as this is one of the only agility bots that still works, it is pretty good.

Keep up the excellent work Nathan!

I've spent countless hours on the monkeybars, everything is the same color up there, its pretty hard to get that aspect to work… Because to get experience you actually have to hover the stat, I wanted to make it realistic, the average person isn't going to check their exp every 10 seconds, so neither can the script :/

Thanks for testing and commenting!

qwerty4ever

2011-11-11 11:52:32

From: [Nathan]
I've spent countless hours on the monkeybars, everything is the same color up there, its pretty hard to get that aspect to work… Because to get experience you actually have to hover the stat, I wanted to make it realistic, the average person isn't going to check their exp every 10 seconds, so neither can the script :/

Thanks for testing and commenting!


Oh, the experience thing makes sense; I didn't think about that. About the monkey bars, yeah, that kind of sucks.

And, it's a pleasure to test; thank you for creating the script!

EDIT: When I do the course manually, I often times click an obstacle many times so that that I can finish faster. What if you set the script to click randomly in the general vicinity of the money bars?

neley

2011-11-12 09:11:37

Any way you could put an antiban on this?

d34th20n

2011-11-12 10:53:46

program ApeAtolAgility;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$I SRL/SRL/misc/paintsmart.scar}

// author: [Nathan]
// Version: 1.1 Beta
// Runs ape atol agility course
// Start in the course with a ninja greegree equipped
// Does not eat currently so only run if your are 70+ agility


//SETUP
const
SERVER = 114; //Replace with desired server number
Username = 'user';
Password = 'pass';

//Vars
var i,x,y,ourLoc:LongInt;
var Spots : Array [0..5] of Integer;
var p:TPointArray;
var stone,passed:Integer;
var startingExp,currentExp,laps,gainedExp:Integer;




function mmBlack:Boolean;
var blackSpot : Array [0..3] of TPoint;
var color : Array [0..3] of Integer;
var i,kk,res:Integer;
begin
result:= false;
blackSpot[0]:= Point(587,43);
blackSpot[1]:= Point(667,55);
blackSpot[2]:= Point(577,115);
blackSpot[3]:= Point(672,122);

color[0]:= 512;
color[1]:= 393990;
color[2]:= 0;
color[3]:= 65537;
res:=0;
for i:=0 to 3 do
begin
for kk:=0 to 3 do
begin
if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
begin
res:= res +1;
end;
end;
end;

if(res > 3) then
result:= true;
end;

procedure antiban;
var
i:Integer;
begin
i := Random(4);
case i of
0: HoverSkill('att',False);
1: RandomAngle(Random(360));
2: BoredHuman;
3: ExamineInv;
end;
end;

begin
SetupSRL;
repeat
Wait(20000+Random(60000));
SleepAndMoveMouse;
until(false);
end.

Procedure sleepWhileMMBlack();
var t:Integer;

begin
t:=0;
while( (mmBlack) and (t < 25)) do
begin
sleep(250+random(5))
t:=t+1;
writeln('SLeeping while mm is blacked');
end;
end;

function distanceTo(var point:TPoint): Extended;
var myLoc:TPoint;
begin
myLoc:= SPS_GetMyPos();
Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
end;


procedure FreeAll;
begin
ClearRSCanvas(SMART_Canvas.canvas);
//SMART_FreeDebug; <- contains a bug, don't use this.
writeln('free');
end;

procedure Paint;
begin

SMART_DrawBox(IntToBox(5,35,350,120));
SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

end;

function checkAgility:Integer;
begin
currentExp:=GetXP(SKILL_AGILITY);

if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);

result:=currentExp;

end;



//Rewrite of FindObjEx to try a max of 12 times before giving up
//Useful in case we move and script doesn't detect it
function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
Tol, Step, xs, ys, xe, ye: Integer): Boolean;
var
CurX, CurY, a, b, c, i, zzz: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
begin
zzz:= zzz+1;
Start := True;
Break;
end;
end;
if (Start) then
begin
CurX := Round((xs + xe) div 2);
CurY := Round((ys + ye) div 2) - Step;
i := 1;
repeat
for c := 1 to i do
begin
case a of
0: begin //To allow for beginning offset and loop
a := a + 1;
i := 0;
CurY := CurY + Step;
end;
1: CurX := CurX + Step;
2: CurY := CurY - Step;
3: CurX := CurX - Step;
4: CurY := CurY + Step;
end;
if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
begin
try
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
begin
MMouse(cx, cy, 3, 3);
zzz:= zzz+1;
writeln('zzz:');
writeln(zzz);
If (WaitUptextMulti(Text, 300)) then
begin
GetMousePos(cx, cy);
Result := True;
Exit;
end;
end;
end;
except
end;
end;
end;
a := a + 1;
if a mod 5 = 0 then a := 1;
if (a = 1) or (a = 3) then i := i + 1;
until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
end;
end;

procedure sleepWhileMoving();
var t:Integer;

begin
t:=0;
while( (IsMoving) and (t < 12)) do
begin
sleep(250+random(5))
writeln('Sleeping while moving');
t:=t+1;
end;
end;

function getLocation(): integer;
var myPos, First, Second,Fourth, Fourth2: TPoint;
var x,y:LongInt;
begin
result := 0;
First := Point(2835, 5670); //Befoer the Stepping stone
Second := Point(2830, 5670); //On the island, needs to climb tree
//Third -> On top, needs to click on monkey bars
Fourth := Point(2805,5670); //Needs to climb skull wall
Fourth2 := Point(2805,5675); //Needs to climb skull wall
//Firth -> Is player in [] area?
//Fifth -> Area 2, slide down vine

Spots[0]:=0;
Spots[1]:=0;
Spots[2]:=0;
Spots[3]:=0;
Spots[4]:=0;
Spots[5]:=0;

myPos := SPS_GetMyPos();


if(distanceTo(First) < 15) then
begin
Spots[0]:=1;
result:=1;
end;
if((myPos = Second) or(myPos.x=2830)) then
begin
Spots[1]:=1;
result:=2;
end;
if(passed > 3) then
begin
Spots[1]:=1;
result:=2;
end;
if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
begin
if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
begin
Spots[2]:=1;
result:=3;
end;
end;
if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
begin
Spots[4]:=1;
result:=5;
end;
if( (myPos = Fourth) or (myPos = Fourth2) ) then
begin
Spots[3]:=1;
result:=4;
end;
if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
begin
Spots[5]:=1;
result:=6;
end;

if(Spots[2] = 1) then
result:=3;
end;

procedure handleObstacle(spot: integer);
var monkeycolor,treecolor:Integer;
var waste:T2DExtendedArray;
var tree5:TPoint;
begin


if (spot = 0) then
begin
writeln('Walk to beginning Point(2835, 5670)');
SPS_WalkToPos(Point(2835, 5670));
sleepWhileMoving();
end;

if (spot = 1) then
begin
writeln('Click on stepping stone');
if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
passed:=passed+1;
Mouse(x, y, 3, 3, True);
sleep(2500+random(175));
sleepWhileMoving();
end;
end;

if (spot = 2) then
begin
writeln('Climb tree');
passed:=0;
if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 3, 3, True);
sleep(2200+random(150));
sleepWhileMoving();
end;
end;

if (spot = 3) then
begin
writeln('Click on monkey bars');
monkeycolor:= 2442074;
if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
begin
Mouse(x, y, 3, 3, True);
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;

if (spot = 4) then
begin
writeln('Climb skull wall');
if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
begin
Mouse(x, y, 2, 2, True);
sleepWhileMoving();
sleep(100+random(50));
end;
end;

if (spot = 5) then
begin
tree5:= Point(2820, 5710);

if(distanceTo(tree5) > 13) then
begin
writeln('Walk to lower spot (2820, 5705)');

SPS_WalkToPos(Point(2820, 5710));
sleepWhileMoving();
sleep(100+random(50));
end;
if(distanceTo(tree5) <14) then
begin
writeln('Click tree (swing rope)');
if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
begin
Mouse(x, y, 2, 2, True);
sleep(250+random(250));
sleepWhileMoving();
end;
end;
end;

if (spot = 6) then
begin
writeln('click climb down tree');

if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
begin
Mouse(x, y, 2, 2, True);
laps:=laps+1;
sleep(1000+random(350));
if(Random(100) > 75) then
checkAgility;
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;
end;


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := 'player';
Players[0].Active := True;

end;

begin

Smart_Server := SERVER;
Smart_Members := True;

//Setup
SetupSRL;
DeclarePlayers;
SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
AddOnTerminate('FreeAll');

while not(LoggedIn) do
sleep(1000);

startingExp:= checkAgility();
Writeln('Starting exp: ' + inttostr(startingExp));
while(true) do //Main loop
begin
gainedExp:= (currentExp-startingExp);
FindNormalRandoms();
ourLoc:= getLocation();
Writeln(Spots);
Paint;
if(ourLoc = 0) then
begin
sleep(Random(300)+250);
ourLoc:= getLocation();
end;
handleObstacle(ourLoc);
sleep(10+random(90));
sleepWhileMoving();
end

end.

i think this would suffice as a Anti-banned version.


let me know how you get on with it

[Nathan]

2011-11-12 14:01:00

From: d34th20n
program ApeAtolAgility;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$I SRL/SRL/misc/paintsmart.scar}

// author: [Nathan]
// Version: 1.1 Beta
// Runs ape atol agility course
// Start in the course with a ninja greegree equipped
// Does not eat currently so only run if your are 70+ agility


//SETUP
const
SERVER = 114; //Replace with desired server number
Username = 'user';
Password = 'pass';

//Vars
var i,x,y,ourLoc:LongInt;
var Spots : Array [0..5] of Integer;
var p:TPointArray;
var stone,passed:Integer;
var startingExp,currentExp,laps,gainedExp:Integer;




function mmBlack:Boolean;
var blackSpot : Array [0..3] of TPoint;
var color : Array [0..3] of Integer;
var i,kk,res:Integer;
begin
result:= false;
blackSpot[0]:= Point(587,43);
blackSpot[1]:= Point(667,55);
blackSpot[2]:= Point(577,115);
blackSpot[3]:= Point(672,122);

color[0]:= 512;
color[1]:= 393990;
color[2]:= 0;
color[3]:= 65537;
res:=0;
for i:=0 to 3 do
begin
for kk:=0 to 3 do
begin
if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
begin
res:= res +1;
end;
end;
end;

if(res > 3) then
result:= true;
end;

procedure antiban;
var
i:Integer;
begin
i := Random(4);
case i of
0: HoverSkill('att',False);
1: RandomAngle(Random(360));
2: BoredHuman;
3: ExamineInv;
end;
end;

begin
SetupSRL;
repeat
Wait(20000+Random(60000));
SleepAndMoveMouse;
until(false);
end.

Procedure sleepWhileMMBlack();
var t:Integer;

begin
t:=0;
while( (mmBlack) and (t < 25)) do
begin
sleep(250+random(5))
t:=t+1;
writeln('SLeeping while mm is blacked');
end;
end;

function distanceTo(var point:TPoint): Extended;
var myLoc:TPoint;
begin
myLoc:= SPS_GetMyPos();
Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
end;


procedure FreeAll;
begin
ClearRSCanvas(SMART_Canvas.canvas);
//SMART_FreeDebug; <- contains a bug, don't use this.
writeln('free');
end;

procedure Paint;
begin

SMART_DrawBox(IntToBox(5,35,350,120));
SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

end;

function checkAgility:Integer;
begin
currentExp:=GetXP(SKILL_AGILITY);

if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);

result:=currentExp;

end;



//Rewrite of FindObjEx to try a max of 12 times before giving up
//Useful in case we move and script doesn't detect it
function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
Tol, Step, xs, ys, xe, ye: Integer): Boolean;
var
CurX, CurY, a, b, c, i, zzz: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
begin
zzz:= zzz+1;
Start := True;
Break;
end;
end;
if (Start) then
begin
CurX := Round((xs + xe) div 2);
CurY := Round((ys + ye) div 2) - Step;
i := 1;
repeat
for c := 1 to i do
begin
case a of
0: begin //To allow for beginning offset and loop
a := a + 1;
i := 0;
CurY := CurY + Step;
end;
1: CurX := CurX + Step;
2: CurY := CurY - Step;
3: CurX := CurX - Step;
4: CurY := CurY + Step;
end;
if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
begin
try
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
begin
MMouse(cx, cy, 3, 3);
zzz:= zzz+1;
writeln('zzz:');
writeln(zzz);
If (WaitUptextMulti(Text, 300)) then
begin
GetMousePos(cx, cy);
Result := True;
Exit;
end;
end;
end;
except
end;
end;
end;
a := a + 1;
if a mod 5 = 0 then a := 1;
if (a = 1) or (a = 3) then i := i + 1;
until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
end;
end;

procedure sleepWhileMoving();
var t:Integer;

begin
t:=0;
while( (IsMoving) and (t < 12)) do
begin
sleep(250+random(5))
writeln('Sleeping while moving');
t:=t+1;
end;
end;

function getLocation(): integer;
var myPos, First, Second,Fourth, Fourth2: TPoint;
var x,y:LongInt;
begin
result := 0;
First := Point(2835, 5670); //Befoer the Stepping stone
Second := Point(2830, 5670); //On the island, needs to climb tree
//Third -> On top, needs to click on monkey bars
Fourth := Point(2805,5670); //Needs to climb skull wall
Fourth2 := Point(2805,5675); //Needs to climb skull wall
//Firth -> Is player in [] area?
//Fifth -> Area 2, slide down vine

Spots[0]:=0;
Spots[1]:=0;
Spots[2]:=0;
Spots[3]:=0;
Spots[4]:=0;
Spots[5]:=0;

myPos := SPS_GetMyPos();


if(distanceTo(First) < 15) then
begin
Spots[0]:=1;
result:=1;
end;
if((myPos = Second) or(myPos.x=2830)) then
begin
Spots[1]:=1;
result:=2;
end;
if(passed > 3) then
begin
Spots[1]:=1;
result:=2;
end;
if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
begin
if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
begin
Spots[2]:=1;
result:=3;
end;
end;
if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
begin
Spots[4]:=1;
result:=5;
end;
if( (myPos = Fourth) or (myPos = Fourth2) ) then
begin
Spots[3]:=1;
result:=4;
end;
if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
begin
Spots[5]:=1;
result:=6;
end;

if(Spots[2] = 1) then
result:=3;
end;

procedure handleObstacle(spot: integer);
var monkeycolor,treecolor:Integer;
var waste:T2DExtendedArray;
var tree5:TPoint;
begin


if (spot = 0) then
begin
writeln('Walk to beginning Point(2835, 5670)');
SPS_WalkToPos(Point(2835, 5670));
sleepWhileMoving();
end;

if (spot = 1) then
begin
writeln('Click on stepping stone');
if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
passed:=passed+1;
Mouse(x, y, 3, 3, True);
sleep(2500+random(175));
sleepWhileMoving();
end;
end;

if (spot = 2) then
begin
writeln('Climb tree');
passed:=0;
if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 3, 3, True);
sleep(2200+random(150));
sleepWhileMoving();
end;
end;

if (spot = 3) then
begin
writeln('Click on monkey bars');
monkeycolor:= 2442074;
if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
begin
Mouse(x, y, 3, 3, True);
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;

if (spot = 4) then
begin
writeln('Climb skull wall');
if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
begin
Mouse(x, y, 2, 2, True);
sleepWhileMoving();
sleep(100+random(50));
end;
end;

if (spot = 5) then
begin
tree5:= Point(2820, 5710);

if(distanceTo(tree5) > 13) then
begin
writeln('Walk to lower spot (2820, 5705)');

SPS_WalkToPos(Point(2820, 5710));
sleepWhileMoving();
sleep(100+random(50));
end;
if(distanceTo(tree5) <14) then
begin
writeln('Click tree (swing rope)');
if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
begin
Mouse(x, y, 2, 2, True);
sleep(250+random(250));
sleepWhileMoving();
end;
end;
end;

if (spot = 6) then
begin
writeln('click climb down tree');

if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
begin
Mouse(x, y, 2, 2, True);
laps:=laps+1;
sleep(1000+random(350));
if(Random(100) > 75) then
checkAgility;
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;
end;


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := 'player';
Players[0].Active := True;

end;

begin

Smart_Server := SERVER;
Smart_Members := True;

//Setup
SetupSRL;
DeclarePlayers;
SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
AddOnTerminate('FreeAll');

while not(LoggedIn) do
sleep(1000);

startingExp:= checkAgility();
Writeln('Starting exp: ' + inttostr(startingExp));
while(true) do //Main loop
begin
gainedExp:= (currentExp-startingExp);
FindNormalRandoms();
ourLoc:= getLocation();
Writeln(Spots);
Paint;
if(ourLoc = 0) then
begin
sleep(Random(300)+250);
ourLoc:= getLocation();
end;
handleObstacle(ourLoc);
sleep(10+random(90));
sleepWhileMoving();
end

end.

i think this would suffice as a Anti-banned version.


let me know how you get on with it


That script won't work, random angles will mess it up :)

Don't worry, antiban will be the next thing I work on, my account needs ~ 30 hours of agility left and I'm not doing that without some sort of antiban.

d34th20n

2011-11-12 14:38:16

ill modify again, ill remove random angles and change my hover skill to agil to seem more legit.

program ApeAtolAgility;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$I SRL/SRL/misc/paintsmart.scar}

// author: [Nathan]
// Version: 1.1 Beta
// Runs ape atol agility course
// Start in the course with a ninja greegree equipped
// Does not eat currently so only run if your are 70+ agility


//SETUP
const
SERVER = 114; //Replace with desired server number
Username = 'user';
Password = 'pass';

//Vars
var i,x,y,ourLoc:LongInt;
var Spots : Array [0..5] of Integer;
var p:TPointArray;
var stone,passed:Integer;
var startingExp,currentExp,laps,gainedExp:Integer;




function mmBlack:Boolean;
var blackSpot : Array [0..3] of TPoint;
var color : Array [0..3] of Integer;
var i,kk,res:Integer;
begin
result:= false;
blackSpot[0]:= Point(587,43);
blackSpot[1]:= Point(667,55);
blackSpot[2]:= Point(577,115);
blackSpot[3]:= Point(672,122);

color[0]:= 512;
color[1]:= 393990;
color[2]:= 0;
color[3]:= 65537;
res:=0;
for i:=0 to 3 do
begin
for kk:=0 to 3 do
begin
if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
begin
res:= res +1;
end;
end;
end;

if(res > 3) then
result:= true;
end;

procedure antiban;
var
i:Integer;
begin
i := Random(4);
case i of
0: HoverSkill('agility',False);
1: BoredHuman;
2: ExamineInv;
end;
end;

begin
SetupSRL;
repeat
Wait(20000+Random(60000));
SleepAndMoveMouse;
until(false);
end.

Procedure sleepWhileMMBlack();
var t:Integer;

begin
t:=0;
while( (mmBlack) and (t < 25)) do
begin
sleep(250+random(5))
t:=t+1;
writeln('SLeeping while mm is blacked');
end;
end;

function distanceTo(var point:TPoint): Extended;
var myLoc:TPoint;
begin
myLoc:= SPS_GetMyPos();
Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
end;


procedure FreeAll;
begin
ClearRSCanvas(SMART_Canvas.canvas);
//SMART_FreeDebug; <- contains a bug, don't use this.
writeln('free');
end;

procedure Paint;
begin

SMART_DrawBox(IntToBox(5,35,350,120));
SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

end;

function checkAgility:Integer;
begin
currentExp:=GetXP(SKILL_AGILITY);

if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);
if(currentExp=-1) then
currentExp:=GetXP(SKILL_AGILITY);

result:=currentExp;

end;



//Rewrite of FindObjEx to try a max of 12 times before giving up
//Useful in case we move and script doesn't detect it
function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
Tol, Step, xs, ys, xe, ye: Integer): Boolean;
var
CurX, CurY, a, b, c, i, zzz: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
begin
zzz:= zzz+1;
Start := True;
Break;
end;
end;
if (Start) then
begin
CurX := Round((xs + xe) div 2);
CurY := Round((ys + ye) div 2) - Step;
i := 1;
repeat
for c := 1 to i do
begin
case a of
0: begin //To allow for beginning offset and loop
a := a + 1;
i := 0;
CurY := CurY + Step;
end;
1: CurX := CurX + Step;
2: CurY := CurY - Step;
3: CurX := CurX - Step;
4: CurY := CurY + Step;
end;
if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
begin
try
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
begin
MMouse(cx, cy, 3, 3);
zzz:= zzz+1;
writeln('zzz:');
writeln(zzz);
If (WaitUptextMulti(Text, 300)) then
begin
GetMousePos(cx, cy);
Result := True;
Exit;
end;
end;
end;
except
end;
end;
end;
a := a + 1;
if a mod 5 = 0 then a := 1;
if (a = 1) or (a = 3) then i := i + 1;
until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
end;
end;

procedure sleepWhileMoving();
var t:Integer;

begin
t:=0;
while( (IsMoving) and (t < 12)) do
begin
sleep(250+random(5))
writeln('Sleeping while moving');
t:=t+1;
end;
end;

function getLocation(): integer;
var myPos, First, Second,Fourth, Fourth2: TPoint;
var x,y:LongInt;
begin
result := 0;
First := Point(2835, 5670); //Befoer the Stepping stone
Second := Point(2830, 5670); //On the island, needs to climb tree
//Third -> On top, needs to click on monkey bars
Fourth := Point(2805,5670); //Needs to climb skull wall
Fourth2 := Point(2805,5675); //Needs to climb skull wall
//Firth -> Is player in [] area?
//Fifth -> Area 2, slide down vine

Spots[0]:=0;
Spots[1]:=0;
Spots[2]:=0;
Spots[3]:=0;
Spots[4]:=0;
Spots[5]:=0;

myPos := SPS_GetMyPos();


if(distanceTo(First) < 15) then
begin
Spots[0]:=1;
result:=1;
end;
if((myPos = Second) or(myPos.x=2830)) then
begin
Spots[1]:=1;
result:=2;
end;
if(passed > 3) then
begin
Spots[1]:=1;
result:=2;
end;
if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
begin
if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
begin
Spots[2]:=1;
result:=3;
end;
end;
if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
begin
Spots[4]:=1;
result:=5;
end;
if( (myPos = Fourth) or (myPos = Fourth2) ) then
begin
Spots[3]:=1;
result:=4;
end;
if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
begin
Spots[5]:=1;
result:=6;
end;

if(Spots[2] = 1) then
result:=3;
end;

procedure handleObstacle(spot: integer);
var monkeycolor,treecolor:Integer;
var waste:T2DExtendedArray;
var tree5:TPoint;
begin


if (spot = 0) then
begin
writeln('Walk to beginning Point(2835, 5670)');
SPS_WalkToPos(Point(2835, 5670));
sleepWhileMoving();
end;

if (spot = 1) then
begin
writeln('Click on stepping stone');
if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
passed:=passed+1;
Mouse(x, y, 3, 3, True);
sleep(2500+random(175));
sleepWhileMoving();
end;
end;

if (spot = 2) then
begin
writeln('Climb tree');
passed:=0;
if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 3, 3, True);
sleep(2200+random(150));
sleepWhileMoving();
end;
end;

if (spot = 3) then
begin
writeln('Click on monkey bars');
monkeycolor:= 2442074;
if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
begin
Mouse(x, y, 3, 3, True);
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;

if (spot = 4) then
begin
writeln('Climb skull wall');
if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
begin
Mouse(x, y, 2, 2, True);
sleepWhileMoving();
sleep(100+random(50));
end;
end;

if (spot = 5) then
begin
tree5:= Point(2820, 5710);

if(distanceTo(tree5) > 13) then
begin
writeln('Walk to lower spot (2820, 5705)');

SPS_WalkToPos(Point(2820, 5710));
sleepWhileMoving();
sleep(100+random(50));
end;
if(distanceTo(tree5) <14) then
begin
writeln('Click tree (swing rope)');
if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
begin
Mouse(x, y, 2, 2, True);
sleep(250+random(250));
sleepWhileMoving();
end;
end;
end;

if (spot = 6) then
begin
writeln('click climb down tree');

if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
begin
Mouse(x, y, 2, 2, True);
laps:=laps+1;
sleep(1000+random(350));
if(Random(100) > 75) then
checkAgility;
sleepWhileMoving();
sleepWhileMMBlack();
end;
end;
end;


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := 'player';
Players[0].Active := True;

end;

begin

Smart_Server := SERVER;
Smart_Members := True;

//Setup
SetupSRL;
DeclarePlayers;
SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
AddOnTerminate('FreeAll');

while not(LoggedIn) do
sleep(1000);

startingExp:= checkAgility();
Writeln('Starting exp: ' + inttostr(startingExp));
while(true) do //Main loop
begin
gainedExp:= (currentExp-startingExp);
FindNormalRandoms();
ourLoc:= getLocation();
Writeln(Spots);
Paint;
if(ourLoc = 0) then
begin
sleep(Random(300)+250);
ourLoc:= getLocation();
end;
handleObstacle(ourLoc);
sleep(10+random(90));
sleepWhileMoving();
end

end.


that seem better, i think it should work, i cant remeber the short tag for agility lol. face palm:duh:

[Nathan]

2011-11-12 15:29:00

I dont want to be rude but I'd like the develoment of my script to be done by me. You are free to edit it for your personal use, but neither pieces of code you have posted on my thread will work. The second one is wrong as well. So please don't post versions of my script that will not work on my page, as it looks bad on my script

d34th20n

2011-11-13 03:21:38

i was only trying to help, and i the second one does work. but ok.

sorry for input

neley

2011-11-13 16:43:15

why do I get this?


[Hint] C:\Simba\Includes\SRL/SRL/core/antirandoms/pinball.scar(37:3): Variable 'MA' never used at line 36
[Error] C:\Simba\Includes\sps/sps.simba(34:17): Unknown type 'T4DIntegerArray' at line 33
Compiling failed.

[Nathan]

2011-11-14 00:14:37

From: neley
why do I get this?


[Hint] C:\Simba\Includes\SRL/SRL/core/antirandoms/pinball.scar(37:3): Variable 'MA' never used at line 36
[Error] C:\Simba\Includes\sps/sps.simba(34:17): Unknown type 'T4DIntegerArray' at line 33
Compiling failed.


That means SRL is not correctly installed. Try updating your SRL and it should fix it.

haloistaken

2011-11-15 13:10:57

What's the estimated exp/hour You're gaining with this script Nathan? Also what exp/hr u think i'd be gettting with 80 agility?

neley

2011-11-15 16:43:11

probably about 48k exp/hr, thats what the average is for over 75 :D

phamxboa

2011-11-15 19:38:18

works good, but for me it takes quite a while to click the next step, and it messes up at the monkey bars, sometimes takes couple mins ti finally click it.

[Nathan]

2011-11-15 21:05:37

From: phamxboa
works good, but for me it takes quite a while to click the next step, and it messes up at the monkey bars, sometimes takes couple mins ti finally click it.


Yep, unfortunately, there are no unique colors up there, still working on a better solution but I'm struggling.

From: neley
probably about 48k exp/hr, thats what the average is for over 75 :D

in a perfect world yes, i get about 28k / hour

haloistaken

2011-11-16 09:56:12

From: [Nathan]
Yep, unfortunately, there are no unique colors up there, still working on a better solution but I'm struggling.


in a perfect world yes, i get about 28k / hour


Oh 28k per hour? Well i Guess thats fine for a colour bot ;P. I have a suggestion for improving the monkey bar clicking, perhaps set it at a specific angle and a specific mouse clicking location (defined on SMART) instea of looking for colours(maybe the colour could be the failsafe)

Home

2011-11-16 11:48:46

From: [Nathan]
I've spent countless hours on the monkeybars, everything is the same color up there, its pretty hard to get that aspect to work… Because to get experience you actually have to hover the stat, I wanted to make it realistic, the average person isn't going to check their exp every 10 seconds, so neither can the script :/

Thanks for testing and commenting!


For the xp. Check the Quick XP tab?


~Home

vashanddou

2011-11-17 04:43:35

Just doesnt seem to login for me =/
or work at all for me in general.

neley

2011-11-19 15:52:49

It works really well, however, there are some problems I've found.

It keeps logging out, usually just before the rocks or at the end of the rope you climb down.

And… it is slow, sometimes waiting quite a few seconds in-between obstacles, if this can be sped up it will help prevent looking like a bot.

Otherwise, is an amazing script, it works really well, well done!

neley

2011-11-19 16:43:13

ALSO, it keeps trying to go back after i goes over the stone. And, it keeps pressing tab to try and send a message or something… that needs to be sorted.

[Nathan]

2011-11-19 23:24:49

From: neley
It works really well, however, there are some problems I've found.

It keeps logging out, usually just before the rocks or at the end of the rope you climb down.

And… it is slow, sometimes waiting quite a few seconds in-between obstacles, if this can be sped up it will help prevent looking like a bot.

Otherwise, is an amazing script, it works really well, well done!


From: neley
ALSO, it keeps trying to go back after i goes over the stone. And, it keeps pressing tab to try and send a message or something… that needs to be sorted.


Nothing in the script would press tab or logout (nor have I ever had that problem) so I really don't know what to tell you there… Are you using the latest version and using SMART? Thats how I'm using it and it works fine.

Yes its slow (though for a color script I find it to be pretty fast…) and I know of the rock problem, i'm working on a solution.

Thanks for the input!

neley

2011-11-20 07:18:43

From: [Nathan]
Nothing in the script would press tab or logout (nor have I ever had that problem) so I really don't know what to tell you there… Are you using the latest version and using SMART? Thats how I'm using it and it works fine.

Yes its slow (though for a color script I find it to be pretty fast…) and I know of the rock problem, i'm working on a solution.

Thanks for the input!


You are very welcome, I have a feeling the logout problem is due to there being too much lag in-between the obstacles. A brilliant idea to make this tons faster would be to spam click the obstacle, maybe 3-6 times, making it random between those numbers. To click as soon as it can see the obstacle to start clicking 3-6 times until it it passes the obstacle. Or something like that, it will make it tons faster.

Versus The World

2011-11-21 02:06:25

I dont know if you have tried out the RiD version of this script, but what they do is click on a specific part of the screen for the monkey bars instead of finding a color. Its like clicking an inventory item, once you find the area of the object you can set up a random x and y value that fit within the monkey bar click area, and woila. Youve solved your problem. Good luck.

qwerty4ever

2011-11-22 19:10:55

The update to Runescape has made the script stop working. The colors have changed when you hover over your stats.

EDIT: seems to be working now. updated SRL.

EDIT2: gets stuck for a couple mins while searching for XP and never updates the XP. This is probably due to the change of XP colors in the stats. I play with the XP counter open so it wouldn't be a problem if not for the way it makes the script run VERY slowly. 25k/hr before update turned to 17k/hr after.

CAPMAT

2011-11-24 03:07:33

Nice script, Nathan. but it run 1 lap in nearly 2:30 - 3m, i suppose it's after rs update. Anyway it's more better of clicking with ur own hands :D.

thnx for script!

[Nathan]

2011-11-24 12:25:52

From: CAPMAT
Nice script, Nathan. but it run 1 lap in nearly 2:30 - 3m, i suppose it's after rs update. Anyway it's more better of clicking with ur own hands :D.

thnx for script!


I used it to get 77 agility for ritual of the manwhatever quest so I haven't used this script in a few days, I'll have to test it out again after the update

neley

2011-11-25 11:54:05

Natan, brilliant work, is there any way of getting it to go a bit faster? Like I suggested before, spam clicking the obstical as soon as it see's it might make things faster :D

EvilTwin

2011-11-26 08:54:40

Could you make it to use Knife on the pineapple tree for food?
Would be nice;)

~Eviltwin

hajahmz

2011-11-27 21:17:20

Works great, although pineapple support would make it that much better :) Thanks!

Olly

2011-11-30 20:19:18

Am I correct that you cannot get randoms here also?

supersain

2011-11-30 21:53:28

^Yes that's correct no randoms.

RAndomGuru

2011-12-01 04:43:28

Is anyone experiencing difficulties with this? It seems to click on the wrong tile away from the first stepping stone and tries to find it

illuminatiswag

2011-12-01 10:58:26

MAke it a little faster

Nutt

2011-12-05 06:33:48

how do i get this to work , im new at this ;o

ministone28

2011-12-05 13:34:06

Im new to all this, how do i get this script to start, do i just copy and paste? If so its all on one line and nothing happens. Any chance someone can help me figure it out?

jttje

2011-12-05 15:51:35

Open the downloaded file with simba, then press play.

ministone28

2011-12-05 16:06:40

sry, double post.

ministone28

2011-12-05 19:46:32

how do i copy and paste it so it is lined up like you wrote it? Also im new to this, but all that blue writting you have do i need to change/input my own information to make it work? obviously the world/name/pass. but everything else? i dont understand it all.

Lloyd1z

2011-12-06 11:37:12

[Error] (4:1): Identifier expected at line 3
Compiling failed.

Get this when I try to compile?

also this


[Error] (4:1): Unknown identifier 'ApeAtolAgility' at line 3
Compiling failed.

Zytran

2011-12-06 19:12:37

Works fine for me, very slow tho
great work so far ;0

Slither1

2011-12-07 09:11:16

could you put a download link to the script because it isn't working when i copy it

Lloyd1z

2011-12-07 15:58:23

can someone clarify my issue above? much appreciated.

ministone28

2011-12-07 16:06:20

I would really appreciate knowing how to run this in the window. I copy and paste but it all goes onto one line. Any help would be greatly appreciated.

Kyle Undefined

2011-12-07 17:36:03

Copy the entire script, then open up Simba and paste over the existing code that shows up. Fill in your username/pass/world and hit the green arrow at the top to run.

Lloyd, as for your error, follow my steps again. Looks like you copied wrong.

Slither1

2011-12-07 18:29:59

it copies out as one line :(

mitrrek

2011-12-08 00:44:37

http://pastebin.me/dbe95fc57b3edeb01ca69e7ae2005c64


For you people's formatting is coming out in 1 line. Haven't tested the script but I copied it and pastebinned it for you.

Slither1

2011-12-08 03:14:17

still have the same problem, even in paste bin i can see that it has lost its formatting

ministone28

2011-12-08 09:56:16

Ok, im making progress, it runs, but doesnt do anything. Do i need to have my player start somewhere specific? after i run it the thing doesnt jump onto the rock. Anyone's still working?

Lloyd1z

2011-12-08 11:14:58

Keep getting the error where it cannot find the identifier. somebody help? I honestly have no clue where to paste the code into, as all of the other scripts i've used are MSI/Download.

mitrrek

2011-12-09 01:04:45

From: Lloyd1z
Keep getting the error where it cannot find the identifier. somebody help? I honestly have no clue where to paste the code into, as all of the other scripts i've used are MSI/Download.


The "program ApeAtolAgility;" should be on the first line. Seems you didn't copy correctly.

I attached the .simba file to make it easier. Feel free to scan it, search it for anything, it is the exact same script that the author Nathan created. Make sure you put it into your ./Simba/Scripts/ folder and you have the sps.simba file in the sps/sps.simba directory.


Sorry for hijacking your post Nathan, just trying to help. Thank you very much for the script.

Lloyd1z

2011-12-09 11:13:57

^Thanks for including the download; and i followed your post, with this result


thought that including a picture would help immensely.

ministone28

2011-12-09 14:51:56

I start the script standing a couple spaces away from the stone that it has to hop onto but when i hit play the scipt keeps saying zzz: 1 zzz:2 and so on until i stop it. Do i need to add my location to the script? or start inside the course?

mitrrek

2011-12-09 21:48:30

program ApeAtolAgility;

That should be the first line. Delete whatever is before that. Just put the .simba file you downloaded in your Simba/Scripts/ folder and double click it.

mtlun0308

2011-12-10 14:29:19

what's wrong is that?
the character just stand still and insist on doing the first action
and if I start it with my character standing on the beginning region, it will cross the bridge north to the course and move me to the other side of the river and pop up error message
btw, after entering the username and password, the script doesn't autologin…
is it my computer's problem?

ministone28

2011-12-10 20:37:35

I get the same problem as the guy above me.

mtlun0308

2011-12-11 10:55:10

after studying the programme and SPS…I think it's the coordination problem…
is it different for different computer?
i mean, the "First" position for me is 2858,5717 instead of 2835, 5670

mtlun0308

2011-12-11 12:10:42

problem solved!
after adjusting the coordinate, the program works beyond the shadow of a doubt=)
thanks for your great job!!!

ministone28

2011-12-11 13:10:39

From: mtlun0308
problem solved!
after adjusting the coordinate, the program works beyond the shadow of a doubt=)
thanks for your great job!!!



how did you fix it?

mtlun0308

2011-12-11 22:14:03

I read this
and correct the program

trials6112

2011-12-13 07:34:44

Ok currently i start this up where i am meant to and it runs to the wrong location on the opposite side of the Stream bed.

trials6112

2011-12-13 07:53:30

Walk to beginning Point(2835, 5670)
[0, 0, 0, 0, 0, 0]
Walk to beginning Point(2835, 5670)
[0, 0, 0, 0, 0, 0]
Walk to beginning Point(2835, 5670)
[0, 0, 0, 0, 0, 0]
Walk to beginning Point(2835, 5670)
[0, 0, 0, 0, 0, 0]
Walk to beginning Point(2835, 5670)
[0, 0, 0, 0, 0, 0]

Thats constantly whats coming up

ministone28

2011-12-13 12:00:55

looks like the codes coordinates are all off except for the monkey bars. Everything else needs new coordinates. Anyone got them and wanna post?

Lloyd1z

2011-12-14 11:12:45

^Finally figured out how to work this script; and it looks like yesterdays update screwed us over, :(

trials6112

2011-12-14 11:14:13

mm how so? has it stopped working for you now?
if you get it re working can you please forward me the code?

Lloyd1z

2011-12-14 18:10:40

I haven't actually tried running it; although from the posts, the update has messed this up.

oniontomato

2011-12-14 21:37:07

i would love to see this script work. anyone have an ideas?

qingqinghd

2011-12-16 01:00:42

any one can update this…

g2n

2011-12-18 16:36:00

Has this been fixed yet?

I would love to use this from 70 to 77. :S

awesomem8

2011-12-18 21:27:10

can some1 post what we need to change in the script in order for it to work?

bg5

2011-12-20 03:21:57

To fix positioning bug add 21 to all x map coordinates and 47 to y.


It doesn't work good for me. When it pass stepping stone it still clicks on it about 4 times before it climbs tree. And it stucks in front of skull slope. Maybe colors needs update too.

Kajutsky

2011-12-21 19:32:47

damn i hav low agility so theres a high chance i will die

Elmeri233

2011-12-23 06:12:43

Does the script support any kind of food eating / restoring like excalibur? Would be helpful, since my agility isnt good enough to complete the course flawlessly

blinkblink

2011-12-23 07:48:42

From: Elmeri233
Does the script support any kind of food eating / restoring like excalibur? Would be helpful, since my agility isnt good enough to complete the course flawlessly


Reading the OP it clearly states "Script doesn't eat yet, so if you have a low agility/hp level be careful."

Also read the previous posts(all latest posts)… script needs updating its not functioning

Claymore

2011-12-28 15:12:58


if HPPercent < 20 then
begin
if FindDTM(FoodDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 5, 5);
Wait(250);
if IsUpText('Eat') then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
end;
end else
begin
WriteLn('Low on HP and no food. Logging off.');
LogOut;
end;
end;

If you have minimal experience in scripting, adding this as a function, and making a DTM and declaring this function throughout the script should be relatively easy >,>

Sin

2011-12-28 15:45:27

I'm writing an Ape Atoll bot right now, be patient please…

[Nathan]

2011-12-28 15:59:51

From: S1N
I'm writing an Ape Atoll bot right now, be patient please…

I'll let this guy die then, I only wrote it a) to reteach myself coding for simba/scar and b) because I needed 4 agility levels

Hard to update a script I'm not using anymore :frusty:

Sin

2011-12-28 16:09:48

From: [Nathan]
I'll let this guy die then, I only wrote it a) to reteach myself coding for simba/scar and b) because I needed 4 agility levels

Hard to update a script I'm not using anymore :frusty:


You're going to let me die?!?
</3
Don't worry, I'll take over this thread for you if you want?
I'll include it in my AIO Agility bot ;o

ministone28

2011-12-28 17:53:29

yeah!!! i get to finnally max my main out!!!!! I'll love you guys forever when agility has a script.

Technologic

2011-12-29 23:14:16

Dont work.

Grihmm

2011-12-30 22:12:34

Read the OP. It says it doesn't work. -.-

ClasicPKname

2012-01-01 15:56:33

Can somebody post a proggy? I'm going to need some agility levels.

illuminatiswag

2012-01-05 17:04:17

From: ClasicPKname
Can somebody post a proggy? I'm going to need some agility levels.


Read post above yours doesn't work -.-