SRL Archive - Reflection

Gnome Agility PRO!


Train

2010-12-27 02:21:13

Gnome Agility PRO!
by: Train


Hello SRL, this is my second script!
Please don't expect that much of it, but trust me, I'm VERY proud of it!

Script averages at about 5.2k exp an hour, the low exp in the screen-shot was due to me purposely messing it up and testing the relocating. :D

I hope you enjoy it as much as I do…
~ Train

[PHP]{
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Gnome Tree Course =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=–= v0.1 =–=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= By: Train =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=–= ** Instructions =–=
=–= * 1. Be at the beginning of the course. =
=–= **** If you don't start at the beginning of the course, it should find =
=–= itself and continue on from there, but after lots of mouse =
=–= movement. =
=–= * 2. Don't be in an over crowded world. =
=–= * 3. Be on Safe Mode with Min. Graphics. =
=–= **** To get in safe mode without using smart, hold "s" while Runescape =
=–= is loading. =
=–= * 4. Have LIGHT WEIGHT gear on. =
=–= **** Spottier Cape, Boots of Lightness, etc. =
=–= * 5. If you wish to run, have run ENABLED before starting the script. =
=–= **** It will not enable run automatically! =
=–= * 6. Report errors and post progress reports! :D. =
=–= **** If you're going to use it on your MAIN, please watch it and make =
=–= sure it doesn't mess up majorly before leaving it alone. =
=–= * 4. START LOGGED OUT, OR LOGGED IN WITH YOUR CAMERA ANGLE UP!!! =
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=–= **** POST PROGRESS REPORTS ! **** =–=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-= * Change Log =
=-= v0.1 =
******* Initial script. =
BETA relocating, not SUPER…SUPER reliable… yet the script =
doesn't fail…almost…ever. :D =
Multi-player compatibility. =
=
******* Comments. =
Walking back to beginning is more of a "guess", as the colours =
will sometimes be wrong and it will click somewhere, if this =
happens, just go to a different world. :D =
=-= v0.2 =
******* Script. =
Added a SetAngle(True) on Login, increased wait with the mouse =
movements to reduce misclicks from lag. =
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
}[/PHP]

Reports:
From: Becks
Running For: 6 Hours, 9 Minutes and 18 Seconds
Laps Completed: 391
Total EXP Gained: 33821.5
[xxx] 21915187
Laps: 391
Exp Gained: 33821.5
Exp P/H: 5,556

stopped myself ;)


From: Huthaifah
Running For: 5 Hours, 13 Minutes and 52 Seconds
Laps Completed: 340
Total EXP Gained: 29410
[———] 18830391
Laps: 340
Exp Gained: 29410
Exp P/H: 5,623

My first reflection. Hope you like it. 1-37 agility in 5 hours, love you man, (not in a gay way).


From: Her0n
Running For: 2 Hours, 57 Minutes and 25 Seconds
Laps Completed: 156
Total EXP Gained: 13494
[un7b5nh78uhn] 10615790
Laps: 156
Exp Gained: 13494
Exp P/H: 4,576
Very good!


From: Frement
Running For: 1 Hours, 46 Minutes and 58 Seconds
Laps Completed: 123
Total EXP Gained: 10639.5
[************] 6417303
Laps: 123
Exp Gained: 10639.5
Exp P/H: 5,969


From: Frement
Same world, had a flawless run:
Running For: 1 Hours, 31 Minutes and 35 Seconds
Laps Completed: 102
Total EXP Gained: 8823
[***********'] 5458959
Laps: 102
Exp Gained: 8823
Exp P/H: 5,818


From: Frement
Running For: 40 Minutes and 38 Seconds
Laps Completed: 47
Total EXP Gained: 4065.5
[************] 2414053
Laps: 47
Exp Gained: 4065.5
Exp P/H: 6,063

46-48 with the script. You should make one for Agility Pyramid. Level requirement is 30, isn't it better exp also?


Me:

program Gnome_Tree_Course;
{$DEFINE SMART} // Comment this out if you wish to not use SMART.
{$i SRL\SRL.scar}

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

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Integers[0] := 20; // Laps until player switch/logout (+/- random 5)
Players[0].Integers[1] := 1500; // Total laps to do.
Players[0].Active := True;
Players[0].Member := True;
end;

{
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Gnome Tree Course =-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=--= v0.1 =--=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= By: Train =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=--= ** Instructions =--=
=--= * 1. Be at the beginning of the course. =
=--= **** If you don't start at the beginning of the course, it should find =
=--= itself and continue on from there, but after lots of mouse =
=--= movement. =
=--= * 2. Don't be in an over crowded world. =
=--= * 3. Be on Safe Mode with Min. Graphics. =
=--= **** To get in safe mode without using smart, hold "s" while Runescape =
=--= is loading. =
=--= * 4. Have LIGHT WEIGHT gear on. =
=--= **** Spottier Cape, Boots of Lightness, etc. =
=--= * 5. If you wish to run, have run ENABLED before starting the script. =
=--= **** It will not enable run automatically! =
=--= * 6. Report errors and post progress reports! :D. =
=--= **** If you're going to use it on your MAIN, please watch it and make =
=--= sure it doesn't mess up majorly before leaving it alone. =
=--= * 4. START LOGGED OUT, OR LOGGED IN WITH YOUR CAMERA ANGLE UP!!! =
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=--= **** POST PROGRESS REPORTS ! **** =--=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-= * Change Log =
=-= v0.1 =
******* Initial script. =
BETA relocating, not SUPER...SUPER reliable... yet the script =
doesn't fail...almost...ever. :D =
Multi-player compatibility. =
=
******* Comments. =
Walking back to beginning is more of a "guess", as the colours =
will sometimes be wrong and it will click somewhere, if this =
happens, just go to a different world. :D =
=-= v0.2 =
******* Script. =
Added a SetAngle(True) on Login, increased wait with the mouse =
movements to reduce misclicks from lag. =
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
}

function createIntArray(int, len: LongInt): array of Integer;
var
i: LongInt;
arr: TIntegerArray;
begin
SetLength(arr, len);
for i := 0 to len - 1 do
arr[i] := int;
Result := arr;
end;

procedure DrawOnSMARTEx(arrText: TStringArray; Color: Integer; Font: string; base: TPoint);
var
drawImage: LongInt;
i, h, useFull: Integer;
tI, tH: LongInt;
TextTPA: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
drawImage := BitmapFromString(766, 504, '');
h := Length(arrText) - 1;
for i := 0 to h do
begin
TextTPA := LoadTextTPA(arrText[i], Font, useFull);
tH := Length(TextTPA) - 1;
for tI := 0 to tH do
TextTPA[tI] := Point(TextTPA[tI].x + base.x, TextTPA[tI].y + base.y + (i * 12));
FastSetPixels(drawImage, TextTPA, createIntArray(Color, tH + 1));
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(drawImage, Canvas, 0, 0);
FreeBitmap(drawImage);
end;

procedure DrawOnSMART(arrText: TStringArray; Color: Integer);
begin
DrawOnSMARTEx(arrText, Color, StatChars, Point(25, 50));
end;


function LocateLog(var x, y: Integer): Boolean;
var
pCTS: Byte;
i, h: Integer;
pModifH, pModifS: Extended;
TPA: TPointArray;
ATPA: T2DPointArray;
tempPoint: TPoint;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
pCTS := GetToleranceSpeed;
GetToleranceSpeed2Modifiers(pModifH, pModifS);
ColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.03, 0.25);
FindColorsTolerance(TPA, 666702, MSX1, MSY1, MSX2, MSY2, 8);
if (Length(TPA) > 0) then
begin
ATPA := TPAtoATPAEx(TPA, 40, 10);
SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY));
h := Length(ATPA) - 1;
for i := 0 to h do
begin
tempPoint := MiddleTPA(ATPA[i]);
MMouse(tempPoint.x, tempPoint.y, 5, 5);
Wait(180 + Random(121));
if (IsUpText('across')) then
begin
x := tempPoint.x;
y := tempPoint.y;
Result := True;
Exit;
end else
Continue;
end;
end;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
end;

function LocateFence(var x, y: Integer; sort: TPoint): Boolean;
var
pCTS: Byte;
i, h: Integer;
pModifH, pModifS: Extended;
TPA: TPointArray;
ATPA: T2DPointArray;
tempPoint: TPoint;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
pCTS := GetToleranceSpeed;
GetToleranceSpeed2Modifiers(pModifH, pModifS);
ColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.28, 0.76);
FindColorsTolerance(TPA, 1252130, MSX1, MSY1, MSX2, MSY2, 8);
if (Length(TPA) > 0) then
begin
ATPA := TPAtoATPAEx(TPA, 60, 35);
SortATPAFromFirstPoint(ATPA, sort);
h := Length(ATPA) - 1;
for i := 0 to h do
begin
tempPoint := MiddleTPA(ATPA[i]);
MMouse(tempPoint.x, tempPoint.y, 5, 5);
Wait(180 + Random(121));
if (IsUpText('over')) then
begin
x := tempPoint.x;
y := tempPoint.y;
Result := True;
Exit;
end else
Continue;
end;
end;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
end;

function LocateBranch(var x, y: Integer; sort: TPoint): Boolean;
var
pCTS: Byte;
i, h: Integer;
pModifH, pModifS: Extended;
TPA: TPointArray;
ATPA: T2DPointArray;
tempPoint: TPoint;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
pCTS := GetToleranceSpeed;
GetToleranceSpeed2Modifiers(pModifH, pModifS);
ColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.04, 0.54);
FindColorsTolerance(TPA, 2313055, MSX1, MSY1, MSX2, MSY2, 15);
if (Length(TPA) > 0) then
begin
ATPA := TPAtoATPAEx(TPA, 10, 8);
SortATPAFromFirstPoint(ATPA, sort);
h := Length(ATPA) - 1;
for i := 0 to h do
begin
tempPoint := MiddleTPA(ATPA[i]);
MMouse(tempPoint.x, tempPoint.y, 5, 5);
Wait(180 + Random(121));
if (IsUpText('limb')) then
begin
x := tempPoint.x;
y := tempPoint.y;
Result := True;
Exit;
end else
Continue;
end;
end;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
end;

function LocateRope(var x, y: Integer; nearUs: Boolean): Boolean;
var
pCTS: Byte;
i, h: Integer;
pModifH, pModifS: Extended;
TPA: TPointArray;
ATPA: T2DPointArray;
tempPoint: TPoint;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
pCTS := GetToleranceSpeed;
GetToleranceSpeed2Modifiers(pModifH, pModifS);
ColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.03, 0.08);
FindColorsTolerance(TPA, 4810882, MSX1, MSY1, MSX2, MSY2, 11);
if (Length(TPA) > 0) then
begin
ATPA := TPAtoATPAEx(TPA, 10, 3);
if (nearUs) then
SortATPAFromFirstPoint(ATPA, Point(MSCX, MSCY))
else
SortATPAFromFirstPoint(ATPA, Point(100, 180));
h := Length(ATPA) - 1;
for i := 0 to h do
begin
tempPoint := MiddleTPA(ATPA[i]);
MMouse(tempPoint.x, tempPoint.y, 5, 5);
Wait(180 + Random(121));
if (IsUpText('rope')) then
begin
x := tempPoint.x;
y := tempPoint.y;
Result := True;
Exit;
end else
Continue;
end;
end;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
end;

function LocateTube(var x, y: Integer): Boolean;
var
pCTS: Byte;
i, h: Integer;
pModifH, pModifS: Extended;
TPA: TPointArray;
ATPA: T2DPointArray;
tempPoint: TPoint;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
pCTS := GetToleranceSpeed;
GetToleranceSpeed2Modifiers(pModifH, pModifS);
ColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.14, 0.08);
FindColorsTolerance(TPA, 5855837, MSX1, MSY1, MSX2, MSY2, 31);
if (Length(TPA) > 0) then
begin
ATPA := TPAToATPAEx(TPA, 30, 30);
SortATPAFromFirstPoint(ATPA, Point(202, 72));
h := Length(ATPA) - 1;
for i := 0 to h do
begin
tempPoint := MiddleTPA(ATPA[i]);
MMouse(tempPoint.x, tempPoint.y, 5, 5);
Wait(180 + Random(121));
if (IsUpText('eeze')) then
begin
x := tempPoint.x;
y := tempPoint.y;
Result := True;
Exit;
end else
Continue;
end;
end;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
end;

procedure locateToLog;
var
pCTS: Byte;
i, h: Integer;
pModifH, pModifS: Extended;
TPA: TPointArray;
ATPA: T2DPointArray;
tempPoint: TPoint;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
pCTS := GetToleranceSpeed;
GetToleranceSpeed2Modifiers(pModifH, pModifS);
ColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.42, 1.17);
FindColorsTolerance(TPA, 1719114, MMX1, MMY1, MMX2, MMY2, 7);
if (Length(TPA) > 0) then
begin
ATPA := SplitTPA(TPA, 5);
SortATPASize(ATPA, True);
for i := 0 to High(ATPA) do
begin
tempPoint := MiddleTPA(ATPA[i]);
if (Distance(tempPoint.x, tempPoint.y, MMCX, MMCY) < 20) then
Continue;
Mouse(tempPoint.x, tempPoint.y - 15, 5, 8, True);
Wait(250 + Random(150));
Flag;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
Wait(1500 + Random(1500));
Exit;
end;
end;
ColorToleranceSpeed(pCTS);
SetToleranceSpeed2Modifiers(pModifH, pModifS);
end;

function doLog: Boolean;
var
x, y: Integer;
mark: LongInt;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
Result := LocateLog(x, y);
if (Result) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
mark := GetSystemTime + 7000 + random(2000);
while (GetSystemTime < mark) and (CountColor(0, 8, 450, 245, 458) <> 255) do
begin
FindNormalRandoms;
MakeCompass('s');
Wait(Random(50));
end;
if (CountColor(0, 8, 450, 245, 458) = 255) then
Wait(500 + Random(300));
end;
end;

function doFence: Boolean;
var
i, x, y: Integer;
mark: LongInt;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
for i := 1 to 3 do
if (LocateFence(x, y, Point(MSCX, MSCY))) then
begin
Result := True;
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
mark := GetSystemTime + 4500 + random(1500);
while (GetSystemTime < mark) and (not InBlack) do
begin
FindNormalRandoms;
Wait(150);
end;
if (InBlack) then
Wait(1500 + Random(250));
Exit;
end else
Wait(Random(250));
end;

function doFence2: Boolean;
var
i, x, y: Integer;
mark: LongInt;
didSet: Boolean;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
didSet := False;
for i := 1 to 2 do
if (LocateFence(x, y, Point(0, MSCY))) then
begin
Result := True;
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
mark := GetSystemTime + 5500 + Random(1500);
while (GetSystemTime < mark) and (CountColor(0, 8, 450, 245, 458) <> 143) do
begin
if (not didSet) then
begin
SetAngle(True);
didSet := True;
end;
FindNormalRandoms;
Wait(Random(250));
end;
if (CountColor(0, 8, 450, 245, 458) = 143) then
if (not didSet) then
begin
SetAngle(True);
didSet := True;
end else
Wait(3000 + Random(1000));
Exit;
end else
Wait(Random(250));
end;

function doBranch: Boolean;
var
i, x, y: Integer;
mark: LongInt;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
for i := 1 to 3 do
if (LocateBranch(x, y, Point(MSCX, MSCY))) then
begin
Result := True;
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
mark := GetSystemTime + 5500 + random(500);
while (GetSystemTime < mark) and (CountColor(0, 8, 450, 245, 458) <> 158) do
begin
Wait(Random(50));
FindNormalRandoms;
end;
if (CountColor(0, 8, 450, 245, 458) = 158) then
Wait(1500 + Random(150));
Exit;
end else
Wait(Random(250));
end;

function doBranch2: Boolean;
var
x, y: Integer;
mark: LongInt;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
if (LocateBranch(x, y, Point(145, 135))) then
begin
Result := True;
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
ClickNorth(False);
mark := GetSystemTime + 4000 + random(2000);
while (GetSystemTime < mark) and (CountColor(0, 8, 450, 245, 458) <> 155) do
begin
FindNormalRandoms;
Wait(Random(50));
end;
if (CountColor(0, 8, 450, 245, 458) = 155) then
Wait(800 + Random(250));
Exit;
end else
Wait(Random(250));
end;

function doRope(nearUs: Boolean): Boolean;
var
x, y: Integer;
mark: LongInt;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
if (LocateRope(x, y, nearUs)) then
begin
Result := True;
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
mark := GetSystemTime + 5500 + Random(1500);
while (GetSystemTime < mark) and (CountColor(0, 8, 450, 245, 458) <> 125) do
begin
FindNormalRandoms;
Wait(Random(250));
end;
if (CountColor(0, 8, 450, 245, 458) = 125) then
begin
WriteLn('''Cannot reach!''');
Result := doRope(True);
Exit;
end;
Exit;
end else
Wait(Random(250));
end;

function doTube: Boolean;
var
i, x, y: Integer;
mark: LongInt;
begin
if (not LoggedIn) then
Exit;
FindNormalRandoms;
for i := 1 to 3 do
if (LocateTube(x, y)) then
begin
Result := True;
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
mark := GetSystemTime + 5500 + Random(1500);
while (GetSystemTime < mark) and (CountColor(0, 8, 450, 245, 458) <> 166) do
begin
Wait(Random(250));
FindNormalRandoms;
end;
if (CountColor(0, 8, 450, 245, 458) = 166) then
begin
WriteLn('''In use!''');
Result := doTube;
Exit;
end;
Exit;
end else
Wait(Random(250));
end;

function attempToRelocate: Boolean; // Not SUPER reliable... but the script doesn't FAIL often anyways. ;)
begin
Result := False;
if (InRange(CountColor(SRL_GetBlackBackground, MMX1, MMY1, MMX2, MMY2), 16000, 17000)) then
begin
if (doBranch) then
if (doRope(False)) then
if (doBranch2) then
if (doFence2) then
if (doTube) then
begin
Result := True;
Exit;
end else
Exit
else
Exit
else
Exit
else
Exit
else
Exit;
end else
if (InRange(CountColor(SRL_GetBlackBackground, MMX1, MMY1, MMX2, MMY2), 17000, 18000)) then
begin
if (doRope(False)) then
if (doBranch2) then
if (doFence2) then
if (doTube) then
begin
Result := True;
Exit;
end else
Exit
else
Exit
else
Exit
else
Exit;
end else
begin
locateToLog;
Result := True;
end;
end;

function numFormat(str: string): string;
var
i, h, count: Integer;
begin
h := Length(str);
for i := h downto 1 do
begin
if (str[i] = '.') then
begin
count := 0;
Result := '';
Continue;
end;
if (count >= 3) then
begin
Result := ',' + Result;
count := 0;
end;
Result := str[i] + Result;
Inc(count);
end;
end;

function gestimateEXPGained: string;
begin
Result := numFormat(FloatToStr(Players[CurrentPlayer].Integers[2] * 86.5));
end;

function msRuntime: LongInt;//useless. :D
begin
Result := PlayerWorked(CurrentPlayer);
end;

function expPerHour: string;
begin
Result := numFormat(FloatToStr(Round((Players[CurrentPlayer].Integers[2] * 86.5) * (1000 * 60 * 60) / msRuntime)));
end;

function TotalLaps: Integer;
var
i, h: Integer;
begin
Result := 0;
for i := 0 to h do
Result := Result + Players[i].Integers[2];
end;

function TotalEXP: Extended;
var
i, h: Integer;
begin
Result := 0;
for i := 0 to h do
Result := Result + (Players[i].Integers[2] * 86.5);
end;

procedure ProgressReport;
var
textArray: TStringArray;
i, h: Integer;
begin
textArray := [
'Running For: ' + TimeRunning,
'Laps Completed: ' + IntToStr(Players[CurrentPlayer].Integers[2]),
'EXP Gained: ~' + gestimateEXPGained,
'EXP/HR: ~' + expPerHour
];
{$IFDEF SMART}
DrawOnSMART(textArray, WHITE_TEXT);
{$ENDIF}
ClearDebug;
WriteLn('Running For: ' + TimeRunning);
WriteLn('Laps Completed: ' + IntToStr(TotalLaps));
WriteLn('Total EXP Gained: ' + FloatToStr(TotalEXP));
h := HowManyPlayers - 1;
for i := 0 to h do
begin
WriteLn('[' + Players[i].Name + '] ' + IntToStr(PlayerWorked(CurrentPlayer)));
WriteLn(' Laps: ' + IntToStr(Players[i].Integers[2]));
WriteLn(' Exp Gained: ' + FloatToStr(Players[i].Integers[2] * 86.5));
WriteLn(' Exp P/H: ' + numFormat(FloatToStr(Round((Players[i].Integers[2] * 86.5) * (1000 * 60 * 60) / PlayerWorked(i)))));
end;
end;

label
CourseStart;
begin
{$IFDEF SMART}
Smart_Server := 2;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ENDIF}
SetupSRL;
DeclarePlayers;
ProgressReport;
repeat
if (not LoggedIn) then
begin
LogInPlayer;
SetAngle(True);
end;
PlayerStartTime := GetSystemTime;
repeat
CourseStart:
if (not doLog) then
begin
Wait(2500 + Random(1500));
if (not doLog) then
begin
locateToLog;
if (not doLog) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
end;
end;
if (not doFence) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
if (not doBranch) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
if (not doRope(False)) then
begin
if (InRange(CountColor(SRL_GetBlackBackground, MMX1, MMY1, MMX2, MMY2), 16000, 17000)) then
begin
if (doBranch) then
begin
if (not doRope(False)) then
begin
if (not attempToRelocate) then
Logout
else
goto CourseStart;
end;
end else
if (not attempToRelocate) then
Logout
else
goto CourseStart;
end else
if (not doRope(False)) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
end;
if (not doBranch2) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
if (not doFence2) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
if (not doTube) then
if (not attempToRelocate) then
Logout
else
goto CourseStart;
Inc(Players[CurrentPlayer].Integers[2]);
Inc(Players[CurrentPlayer].Integers[3]);
ProgressReport;
locateToLog;
if (Players[CurrentPlayer].Integers[3] > Players[CurrentPlayer].Integers[0]) then
Break;
if (Players[CurrentPlayer].Integers[2] > Players[CurrentPlayer].Integers[1]) then
Logout;
until not LoggedIn;
Players[CurrentPlayer].Integers[3] := 0;
NextPlayer(LoggedIn);
until AllPlayersInActive;
end.

Frement

2010-12-27 02:26:00

I can only say one thing, WOW! Very nice second script.

Train

2010-12-27 02:27:12

From: Frement
I can only say one thing, WOW! Very nice second script.


Thank you very much!

Happy Holidays!
~ Train

mikev

2010-12-27 02:29:24

dedication!
I must try this out

Train

2010-12-27 02:30:19

From: mikev
dedication!
I must try this out


Please do! Give me a few progress reports. :D
Pushed out v0.2, it should fix a few misclicks caused by lag. Try it! :D

RISK

2010-12-27 02:40:40

Your password is in your script. I have PM'd you a changed one.

Train

2010-12-27 02:41:35

From: RISK
Your password is in your script. I have PM'd you a changed one.


Oh, thanks.

Frement

2010-12-27 02:43:23

From: Train
Oh, thanks.


This is the reason why SRL is the best community ;)

Train

2010-12-27 02:44:19

From: Frement
This is the reason why SRL is the best community ;)


I was nervous there for a second, haha. Thanks everyone!

Frement

2010-12-27 02:54:24

Yeah I remember the first time too when I forgot my information on a script, my experiences weren't as pleasant as yours.

Train

2010-12-27 02:55:43

From: Frement
Yeah I remember the first time too when I forgot my information on a script, my experiences weren't as pleasant as yours.


…well, I'm sorry to hear that.. :\

Huthaifah

2010-12-27 04:03:24

Running it now hopefully I will get ya a nice proggie :D.

Train

2010-12-27 10:30:59

Great! :)

Huthaifah

2010-12-27 11:38:51

Running For: 5 Hours, 13 Minutes and 52 Seconds
Laps Completed: 340
Total EXP Gained: 29410
[———] 18830391
Laps: 340
Exp Gained: 29410
Exp P/H: 5,623

My first reflection. Hope you like it. 1-37 agility in 5 hours, love you man, (not in a gay way).

Train

2010-12-27 19:32:04

From: Huthaifah
Running For: 5 Hours, 13 Minutes and 52 Seconds
Laps Completed: 340
Total EXP Gained: 29410
[———] 18830391
Laps: 340
Exp Gained: 29410
Exp P/H: 5,623

My first reflection. Hope you like it. 1-37 agility in 5 hours, love you man, (not in a gay way).


This script doesn't use reflection, it's 100% color.
Unless you meant first impression, if so, cool! Thanks, added to main page. :D

Huthaifah

2010-12-27 22:49:51

Your welcome, I'll do anything that will make a fellow community member happy. Anytime bro, any time.

Train

2010-12-27 23:17:59

From: Huthaifah
Your welcome, I'll do anything that will make a fellow community member happy. Anytime bro, any time.


Just wish it was more popular. :p

Huthaifah

2010-12-28 00:17:13

Dude, keep it on the front page, like bumped, and it'll become popular. I'm going to use this bot to get 70 agility :D. Don't worry about popularness, as long as it is a good bot, and that you know it's been done pro'ly.

Train

2010-12-28 00:19:58

From: Huthaifah
Dude, keep it on the front page, like bumped, and it'll become popular. I'm going to use this bot to get 70 agility :D. Don't worry about popularness, as long as it is a good bot, and that you know it's been done pro'ly.


70?! Use barbarian by then.

Huthaifah

2010-12-28 01:11:03

Do you have a barbarian?

Mike408

2010-12-28 02:26:18

im using this now and i notice theres alot of erratic mouse movements? is this a color guided script?
Good script though. Going to use it for a few hours.

i luffs yeww

2010-12-28 02:41:23

This is a color script.

Mike408

2010-12-28 02:41:24

Doesn't take breaks. Assumes there are multiple players and logs out and logs back in the same account after set amount of laps.

Train

2010-12-28 09:49:05

From: Mike408
Doesn't take breaks. Assumes there are multiple players and logs out and logs back in the same account after set amount of laps.


Why do you need breaks? ;)
Logging out and in will prevent a crap load of randoms.
If you don't want it to logout/in, make the laps per login the same as how many you want to do.

Of course it's color, reflection is no fun!

@Erratic mouse movements:
Try a different world.
ALSO, make sure your Brightness is on MAX.

Frement

2010-12-28 09:53:41

Bought members today, so I'll be testing when I get some time ;)

Train

2010-12-28 09:55:59

From: Frement
Bought members today, so I'll be testing when I get some time ;)


Yippee!

Becks

2010-12-28 12:29:31

Train.. you are the man. Keep up the good work. Have you applied for SRL Members?! :)

P3rs0nal1ty

2010-12-28 16:20:22

Will be trying it out later (: gotta do experiments quest real fast. btw how do people keep stats of all their scripts and how long theyve ran and the xp theyve gained? ive seen a couple people with cool looking proggie type things in their posts.

Train

2010-12-28 18:46:42

From: Becks
Train.. you are the man. Keep up the good work. Have you applied for SRL Members?! :)

No, I haven't applied for SRL members, I don't think this script is worthy enough.

From: donkey60000
Will be trying it out later (: gotta do experiments quest real fast. btw how do people keep stats of all their scripts and how long theyve ran and the xp theyve gained? ive seen a couple people with cool looking proggie type things in their posts.

Wat?

Huthaifah

2010-12-28 18:49:39

Dude, use any one of your scripts to apply and you got a vote from me, if I can vote. Dude, don't worry your bot's are A okay.

Train

2010-12-28 18:59:06

From: Huthaifah
Dude, use any one of your scripts to apply and you got a vote from me, if I can vote. Dude, don't worry your bot's are A okay.


I'm pretty sure you have to be a SRL Member to vote for me to be a SRL Member.

But thanks anyways. ;)

Becks

2010-12-28 19:01:04

From: Train
I'm pretty sure you have to be a SRL Member to vote for me to be a SRL Member.

But thanks anyways. ;)


Correct.

Train

2010-12-28 19:08:05

From: Becks
Correct.


Heh, I need a new script idea. :p

Frement

2010-12-28 19:12:26

From: Train
Heh, I need a new script idea. :p


Monk Killer, heal from monks, no need for food.

Train

2010-12-28 19:18:56

From: Frement
Monk Killer, heal from monks, no need for food.


I was thinking along the lines of a Soul Wars bot (color), but I suppose I can make that quickly. :D

Becks

2010-12-28 21:40:22

From: Train
I was thinking along the lines of a Soul Wars bot (color), but I suppose I can make that quickly. :D


Herb cleaner :)

Frement

2010-12-28 21:49:50

Well, now that we turn this into request topic, a fletcher would be nice (with all options, make it as extensive as possible).

Her0n

2010-12-28 21:57:03

From: Frement
Monk Killer, heal from monks, no need for food.


This this this!
My defense pure needs it! :p

Train

2010-12-29 10:27:08

Omg, on topic plz. Someone try it. ;)

Her0n

2010-12-29 13:53:36

I'll be sure to!

Train

2010-12-29 14:17:56

From: Her0n
I'll be sure to!


:).

Frement

2010-12-29 14:39:23

It's currently running, I noticed it said "Cannot Reach" stuff, but it still was going pretty well, I don't have time to go over the script to see if thats a bug or a failsafe, but still very nice, runs pretty smoothly, the rope finding could use some tweaking (It takes the gnomes shoulder as the rope, so it hovers that, some color tweaking or something should fix it I'm sure). Other then those, very nice.

Running For: 13 Minutes and 0 Seconds
Laps Completed: 14
Total EXP Gained: 1211

Train

2010-12-29 14:45:43

From: Frement
It's currently running, I noticed it said "Cannot Reach" stuff, but it still was going pretty well, I don't have time to go over the script to see if thats a bug or a failsafe, but still very nice, runs pretty smoothly, the rope finding could use some tweaking (It takes the gnomes shoulder as the rope, so it hovers that, some color tweaking or something should fix it I'm sure). Other then those, very nice.

Running For: 13 Minutes and 0 Seconds
Laps Completed: 14
Total EXP Gained: 1211


If it clicks too far on the rope, the chat will say "Cannot Reach", and will attempt to click the rope again.

Frement

2010-12-29 14:47:18

It seems that I spoke too soon, this is Simbas debug box:
Running For: 16 Minutes and 4 Seconds
Laps Completed: 17
Total EXP Gained: 1470.5
[************] 941091
Laps: 17
Exp Gained: 1470.5
Exp P/H: 5,625
NextPlayer
SwitchToPlayer(PlayerNo: 0, Active: False);
1
2
Successfully executed.

It had just come out of the pipe, suddenly changed players? Laps set to 100 and total to 100.

Train

2010-12-29 15:11:48

From: Frement
It seems that I spoke too soon, this is Simbas debug box:
Running For: 16 Minutes and 4 Seconds
Laps Completed: 17
Total EXP Gained: 1470.5
[************] 941091
Laps: 17
Exp Gained: 1470.5
Exp P/H: 5,625
NextPlayer
SwitchToPlayer(PlayerNo: 0, Active: False);
1
2
Successfully executed.

It had just come out of the pipe, suddenly changed players? Laps set to 100 and total to 100.


Did the script logout after it exited the pipe?
Edit: did it attempt to click back to the main log?

Frement

2010-12-29 15:29:47

From: Train
Did the script logout after it exited the pipe?
Edit: did it attempt to click back to the main log?


It just stood there.

Train

2010-12-29 15:44:52

From: Frement
It just stood there.


So locateToLog; failed…
Could you try a different world and see if it happens again?

Frement

2010-12-29 16:28:10

Same world, had a flawless run:
Running For: 1 Hours, 31 Minutes and 35 Seconds
Laps Completed: 102
Total EXP Gained: 8823
[***********'] 5458959
Laps: 102
Exp Gained: 8823
Exp P/H: 5,818

Becks

2010-12-29 17:35:27

From: Frement
Same world, had a flawless run:
Running For: 1 Hours, 31 Minutes and 35 Seconds
Laps Completed: 102
Total EXP Gained: 8823
[***********'] 5458959
Laps: 102
Exp Gained: 8823
Exp P/H: 5,818


Maybe just some awkward lagg o.O I will also be testing soon.

Frement

2010-12-29 17:43:30

Oh yeah, I was downloading at that time, might have caused that.

Train

2010-12-29 19:00:02

Hm.. that's still funny… it shouldn't of just..failed…

Huthaifah

2010-12-29 19:09:15

Train, I told you not to worry about popularity, now look, your script has 3 pages :D. It's because of the good work you put into your scripts.

Train

2010-12-29 20:08:29

From: Huthaifah
Train, I told you not to worry about popularity, now look, your script has 3 pages :D. It's because of the good work you put into your scripts.


:p..

Her0n

2010-12-29 21:27:59

Running For: 2 Hours, 57 Minutes and 25 Seconds
Laps Completed: 156
Total EXP Gained: 13494
[awsumsauxe] 10615790
Laps: 156
Exp Gained: 13494
Exp P/H: 4,576
Very good!

P3rs0nal1ty

2010-12-29 22:40:04

From: donkey60000
Will be trying it out later (: gotta do experiments quest real fast. btw how do people keep stats of all their scripts and how long theyve ran and the xp theyve gained? ive seen a couple people with cool looking proggie type things in their posts.


LAWL i was so high yesterday.. anyways, ran for 2.5 hours, 5.2k xp per hour, 15k xp total. (: nice script. 30 agi in 2.5 hours. (: keep up the good work train.

Train

2010-12-29 22:49:46

From: donkey60000
LAWL i was so high yesterday.. anyways, ran for 2.5 hours, 5.2k xp per hour, 15k xp total. (: nice script. 30 agi in 2.5 hours. (: keep up the good work train.


progress report please?

Frement

2010-12-29 23:15:16

Running For: 40 Minutes and 38 Seconds
Laps Completed: 47
Total EXP Gained: 4065.5
[************] 2414053
Laps: 47
Exp Gained: 4065.5
Exp P/H: 6,063

46-48 with the script. You should make one for Agility Pyramid. Level requirement is 30, isn't it better exp also?

Huthaifah

2010-12-29 23:20:31

From: Her0n
Running For: 2 Hours, 57 Minutes and 25 Seconds
Laps Completed: 156
Total EXP Gained: 13494
[Zezima] 10615790
Laps: 156
Exp Gained: 13494
Exp P/H: 4,576
Very good!

You might want to remove your username just incase.

Her0n

2010-12-29 23:34:18

From: Huthaifah
You might want to remove your username just incase.


Take it out of the quote then!

P3rs0nal1ty

2010-12-29 23:38:30

From: Train
progress report please?


i already closed the script. where do i find the proggie? sorry im not new, but im a noob cuz i just came back (;

Frement

2010-12-30 01:09:50

Running For: 1 Hours, 46 Minutes and 58 Seconds
Laps Completed: 123
Total EXP Gained: 10639.5
[************] 6417303
Laps: 123
Exp Gained: 10639.5
Exp P/H: 5,969

Train

2010-12-30 12:54:26

Sweeeeeeeeeet progress reports dudes. :D
Agility pyramid? I was thinking like the Brimhaven Agility Arena, if anything.

Huthaifah

2010-12-30 12:57:01

From: Her0n
Take it out of the quote then!

Oh, sorry didn't realize, will do right now.

Frement

2010-12-30 12:58:13

From: Train
Sweeeeeeeeeet progress reports dudes. :D
Agility pyramid? I was thinking like the Brimhaven Agility Arena, if anything.


Well, I have 49 agility, just make something that I can use and you will get progress reports :)

wondersueak

2010-12-31 01:59:31

Yeah I'd definitely use an Agility Pyramid one. I will use this since it's currently the only working agility script.

If you need a testing account for that I can provide one. If you were to make one. Just saying for future reference. ;)

Amazing script! btw.

Train

2010-12-31 16:49:14

From: wondersueak
Yeah I'd definitely use an Agility Pyramid one. I will use this since it's currently the only working agility script.

If you need a testing account for that I can provide one. If you were to make one. Just saying for future reference. ;)

Amazing script! btw.


Thanks.

Becks

2011-01-03 01:14:28

Running For: 6 Hours, 9 Minutes and 18 Seconds
Laps Completed: 391
Total EXP Gained: 33821.5
[xxx] 21915187
Laps: 391
Exp Gained: 33821.5
Exp P/H: 5,556

stopped myself ;)

Train

2011-01-03 17:15:32

From: Becks
Running For: 6 Hours, 9 Minutes and 18 Seconds
Laps Completed: 391
Total EXP Gained: 33821.5
[xxx] 21915187
Laps: 391
Exp Gained: 33821.5
Exp P/H: 5,556

stopped myself ;)


s00 3pic.

epic risk

2011-01-20 23:54:02

[Hint] (315:3): Variable 'H' never used at line 314
[Error] (1:1): Unexpected end of file at line 0
Compiling failed.

i am getting this every time i try to run this script idk what to do :S

Train

2011-01-21 16:25:40

..did you copy the script into Simba?

chitin

2011-02-18 03:19:29

yay! now how bout pyramid? itll be a bit harder due to damage + the water problem but…i usually take like 8 waters(4) and 20 cakes and its all good. alond with desert robes and a regen. dont got the tiara sadly…

Frement

2011-02-18 04:59:14

From: chitin
yay! now how bout pyramid? itll be a bit harder due to damage + the water problem but…i usually take like 8 waters(4) and 20 cakes and its all good. alond with desert robes and a regen. dont got the tiara sadly…


Enchanted water tiara should take care of the water problem? I read somewhere that such thing exists. Does resting restore hitpoints? If so, then resting should be fine, if not, then just walk to AK bank and get food when out, and repeat.

Train

2011-02-19 01:16:46

Does this script even still work? I have no idea.

Wanted

2011-02-19 02:22:00

I used it about a week ago to get 35 agility, then marpis's script get 57 agility.

Train

2011-02-19 13:01:24

From: IceFire908
I used it about a week ago to get 35 agility, then marpis's script get 57 agility.


I"ll take that as a yes. Thanks. :)

Icyx

2011-04-02 15:14:23

Why did the script maker get banned?
Is this script even safe? o.O *worried*

Yago

2011-04-02 15:18:20

Heres a link:

http://villavu.com/forum/showthread.php?t=63327

And the reasons behind it:

http://villavu.com/forum/showthread.php?t=63329

And the script is probably safe/works. I dont know if it will for long though. Or the rules behind taking/ editting/making it your own/ in relations to the scripts of banned users.

Icyx

2011-04-02 15:23:54

From: Yago
Heres a link:

http://villavu.com/forum/showthread.php?t=63327

And the reasons behind it:

http://villavu.com/forum/showthread.php?t=63329

And the script is probably safe/works. I dont know if it will for long though. Or the rules behind taking/ editting/making it your own/ in relations to the scripts of banned users.


Oh, thanks. I could of easily found that myself actually :blushing:
The script seems to be working so far. *yay lvl 2 agility*

Yago

2011-04-02 15:25:31

No problem. If runescape is updated or something then the script might fail, but for now it should work as well as it was built to…

King of the Nites

2011-04-02 15:46:05

The script is definitely safe. If you want to get in touch with the script owner, PM me and I'll give you his MSN. I'm sure if you asked him to, he would update the script if it is needed.

~King of the Nites

Icyx

2011-04-02 16:32:06

From: King of the Nites
The script is definitely safe. If you want to get in touch with the script owner, PM me and I'll give you his MSN. I'm sure if you asked him to, he would update the script if it is needed.

~King of the Nites


Well it is a bit buggy actually, but don't worry about it! :)
I'll get 35 agility manually :)
Thanks though.

Juggo

2011-05-01 02:04:15

I will be posting a proggy when I wake up about this bot, showing you how effective it still is!
40 mins, so far, will update when I wake up!