teh_lulz
2009-06-06 07:42:33
Hello, my name is teh_lulz, this is my first script… /obvious
Edit: Updated with some small antiban (just one procedure of it has been added so far)
Things I need to do still:
All the info stuff up there^^ looks pretty messed up, it looks right in SCAR.
- The script is designed to auto the ape-atoll agility course, the procedures are pretty basic at the moment and no anti-ban has been added (yet!)
- There is no need for anti-randoms because as a monkey you cannot get a random.
- This script will only work if you have 75+ agility (perhaps one day I'll update it to work with lower agility levels, but adding a banker + food eater + re-adjusting yourself after falling is a little too much, just get 75 agility. :P)
- Anti-Ban and more failsafes (especially in the main-loop) will be added soon, so stick around.
Edit: Updated with some small antiban (just one procedure of it has been added so far)
Things I need to do still:
- Add more failsafes.
- Add more anti-ban (and more humanlike-ness.)
- Do some IncCount's and get a proggy going.
- Get 75 agility on my account so I can test this vigorously, lol. >_>
(*==================================================================]
[ Monkey Business, Ape Atoll Agility Script ]
[ ]
[ Name : Monkey Business ]
[ Writer : teh_lulz @srl-forums(Villavu.com ]
[ Category : Agility ]
[ Description : Completes ape atoll agility course ]
[ Usage : Start at the nearest square next to... ]
[ the stepping stone. ]
[ SRL Used : Version 4.0, Revision #33 ]
[ SCAR Used : 3.20d Divi by Freddy1990 ]
[ ]
[ More Scripts can be found at ]
[ [url]www.SRL-Forums.com[/url] ]
[===================================================================]
[ Instructions ]
[===================================================================]
[ 1. Press play! ]
[ 2. Fill out the form asking for your account details/lap count ]
[ 3. Let the script run by itself. ]
[ **Warning - I'd advise you to stay near your computer as this ]
[ script is still in it's 'BETA' stages. I need info on all bugs ]
[ that will need to be fixed. Thanks. ]
[===================================================================]
[ Features ]
[ 1. Form, not a sexy one, but still a form! ]
[ 2. Automatically sleeps/logs back in. ]
[ 3. S.M.A.R.T enabled, look at that pron while you auto ;) ]
[ 4. Uses very little reflection, mostly colored. ]
[===================================================================]
[ Credits ]
[ 1. teh_lulz: Script creator. ]
[ 2.Regular IRC helpers: Widget, Dan's The Man, Ogre... ]
[ cyrocism, Harryy, Hobbit... Sorry if I haven't mentioned ]
[ you but you know you've helped me! Just pm me. ]
[ 3. StarBlaster: FindObjCustom = savior. ;p ]
[ 4. Tutorial Writers at SRL. Honestly, can't thank you guys ]
[ enough, too many people to list here, but you guys are awesome. ]
[ 5. Harryy - I kinda stole this info layout from him. :P ]
[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
//Some things about this script: It doesn't need anti-randoms because there is a 0 possibility of
// receiving a random while you are a monkey on Ape-Atoll Island. I know how to use Anti-randoms
// but it isn't needed for this script. Thanks.
program ApeAtollAgility;
{.include SRL\SRL.scar}
var
AntiBansPerformed: Integer;
frmDesign : TForm;
Label1, Label2, Label3, Label4, Label5, Label6, Label7 : TLabel;
Edit1, Edit2, Edit3, Edit4, Edit5 : TEdit;
Finish : TButton;
LapCount, TotalTime, HowManyLaps, WorldNumber, Index, GreeGreeDTM: Integer;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| The Form - Form stuff. ||
|| By: teh_lulz, Taught by: MasterKill, Dan's the Man ||
\\_________________________________________________________________*)
procedure FinishButton(Sender: TObject);
begin
WriteLn('Thank you for using this script, remember to post progress reports!');
frmDesign.ModalResult:= mrOk;
end;
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 259;
frmDesign.Top := 111;
frmDesign.Width := 376;
frmDesign.Height := 355;
frmDesign.Caption := 'Ape Atoll Agility... By: Teh_Lulz';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 32;
Label1.Top := 112;
Label1.Width := 77;
Label1.Height := 13;
Label1.Caption := 'Character Name';
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 32;
Label2.Top := 144;
Label2.Width := 95;
Label2.Height := 13;
Label2.Caption := 'Character Password';
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 32;
Label3.Top := 176;
Label3.Width := 71;
Label3.Height := 13;
Label3.Caption := 'Character Nick';
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 32;
Label4.Top := 208;
Label4.Width := 74;
Label4.Height := 13;
Label4.Caption := 'Amount of Laps';
Label5 := TLabel.Create(frmDesign);
Label5.Parent := frmDesign;
Label5.Left := 40;
Label5.Top := 24;
Label5.Width := 306;
Label5.Height := 23;
Label5.Caption := 'Monkey Business - Ape Atoll Agility';
Label5.Font.Color := clWindowText;
Label5.Font.Height := -21;
Label5.Font.Name := 'Times New Roman';
Label5.Font.Style := [];
Label5.ParentFont := False;
Label6 := TLabel.Create(frmDesign);
Label6.Parent := frmDesign;
Label6.Left := 120;
Label6.Top := 64;
Label6.Width := 101;
Label6.Height := 21;
Label6.Caption := 'By: Teh_Lulz';
Label6.Font.Color := clWindowText;
Label6.Font.Height := -19;
Label6.Font.Name := 'Times New Roman';
Label6.Font.Style := [];
Label6.ParentFont := False;
Label7 := TLabel.Create(frmDesign);
Label7.Parent := frmDesign;
Label7.Left := 80;
Label7.Top := 248;
Label7.Width := 68;
Label7.Height := 13;
Label7.Caption := 'World Number';
Edit1 := TEdit.Create(frmDesign);
Edit1.Parent := frmDesign;
Edit1.Left := 136;
Edit1.Top := 112;
Edit1.Width := 161;
Edit1.Height := 21;
Edit1.TabOrder := 8;
Edit1.Text := 'Zezima';
Edit2 := TEdit.Create(frmDesign);
Edit2.Parent := frmDesign;
Edit2.Left := 136;
Edit2.Top := 144;
Edit2.Width := 161;
Edit2.Height := 21;
Edit2.TabOrder := 9;
Edit2.PasswordChar := '*'
Edit2.Text := 'Youwish';
Edit3 := TEdit.Create(frmDesign);
Edit3.Parent := frmDesign;
Edit3.Left := 136;
Edit3.Top := 176;
Edit3.Width := 161;
Edit3.Height := 21;
Edit3.TabOrder := 10;
Edit3.Text := 'ezi';
Edit4 := TEdit.Create(frmDesign);
Edit4.Parent := frmDesign;
Edit4.Left := 136;
Edit4.Top := 208;
Edit4.Width := 161;
Edit4.Height := 21;
Edit4.TabOrder := 11;
Edit4.Text := '150';
Finish := TButton.Create(frmDesign);
Finish.Parent := frmDesign;
Finish.Left := 104;
Finish.Top := 280;
Finish.Width := 129;
Finish.Height := 33;
Finish.Caption := 'Finish';
Finish.TabOrder := 12;
Finish.OnClick := @FinishButton;
Edit5 := TEdit.Create(frmDesign);
Edit5.Parent := frmDesign;
Edit5.Left := 168;
Edit5.Top := 240;
Edit5.Width := 65;
Edit5.Height := 21;
Edit5.TabOrder := 13;
Edit5.Text := '144';
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
procedure DeclarePlayers; //I only made it for one... because how many 75+ agility characters can one man have?
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0 // Starting player
Players[0].Name := Edit1.Text; // Character Name
Players[0].Pass := Edit2.Text; // Character Pass
Players[0].Nick := Edit3.Text; // Nickname 3 - 4 Letter's of char name
Players[0].Integers[0] := 0;
Players[0].Active := True;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| AntiBan: So you don't get banned, silly. ||
|| By: teh_lulz. ||
|| Credits: SRL devs team, Freddy of course. ||
\\_________________________________________________________________*)
procedure AntiBan;
begin
Inc(AntiBansPerformed);
Wait(250 + Random(250));
case random(50) of
0: begin
PickUpMouse;
MakeCompass(random(360));
RandomMovement;
GameTab(RandomRange(1, 14));
end;
1: begin
PickUpMouse;
GameTab(RandomRange(1, 14));
end;
2: begin;
PickUpMouse;
IdleTime(3000, 10, 10.5);
GameTab(RandomRange(1, 14));
end;
3: begin
MakeCompass(RandomRange(150, 170));
GameTab(RandomRange(1, 14));
end;
4: begin
GameTab(RandomRange(1, 14));
MakeCompass(RandomRange(160, 190));
end;
5: begin
MakeCompass(random(360));
end;
6: begin
HoverSkill('agility', false);
PickUpMouse;
GameTab(RandomRange(1, 14));
end;
7: MMouse(random(250), random(250), 10, 10);
8: SleepAndMoveMouse(1000 + random(1000));
9: MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
10: IdleTime(1000 + random(1000), 10, 2.4);
11: MakeCompass(RandomRange(130, 180));
12: RandomRClick;
end;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| LoadGreeGreeDTM: Loads the GreeGreeDTm ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure LoadGreeGreeDTM; // For showing knowledge of DTMs only really...
begin
GreeGreeDTM := DTMFromString('78DA633CC1C4C070879101195CD693661001D' +
'220D1FF40C07814A8E60AAA1A882C8C04D217816AEE1350B30DA8' +
'E6037E35008BB90BD7');
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| CheckGreeGree: Checks to see if the GreeGree is in your Invo ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
function CheckGreeGree(DTM: Integer): Boolean;
var
x, y: Integer;
begin
GameTab(5);
if FindDTM(GreeGreeDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
Result := True;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| SteppingRock: Finds stepping rock, clicks on it... ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure SteppingRock;
var
x, y: Integer;
begin
if (not (LoggedIn)) then TerminateScript;
if FindObjCustom(x, y, ['eppi', 'ping'], [9140846, 2051414, 2249822, 1720648, 1058861], 8) then
begin
Writeln('Found the stepping rock, clicking...');
case random(2) of
0: begin
Mouse(x, y, 1, 1, true);
end;
1: begin
Mouse(x, y, 1, 1, false);
ChooseOption('eppi');
end;
end
Writeln('Clicked stepping rock...');
end
else MouseBox(297, 182, 307, 189, 2);
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| FindTreeOne: Finds the first tropical tree and ||
|| clicks on it. ||
|| By: teh_lulz ||
|| Credits: Starblaster(FindObjCustom) ||
\\_________________________________________________________________*)
procedure FindTreeOne;
var
x, y: Integer;
begin
if (not (LoggedIn)) then
begin
TerminateScript;
end;
MakeCompass('S');
Writeln('Beginning to find the tree...');
if FindObjCustom(x, y, ['opi', 'cal', 'rop'], [3892096, 2440784, 4421521, 1912895, 1451055, 2572628], 10) then
begin
Writeln('Found tree, clicking...');
case random(2) of //small anti-ban procedure, used throughout script.
0: begin
Mouse(x, y, 1, 1, True);
end;
1: begin
Mouse(x, y, 1, 1, false);
ChooseOption('ree');
end;
end;
end
else
begin
Writeln('Could not find tree, sorry...');
LogOut;
TerminateScript;
end;
Exit;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| FindMonkeyBars: Finds monkey bars, clicks them ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure FindMonkeyBars;
var
MonkeyBarColor: TIntegerArray;
x, y: Integer;
begin
MakeCompass('W');
MonkeyBarColor := [7185086, 6196388, 5932701, 4218736];
if (not (LoggedIn)) then Terminatescript;
if FindObjCustom(x, y, ['onk', 'bar', 'key'], MonkeyBarColor, 15) then
begin
Writeln('Found the monkey bar, clicking...');
Mouse(x, y, 4, 4, false);
ChooseOption('onke');
end
else
begin
Writeln('Couldn''t find the monkey bars, logging out/terminating script.');
LogOut;
TerminateScript;
end;
Exit;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| ClimbTheRocks: Climbs the Skull slope. ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure ClimbTheRocks;
var
x, y: Integer;
begin
if (not (LoggedIn)) then
begin
TerminateScript;
end;
if FindObjCustom(x, y, ['ull', 'ope', 'kul'], [1521727, 3367532, 2183514, 2315614], 5) then
begin
Writeln('Found the skull slopes, clicking them...')
case random(2) of
0: begin
Mouse(x, y, 1, 1, true);
end;
1: begin
Mouse(x, y, 1, 1, false);
ChooseOption('ull');
end;
end;
Exit;
end
else
begin
Writeln('Could not find the skull slope... logging out and terminating...');
LogOut;
TerminateScript;
end;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| WalkToTheRope: Walks to the rope using RadilWalk. ||
|| By: teh_lulz ||
|| Taught By: WT-Fawkawi ||
\\_________________________________________________________________*)
procedure WalkToTheRope;
var
x, y: Integer;
begin
if (not (LoggedIn)) then TerminateScript;
MakeCompass('N');
if RadialWalk(FindWaterColor, 125, 140, 75, 1, 1)then
begin
Writeln('Walked to rope using radial walk');
Wait(250);
end
else
begin
FindColorTolerance(x, y, FindWaterColor, 658, 133, 669, 145, 20);
Mouse(x, y, 1, 1, true);
Writeln('Walked to rope using FindColorTolerance');
Wait(250);
end;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| TheRope: Finds the rope, and clicks on it. ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure TheRope;
var
x, y: Integer;
begin
if (not (LoggedIn)) then
begin
TerminateScript;
end;
MakeCompass('N');
SetAngle(False);
if FindObjCustom(x, y, ['ope', 'ing'], [2384992, 2583399, 2451556], 6) then
begin
Writeln('Found the rope, clicking...');
case random(2) of
0: begin
Mouse(x, y, 1, 1, true);
end;
1: begin
Mouse(x, y, 1, 1, false);
ChooseOption('ope');
end;
end;
end
else
begin
Writeln('Could not find the rope... terminating and logging out.');
LogOut;
TerminateScript;
end;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| TropicalTree: Does the vine climb thing :O ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure TropicalTree;
var
x, y: Integer;
begin
if (not (LoggedIn)) then TerminateScript;
MakeCompass('s');
if FindObjCustom(x, y, ['opic', 'ree', 'cal'], [5344941, 4551316, 51452563430257], 10) then
begin
Writeln('Found the tropical tree, clicking...');
case random(2) of
0: begin
Mouse(x, y, 1, 1, true);
end;
1: begin
Mouse(x, y, 1, 1, false);
ChooseOption('limb');
end;
end
Writeln('Couldn''nt find Trop Tree, using failsafe.');
end
else
begin
Writeln('Couldn''t find the tree,,, logging out/terminating script.');
LogOut;
TerminateScript;
end;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| WalkBackToRock: Walks back to rock using agility ||
|| the agility symbol/ RunTo('w') ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure WalkBackToRock; // sorry kinda sloppy standards,,, I think?
var
counter: Integer;
x, y: Integer;
begin
if (not (LoggedIn)) then TerminateScript;
MakeCompass('N');
if FindSymbol(x, y, 'agility') then
begin
Writeln('Finding the agility symbol...');
Writeln('Using agility symbol to restart loop');
Mouse(x, y, 1, 1, true);
if (not (FlagPresent)) then
Writeln('Flag gone... repeating agility loop.');
exit;
if FlagPresent then
repeat
Wait(500);
counter := counter + 1;
if FlagPresent then break;
until (FlagPresent = false) or (counter = 50);
end
else
if RadialWalk(FindWaterColor, 264, 251, 66, 2, 2)then
begin
Writeln('Walking back to stepping rock using RadialWalk');
end
else
if RadialWalk(FindWaterColor , 270, 244, 68, 2, 2)then
begin
Writeln('Used failsafe to walk to stepping rock using RadialWalk');
if FindSymbol(x, y, 'Agility') then
Mouse(x, y, 1, 1, true);
end else
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| ProgressReport: Prints off time running... ||
|| laps done, and experience gained. Please post them! ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure ProgressReport;
begin;
Writeln('Teh_Lulz Ape Atoll Agility script');
Writeln('');
Writeln('Script has been working for'+ TimeRunning);
Writeln('');
Writeln('Script has done'+ IntToStr(LapCount)+'laps');
Writeln('');
LapCount:= LapCount*85;
Writeln('Exprience Gained:'+ IntToStr(LapCount));
Writeln('');
Writeln('Antibans performed:'+ IntToStr(AntiBansPerformed));
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| DoLaps: This is the loop for doing laps. ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure DoLaps;
var
RockTime, TreeTime, MonkeyTime, SkullTime, WalkRopeTime, RopeTime, TropTime, WalkTime: Integer;
Counter, LapCount: Integer;
begin
MakeCompass('S');
SteppingRock;
begin
MarkTime(RockTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(RockTime) > 3500 + Random(1000) then break;
until(counter = 5);
end;
FindTreeOne;
begin
MarkTime(TreeTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(TreeTime) > 3000 + Random(1000) then break;
until(counter = 5);
end;
FindMonkeyBars;
begin
MarkTime(MonkeyTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(MonkeyTime) > 5000 + Random(1000) then break;
until(counter = 5);
end;
MakeCompass('W');
ClimbTheRocks;
begin
MarkTime(SkullTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(SkullTime) > 5000 + Random(1000) then break;
until(counter = 5);
end;
WalkToTheRope;
begin
MarkTime(WalkRopeTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(WalkRopeTime) > 6000 + Random(1000) then break;
until(counter = 5);
end;
TheRope;
begin
MarkTime(RopeTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(RopeTime) > 3000 + Random(1000) then break;
until(counter = 5);
end;
TropicalTree;
begin
MarkTime(TropTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(TropTime) > 8000 + Random(1000) then break;
until(counter = 5);
end;
SetRun(True);
WalkBackToRock;
begin
MarkTime(WalkTime);
repeat
AntiBan;
Counter:= Counter + 1
if TimeFromMark(WalkTime) > 8000 + Random(1000) then break;
until(counter = 5);
end;
Inc(LapCount);
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| LogAndSleep: Checks time running, used in main loop. ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
function LogAndSleep: Boolean;
begin
if TimeFromMark(TotalTime) > 3600000 + Random(1200000)then
Result:= True;
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| LogOutWaitLogIn: Logs out, waits, logs in! ||
|| this is apart of the 'sleeping' procedure. ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure LogOutWaitLogIn;
begin
LogOut;
Wait(300000 + Random(600000));
LogInPlayer;
TotalTime:= 0;
MarkTime(TotalTime);
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| SetUpScript: Sets up the script, activates SMART and the form. ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
procedure SetUpScript;
begin
ClearDebug;
SafeInitForm;
SafeShowFormModal;
ActivateClient;
SetUpSrl;
WorldNumber:= StrToInt(Edit5.text);
MouseSpeed := 13;
DeclarePlayers;
Wait(3000 + random(400));
end;
(*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
|| The Main Loop: Pretty self explanatory ;o ||
|| By: teh_lulz ||
\\_________________________________________________________________*)
begin
SetUpScript;
LoginPlayer;
LoadGreeGreeDTM;
if (CheckGreeGree(GreeGreeDTM) = True) then
begin
Writeln('You didn''t have a gree gree wielded! Unable to perform agility course.');
LogOut;
TerminateScript;
end
else
begin
LogOut;
TerminateScript;
end;
FreeDTM(GreeGreeDTM);
Wait(2000 + random(250));
MarkTime(TotalTime);
HowManyLaps := StrToInt(Edit4.Text);
repeat
DoLaps;
if (LogAndSleep= true)then
LogOutWaitLogIn;
until (HowManyLaps = LapCount)
ProgressReport;
end.
All the info stuff up there^^ looks pretty messed up, it looks right in SCAR.