SRL Archive - RS3 Outdated / Broken Scripts

Gnome Agility Course Runner


Janziz

2008-08-23 19:39:05

Hi Everyone! This is my second script so don't expect anything huge and perfectly working still i won't lie I spent about 9h making this script and to my mind its a lot for a gnome agility course runner :)

REQUIREMENTS:
It requires Reflection if you don't have it just use this great tutorial to setup reflection - http://www.villavu.com/forum/showthread.php?t=33416

INSTALLATION:
simple as always fill out lines 16 to 23 and you're set!

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

Players[0].Name := ''; // Account name
Players[0].Pass := '';// user pass
Players[0].Nick := '';//3 letters in username, not the first letter
Players[0].Active := True;
world := ''; // 'world142', 'world137' etc
sleep_b := True; // set True or False if you would like to rest your character after a few laps
sleep_after := 7 //set after how many runned laps you would like to rest only works if sleep is True
time_to_sleep := 1 // time to sleep in minutes only works if sleep is True
laps := 0;
end;

FLAWS:
1)Lets just say it's not the fastest course runner :rolleyes:
2)Second counter counts up to 99 not 59, found it out after uploading this script so… yeaaah :p

Please post proggies :) !

My proggie:
|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 25
| Total Time: 30:45
| Gained 2175 exp!
|_____________________________________________

Simtoon

2008-08-23 23:21:55

w00t first post ill test it out the post the poggie i was waitin for a agility runner

NiCbaZ

2008-08-25 03:52:27

looks ok…. but why not use reflection for the object finding.. since your using reflection anyways..

Janziz

2008-08-25 05:26:28

I don't know how :( I read Bobarkinator's Object finding tutorial - http://www.villavu.com/forum/showthread.php?t=34421 and I have no idea how to get objType id, like for a tree branch, so I did it the old way, i'll give it a second try and if I succeed I'll surely update(remake) this script.

Pikachu4

2008-08-26 14:38:16

Could you make a low wall climber for Barbarian Agility Arena please?

fre

2008-08-27 13:36:03

I forgot to put brightest on :p

works nice, but why does it always use right click??

fre

2008-08-27 13:52:41

It is a fast runner ^^
very good work

inkw10

2008-08-28 13:50:56

Line 40: [Error] (16577:27): Invalid number of parameters in script D:\Documents and Settings\**********\Desktop\GnomeAgility by Janziz v0.5.scar

Janziz

2008-08-28 15:44:27

From: inkw10
Line 40: [Error] (16577:27): Invalid number of parameters in script D:\Documents and Settings\**********\Desktop\GnomeAgility by Janziz v0.5.scar


Have you updated the revision? i just tested the script with latest revision and it worked?

inkw10

2008-08-28 15:53:58

From: Janziz
Have you updated the revision? i just tested the script with latest revision and it worked?


It doesn't seem to update it for me…

http://www.villavu.com/forum/showthread.php?t=34655?p=455869#post455869

AgentZero

2008-08-28 20:37:43

I think its better if u make a barbarian agility course runner, b/c this is kinda slow.

Janziz

2008-08-29 06:52:02

From: AgentZero
I think its better if u make a barbarian agility course runner, b/c this is kinda slow.


I made this because I needed to get from level 5 Agility to level 25 so that i could finish "Grand Tree" quest and it served me great. of course its slow when you reach level 30 or so but it gets there pretty fast.

rs2joke

2008-08-31 10:36:41

i fixed my smart i can use it with other scripts but this one still gives world perfix error :/
updated to rev 24 got latest reflection latest worlds.ini and still this error.. :S

rs2joke

2008-08-31 17:38:57

From: rs2joke
i fixed my smart i can use it with other scripts but this one still gives world perfix error :/
updated to rev 24 got latest reflection latest worlds.ini and still this error.. :S


fixed it :P didnt type the world in front of the nr :) but now it just gets stuck at the end of the log balance and just walks over the log and starts with mouse back and forward on the log :duh: Can some one please help? realy need this runner.. can tolerance or colors be changed?

reddevil12312

2008-09-07 22:35:13

it be awesome if you made a barbarian runner too. cause im busy with a hell hound killer. and i need 80 agility to make it so much faster


i was wondering about this script, now im still sorta retarded when it comes to reflection scripts, but does it even have simple randoms? lol. i know it has antiban, but i cant find anything that finds and solves regular randoms. but u shouldnt waiste a whole lot of time fixing this. if your lv is below 35 it wont really matter. but good luck if have a go at a barbarian trainer.

in2it

2008-10-18 18:37:36

You should have used refletction to find the objects since you used reflection to run it…

Ilm1

2008-11-01 14:11:32

Hmmm?
Line 78: [Error] (17735:20): Unknown identifier 'SmartGetFieldLongH' in script D:\Program Files\SCAR 3.15\includes\SRL\SRL\Reflection\Objects.Scar

in2it

2008-11-02 03:52:26

it could be outdated or you havn't updated svn to newest rev and update svn

Ilm1

2008-11-02 09:38:47

From: in2it
it could be outdated or you havn't updated svn to newest rev and update svn

actually , i have.
or, so i think :/
and the error was in reflection file :Line 78: [Error] (17735:20): Unknown identifier 'SmartGetFieldLongH' in script D:\Program Files\SCAR 3.15\includes\SRL\SRL\Reflection\Objects.Scar
so i dunno whats wrong :/

0wn 4 skill

2008-11-02 10:03:46

You havent moved your Smart plugin to the newest smart that you get when you download reflection.

noodlesalan

2008-11-23 12:22:35

is this script still working or is it outdated? i cant get it to work.

Line 27 error, Result never used in script.

Magiic

2008-11-23 15:34:54

it's outdated

Boblet

2008-12-07 19:12:43

From: sandos
it's outdated


Strange.. Because I'm running it fine with SMART fixes.

|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 23
| Total Time: 33:42
| Gained 2001 exp!
|_____________________________________________

x_²

2008-12-14 15:27:51

From: Boblet
Strange.. Because I'm running it fine with SMART fixes.

|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 23
| Total Time: 33:42
| Gained 2001 exp!
|_____________________________________________


i can get it to run it will do the log then stop :\ aw well

RusinaRange

2009-01-09 17:20:54

It works great with me with smart fixes and once it starts it hasn't stopped pnce but i havent seen what it does when it encounters an random. but in 30mins i got like 8 levels excellent script =)

cause

2009-01-14 19:56:49

Hey man, this script is working great with a few "make north" and etc… changes. Yeah you should use some reflection object finding, although this current finding works fairly good, it would make it a lot more stable if you used reflection. I'm running this all night, so hopefully have a large proggy for you tommorow.
EDIT: Heres a stable version of what I'm using, currently done 3 runs no problems. I basically just edited the colours and changed a few "SetAngle(aasdf)" things. also added findrandoms or whatever so that it checks for random events :P. Still have to add the reflection one, just couldn't remember what the procedure was called.
EDIT 2: Ok, rope crossing is about 75% chance of success. Reflection object clicking would be really nice here :D if someone could do that…or I'll just go read a tut right now.
EDIT 3:Alright, so I'll put the rope crossing probability of working now at 95%. And if it doesn't work, it just times out so no worries.

program Agility;
{.Include SRL\SRL\Misc\SMART.SCAR}
{.include SRL/SRL.scar}
{.include SRL/SRL/reflection/Reflection.Scar}
var
laps, totalTime, sleep_after, time_to_sleep, exp: Integer;
world: String;
sleep_b: Boolean;

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

Players[0].Name := '*******'; // Account name
Players[0].Pass := '******';// user pass
Players[0].Nick := 'nky';//3 letters in username, not the first letter
Players[0].Active := True;
world := ''; // 'world142', 'world137' etc
sleep_b := True; // set True or False if you would like to rest your charecter after a few laps
sleep_after := 7 //set after how many runned laps you would like to rest only works if sleep is True
time_to_sleep := 1 // time to sleep in minutes only works if sleep is True
laps := 0;
end;

function skipTo(course: String): Boolean;
var
courseInfo: TPoint;
begin
case LowerCase(course) of
'netcross' : courseInfo := Point(2474, 3427);
'netcross2': courseInfo := Point(2486, 3424);
else
begin
writeln('Course - '+course+' does not exist');
Exit;
end;
end;
WalkToTile(courseInfo,0,9);
end;

function objectFindClick(color, toler: Integer; uptext, optText: String): Boolean;
var
x,y,z,l,i,temp_x,temp_y,tries: Integer;
temp_obj, t:TPointArray;
rezult :Boolean;

begin
z := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
rezult := False;
tries := 0;
repeat
FindColorsSpiralTolerance(temp_x, temp_y, temp_obj, color, 3, 3, 517, 341, toler);
ColorToleranceSpeed(z);
SetArrayLength(t, 0);
t := temp_obj;
SetArrayLength(temp_obj, 0);
temp_obj := ReArrangeAndShortenArray(t, 14);
l := GetArrayLength(temp_obj) -1;
for i := 0 to l do
begin
MMouse(temp_obj[i].X, temp_obj[i].Y, 2, 2);
Wait(75 + Random(75));
if IsUpText(uptext) Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(70 + Random(75));
if ChooseOption(optText) then
begin
Wait(1000 + Random(500));
rezult := True
break;
end;
end;
end;
until(rezult) or (tries > 5);
Result := rezult;
end;

function crossLog: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setRun(True);
rez := False;
tries := 0;
MakeCompass('s');
if objectFindClick(801633,3,'alan','cros') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2474) and (charPos.y=3429)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function netCross: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setAngle(False);
rez := False;
tries := 0;
MakeCompass('s');
if objectFindClick(334894,3,'stac','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until (charPos.y=3423) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;


function branchCross: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setAngle(True);
rez := False;
tries := 0;
MakeCompass('s');
if objectFindClick(3629688,3,'ranc','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2473) and (charPos.y=3420)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;


function ropeCross: Boolean;
var
charPos,temp_walk: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
rez := False;
tries := 0;
MakeCompass('n');
setAngle(False);
temp_walk := Point(2475, 3420);
WalkToTile(temp_walk,0,1);
wait(1000 + Random(200))
if objectFindClick(6392232,5,'alan','alk') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2483) and (charPos.y=3420)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function branchCross2: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
rez := False;
tries := 0;
//MakeCompass('n');
//setAngle(False);
if objectFindClick(4157578,3,'ranc','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2487) and (charPos.y=3420)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function netCross2: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setAngle(False);
rez := False;
tries := 0;
MakeCompass('n');
if objectFindClick(869231,5,'stac','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until(charPos.y=3428) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function pipeCross: Boolean;
var
charPos: TPoint;
tries, time1, i, x, y: Integer;
rez: Boolean;
begin
FindNormalRandoms;
rez := False;
tries := 0;
MakeCompass('n');
setAngle(True)
if objectFindClick(7369082,5,'uee','hroug') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
if FindText(x,y,'used',SmallChars,3,441,137,461) then
begin
wait(500 +Random(200));
pipeCross;
end;
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2487) and (charPos.y=3437)) or ((charPos.x=2484) and (charPos.y=3437)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

procedure backToStart;
var
start: TPoint;
begin
start := Point(2474, 3438);
WalkToTile(start,1,1);
end;

Procedure AntiBan;
Begin
Case Random(20) of
0: If Random(15) = 5 Then MMouse(MSX1, MSY1, MSX2, MSY2);
1: If Random(25) = 5 Then RandomRClick;
2: If Random(10) = 5 Then HoverSkill('mining', False);
3, 4, 5: Wait(100 + Random(1000));
6: If Random(10) = 5 Then Begin GameTab(1 + Random(14)); Wait(500 + Random(500)); GameTab(4); End;
17: If Random(15) = 5 Then HoverSkill('random', False);
End;
End;

procedure proggy;
var
minutes: Extended;
time, seconds: Integer;
begin
time := TimeFromMark(totalTime);
minutes := time / 60000;
seconds := Round(DecRet(minutes) * 100);
cleardebug;
WriteLn(' |*********************************************');
WriteLn(' | Gnome Agility Runner by Janziz ');
WriteLn(' |_____________________________________________');
WriteLn(' | Laps Done: '+IntToStr(laps)+' ');
WriteLn(' | Total Time: '+IntToStr(Floor(minutes))+':'+IntToStr(seconds));
WriteLn(' | Gained '+IntToStr(laps*87)+' exp! ');
WriteLn(' |_____________________________________________');
end;

procedure countLaps;
var
sleep_ms: Integer;
begin
laps := laps + 1
exp := laps * 87;
proggy;
if((sleep_b) and (laps >= sleep_after)) then
begin
logout;
sleep_ms := time_to_sleep * 60000;
wait(sleep_ms + Random(5000))
loginplayer;
sleep_after := sleep_after + sleep_after;
end
end;


procedure ScriptTerminate;
Begin
proggy;
writeln('Thanks for using Gnome Agility Runner by Janziz');
End;

procedure mainLoop;
begin
MarkTime(totalTime);
repeat
if not crossLog then
skipTo('netCross');
if not netCross then
begin
skipTo('netCross2');
netCross2;
end else
begin
branchCross;
ropeCross;
branchCross2;
netCross2;
pipeCross;
backToStart;
end;
countLaps;
until(false);
end;


begin
DeclareVars;
SmartSetupEx(95, True, True, False);
SetTargetDC(SmartGetDC);
SetupSRL;
ActivateClient;
loginplayer;
SetAngle(true);
mainLoop;
end.

Ok, didn't run all night, but it ran decently:
|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 30
| Total Time: 40:51
| Gained 2610 exp!
|_____________________________________________

And another:
|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 48
| Total Time: 59:29
| Gained 4176 exp!
|_____________________________________________

XabdullahX

2009-01-20 07:10:14

From: cause
Hey man, this script is working great with a few "make north" and etc… changes. Yeah you should use some reflection object finding, although this current finding works fairly good, it would make it a lot more stable if you used reflection. I'm running this all night, so hopefully have a large proggy for you tommorow.
EDIT: Heres a stable version of what I'm using, currently done 3 runs no problems. I basically just edited the colours and changed a few "SetAngle(aasdf)" things. also added findrandoms or whatever so that it checks for random events :P. Still have to add the reflection one, just couldn't remember what the procedure was called.
EDIT 2: Ok, rope crossing is about 75% chance of success. Reflection object clicking would be really nice here :D if someone could do that…or I'll just go read a tut right now.
EDIT 3:Alright, so I'll put the rope crossing probability of working now at 95%. And if it doesn't work, it just times out so no worries.

program Agility;
{.Include SRL\SRL\Misc\SMART.SCAR}
{.include SRL/SRL.scar}
{.include SRL/SRL/reflection/Reflection.Scar}
var
laps, totalTime, sleep_after, time_to_sleep, exp: Integer;
world: String;
sleep_b: Boolean;

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

Players[0].Name := '*******'; // Account name
Players[0].Pass := '******';// user pass
Players[0].Nick := 'nky';//3 letters in username, not the first letter
Players[0].Active := True;
world := ''; // 'world142', 'world137' etc
sleep_b := True; // set True or False if you would like to rest your charecter after a few laps
sleep_after := 7 //set after how many runned laps you would like to rest only works if sleep is True
time_to_sleep := 1 // time to sleep in minutes only works if sleep is True
laps := 0;
end;

function skipTo(course: String): Boolean;
var
courseInfo: TPoint;
begin
case LowerCase(course) of
'netcross' : courseInfo := Point(2474, 3427);
'netcross2': courseInfo := Point(2486, 3424);
else
begin
writeln('Course - '+course+' does not exist');
Exit;
end;
end;
WalkToTile(courseInfo,0,9);
end;

function objectFindClick(color, toler: Integer; uptext, optText: String): Boolean;
var
x,y,z,l,i,temp_x,temp_y,tries: Integer;
temp_obj, t:TPointArray;
rezult :Boolean;

begin
z := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
rezult := False;
tries := 0;
repeat
FindColorsSpiralTolerance(temp_x, temp_y, temp_obj, color, 3, 3, 517, 341, toler);
ColorToleranceSpeed(z);
SetArrayLength(t, 0);
t := temp_obj;
SetArrayLength(temp_obj, 0);
temp_obj := ReArrangeAndShortenArray(t, 14);
l := GetArrayLength(temp_obj) -1;
for i := 0 to l do
begin
MMouse(temp_obj[i].X, temp_obj[i].Y, 2, 2);
Wait(75 + Random(75));
if IsUpText(uptext) Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(70 + Random(75));
if ChooseOption(optText) then
begin
Wait(1000 + Random(500));
rezult := True
break;
end;
end;
end;
until(rezult) or (tries > 5);
Result := rezult;
end;

function crossLog: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setRun(True);
rez := False;
tries := 0;
MakeCompass('s');
if objectFindClick(801633,3,'alan','cros') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2474) and (charPos.y=3429)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function netCross: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setAngle(False);
rez := False;
tries := 0;
MakeCompass('s');
if objectFindClick(334894,3,'stac','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until (charPos.y=3423) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;


function branchCross: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setAngle(True);
rez := False;
tries := 0;
MakeCompass('s');
if objectFindClick(3629688,3,'ranc','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2473) and (charPos.y=3420)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;


function ropeCross: Boolean;
var
charPos,temp_walk: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
rez := False;
tries := 0;
MakeCompass('n');
setAngle(False);
temp_walk := Point(2475, 3420);
WalkToTile(temp_walk,0,1);
wait(1000 + Random(200))
if objectFindClick(6392232,5,'alan','alk') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2483) and (charPos.y=3420)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function branchCross2: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
rez := False;
tries := 0;
//MakeCompass('n');
//setAngle(False);
if objectFindClick(4157578,3,'ranc','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2487) and (charPos.y=3420)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function netCross2: Boolean;
var
charPos: TPoint;
tries, time1, i: Integer;
rez: Boolean;
begin
FindNormalRandoms;
setAngle(False);
rez := False;
tries := 0;
MakeCompass('n');
if objectFindClick(869231,5,'stac','lim') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
wait(200 + Random(200))
charPos := GetMyPos;
until(charPos.y=3428) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

function pipeCross: Boolean;
var
charPos: TPoint;
tries, time1, i, x, y: Integer;
rez: Boolean;
begin
FindNormalRandoms;
rez := False;
tries := 0;
MakeCompass('n');
setAngle(True)
if objectFindClick(7369082,5,'uee','hroug') then
begin
for i:=0 to 5 do
begin
MarkTime(time1);
repeat
if FindText(x,y,'used',SmallChars,3,441,137,461) then
begin
wait(500 +Random(200));
pipeCross;
end;
wait(200 + Random(200))
charPos := GetMyPos;
until((charPos.x=2487) and (charPos.y=3437)) or ((charPos.x=2484) and (charPos.y=3437)) or (TimeFromMark(time1) > 20000)
if (TimeFromMark(time1) < 20000) then
begin
rez := True;
break;
end;
end;
end;
Result := rez;
end;

procedure backToStart;
var
start: TPoint;
begin
start := Point(2474, 3438);
WalkToTile(start,1,1);
end;

Procedure AntiBan;
Begin
Case Random(20) of
0: If Random(15) = 5 Then MMouse(MSX1, MSY1, MSX2, MSY2);
1: If Random(25) = 5 Then RandomRClick;
2: If Random(10) = 5 Then HoverSkill('mining', False);
3, 4, 5: Wait(100 + Random(1000));
6: If Random(10) = 5 Then Begin GameTab(1 + Random(14)); Wait(500 + Random(500)); GameTab(4); End;
17: If Random(15) = 5 Then HoverSkill('random', False);
End;
End;

procedure proggy;
var
minutes: Extended;
time, seconds: Integer;
begin
time := TimeFromMark(totalTime);
minutes := time / 60000;
seconds := Round(DecRet(minutes) * 100);
cleardebug;
WriteLn(' |*********************************************');
WriteLn(' | Gnome Agility Runner by Janziz ');
WriteLn(' |_____________________________________________');
WriteLn(' | Laps Done: '+IntToStr(laps)+' ');
WriteLn(' | Total Time: '+IntToStr(Floor(minutes))+':'+IntToStr(seconds));
WriteLn(' | Gained '+IntToStr(laps*87)+' exp! ');
WriteLn(' |_____________________________________________');
end;

procedure countLaps;
var
sleep_ms: Integer;
begin
laps := laps + 1
exp := laps * 87;
proggy;
if((sleep_b) and (laps >= sleep_after)) then
begin
logout;
sleep_ms := time_to_sleep * 60000;
wait(sleep_ms + Random(5000))
loginplayer;
sleep_after := sleep_after + sleep_after;
end
end;


procedure ScriptTerminate;
Begin
proggy;
writeln('Thanks for using Gnome Agility Runner by Janziz');
End;

procedure mainLoop;
begin
MarkTime(totalTime);
repeat
if not crossLog then
skipTo('netCross');
if not netCross then
begin
skipTo('netCross2');
netCross2;
end else
begin
branchCross;
ropeCross;
branchCross2;
netCross2;
pipeCross;
backToStart;
end;
countLaps;
until(false);
end;


begin
DeclareVars;
SmartSetupEx(95, True, True, False);
SetTargetDC(SmartGetDC);
SetupSRL;
ActivateClient;
loginplayer;
SetAngle(true);
mainLoop;
end.

Ok, didn't run all night, but it ran decently:

And another:


Wow thanks !
But i have a problem, sometimes it just get stuck, it stops moving

cause

2009-01-21 00:09:36

Yeah…it does that. Sorry haven't had time to add more reflection.
EDIT: Oh yeah, my guy is now good enough for the next level course, so I don't really need this anymore :P.

boomerswims

2009-02-02 23:49:28

Include file D:\Program Files\SCAR 3.15\includes\SRL\SRL\reflection\Reflection.Scar does not exist.
Failed when compiling


help! I don't know how to fix!

Simtoon

2009-02-03 00:28:42

You dont have Reflection and i dont know if this is still working or not

traitors

2009-02-04 16:45:24

Creating the NickTPA.
[Runtime Error] : Type Mismatch in line 187 in script C:\Documents and Settings\jud\Desktop\AGIL.scar

anything with walking to tiles gets me an error am im missing something?

cause

2009-02-05 15:07:16

Should still work, get the reflection installer, should be around here. Make sure you fill everything out correctly! Then check twice!

Gavril

2009-02-17 21:56:20

|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 11
| Total Time: 12:88
| Gained 957 exp!
|_____________________________________________


It's good that it works and all…. but at this rate, it goes half as slow as a human, largely because of the time it takes in moving the camera.

Is there not a way to move the camera while running?

infested999

2009-03-06 14:20:22

I'll rune this on my main :)

jakeyboy29

2009-03-11 17:03:46

gravedig i know. still flawsless.

|*********************************************
| Gnome Agility Runner by Janziz
|_____________________________________________
| Laps Done: 78
| Total Time: 89:82
| Gained 6786 exp!
|_____________________________________________
Thanks for using Gnome Agility Runner by Janziz
Successfully executed

zerocool

2009-04-21 01:36:45

getting error

Line 108: [Error] (17159:1): Unknown identifier 'UseAutoResponder' in script C:\Program Files\SCAR 3.20\includes\SRL/SRL.scar

what do i do

2pac

2009-04-21 09:54:47

im having trouble with the script how can i fix this error?

Line 27: [Hint] (22759:10): Variable 'Result' never used in script C:\Documents and Settings\Menace\Desktop\GnomeAgility by Janziz v0.5.scar
Line 381: [Error] (23113:37): Invalid number of parameters in script C:\Documents and Settings\Menace\Desktop\GnomeAgility by Janziz v0.5.scar