(s)okkr7
2012-09-17 19:24:29
How Long have You Played Runescape?
8 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
GOOGLE
What is your general programming knowledge?
Pascal and Java, little Lape.
Are you a member of any other communities?
None
Tell us about yourself…
Please show us one (or multiple) of your scripts.
8 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
What is your general programming knowledge?
Pascal and Java, little Lape.
Are you a member of any other communities?
None
Tell us about yourself…
From: (s)okkr7
My name is Matt, I live in Iowa, and I love to mess around on my computer in my free time. I'm enrolled in high school as a Junior this year (age 16), and math and computers are my two favorite subjects. To sum everything up; I enjoy helping others, learning, and anything that has to do with computers.
Please show us one (or multiple) of your scripts.
program sApeAgility;
{$DEFINE SMART}
{$i SRL/SRL.simba}
{$i sps\sps.simba}
{________________________________________________________}
{|**___************|*******|****************_________***|}
{|*/***************|***/***|***/********************/***|}
{|*|***************|**/****|**/********************/****|}
{|**\__****____****|\/*****|\/*****|*____*****____/*****|}
{|*****\**/****\***|*\*****|*\*****|/************/******|}
{|*****|**|****|***|**\****|**\****|************/*******|}
{|**___/**\____/***|***\***|***\***|***********/********|}
{|******************************************************|}
{|********| Author : (s)okkr7 || (s)ApeAgility |********|}
{|********| Please Post all suggestions, bugs, |********|}
{|********| and/or probs on the thread, thanks |********|}
{|______________________________________________________|}
Type TFood = record
DTMofFood, ColorFood: Integer;
end;
var
Bars, Slope, Stone, ToStone, Tree, Lap,
ToSwing, tries: integer;
Place: String;
food: TFood;
FoundIt: Extended;
const
NumberOfLaps = 500; //time to do said "loop"
HowManyCharacters = 1;//Multi-player?
StartPlayer = 0; //Starting player
Procedure WhichPlayer;
var
I: Integer;
Begin
NumberOfPlayers(HowManyCharacters);
CurrentPlayer := StartPlayer;
for i := 0 to HowManyCharacters-1 do
Players[i].BoxRewards := ['amp', 'XP', 'ostume'];
With Players[0] Do
Begin
Name := ''; //username.
Pass := ''; //password.
Member := True;
Active := True;
Strings[0] := 'Tuna'; //Which food to use?
End;
{********************************************}
{ Currently Supports the following foods: }
{> Tuna }
{> Lobster }
{> Shark }
{> Rocktail }
{> Summer pies (Parts, halves, and fulls) }
{> Tuna Potato }
{ ~~~~~Eats Pineapples when out of food~~~~~ }
{********************************************}
{********************************************}
{ | Remove brackets for multiplayers | }
{********************************************}
//First bracket below in front of "with"
{With Players[1] Do
Begin
Name := '';
Pass := '';
Member := True;
Active := True;
End;
With Players[2] Do
Begin
Name := '';
Pass := '';
Member := True;
Active := True;
End; } // << Second bracket!
End;
{*********************************************}
{ || Custom DTMs || Author :(s)okkr7 || }
{*********************************************}
Procedure CallIt;
begin
Stone := DTMFromString('mlwAAAHicY2dgYPBhhGAPIHYHYi8g9gfiQCDmAGIWIGYDYi4g5oFidiCOCdZgSIrUZgj1VWNwtFFi0NXgY/CwF2OI8uVhwAcY8WAoAAC7ZQdA');
Bars := DTMFromString('mlwAAAHicY2dgYLBhhGBNINaCYmMgtgLiN0D5+0D8AIjfA/E3IP4BxdPqQhjWTExgyI22ZZjdFA5mr5uUCKbxAUY8GAoAnkASUQ==');
Slope := DTMFromString('mGQAAAHicY2RgYFBhZGD4D6RzkwwYQIARRAAAIF8CJg==');
ToStone := DTMFromString('mlwAAAHicY2dgYDBlZGAwBGJNINYDYmsgdgBiOyDuBOJqIG4B4qlAPAWIu4C4ASQeY8ZQF2/BkO6ry2CmIcGQ5KUN5nek2TDgA4x4MBQAAF8aC90=');
Tree := DTMFromString('mlwAAAHicY2dgYDgBxDeB+DwQnwXiqUC8GoivQ9mngLgPiOuBeAcS9o1SZ/D0EWeIzdZj8IgSZxCTYWGQVuJgkFHkY8AHGPFgKAAA/s0N5g==');
ToSwing := DTMFromString('mggAAAHicY2NgYGhmZGDoBOJ2IK4H4jpGiFgTAwS3AnE7SB0QtwHx/BkzGFLylcB0b3s7Q1KuIsOMiRMZcAFGHBgCANsqDxc=');
end;
Procedure FreeIt;
begin
FreeDTM(Stone);
FreeDTM(Bars);
FreeDTM(Slope);
FreeDTM(ToStone);
FreeDTM(Tree);
end;
{***********************************************}
{|| Credits to Flight for the procedure ||}
{***********************************************}
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;
{********************************************}
{|| Custom Walking Procedure! ||}
{********************************************}
function SPS_WalkLine(Path: TPointArray): boolean;
var
I, H, T, D: integer;
P, MM: TPoint;
begin
H := High(Path);
T := GetSystemTime + 20000 + Random(5000);
while (not Result) and (GetSystemTime < T) do
begin
RunEnergy(20);
P := SPS_GetMyPos;
for I := H downto 0 do
begin
MM.X := MMCX + Path[I].X - P.X;
MM.Y := MMCY + Path[I].Y - P.Y;
D := Distance(MM.X, MM.Y, MMCX, MMCY);
if (D < 10) then
break
else
if (D < 70) then
begin
if (SPS_MultiMouse) then
MultiMouse(MM.X, MM.Y, 25, 3, false)
else
Mouse(MM.X, MM.Y, 5, 5, mouse_Left);
FFlag(Integer(I <> H) * 30);
T := getSystemTime + 20000 + Random(1000);
Break;
end;
end;
Result := (I = H);
end;
end;
{***********************************************}
{|| Credits to Flight for the procedure ||}
{***********************************************}
procedure BrakeWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, targetArea: extended);
var
veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist: extended;
lastX,lastY,MSP,W,maxStep,D: integer;
sqrt2,sqrt3,sqrt5: extended;
begin
MSP := MouseSpeed;
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
repeat
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
D := Random((Round(dist)/3));
if (D > 100) then
D := RandomRange(90, 100);
if (D < 5) then
D := RandomRange(5, 8);
maxStep := D;
if dist >= targetArea then
begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
end else
begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
end;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
begin
randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
end;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;
if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
MoveMouse(Round(xs), Round(ys));
W := (Random(100/MSP))*3;
if (W < 5) then
W := 5;
wait(W);
lastdist:= dist;
until(hypot(xs - xe, ys - ye) < 1)
if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
MoveMouse(Round(xe), Round(ye));
MouseSpeed := MSP;
end;
{***********************************************}
{|| Credits to Flight for the procedure ||}
{***********************************************}
procedure BrakeMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y: integer;
begin
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(X, Y);
BrakeWindMouse(X, Y, eX, eY, 9, 5, 10.0 / randSpeed, 15.0 / randSpeed, 10.0 * randSpeed);
end;
{***********************************************}
{|| Loads every single type of food you need! ||}
{***********************************************}
Procedure LoadTFood;
begin
case lowercase(Players[CurrentPlayer].Strings[0]) of
'Tuna' : begin
food.DTMofFood := DTMFromString('m1gAAAHicjcyhCoAwGEXhu0XLTKKmic+5YrKIIAiyMBjsQT1BsP4Hvno6SbeXDlzIqGgoeHBix+SkAT3CZ8SMiBULtpS4egNbzujvBd0qCJQ=');
food.ColorFood := 6580085;
end;
'Lobster' : begin
food.DTMofFood := DTMFromString('mFQEAAHicnc0xDkBAAETR2e0dwBk0EiJBQVblBCoa0QhRaDSu5Ix+QqNcP3nNNBNI2qw0YUCPEYt99gMn9teKGbmRalQokCJDgggxSjRo4XB1IW/Wk3/mh083ls4J6g==');
food.ColorFood := 1527969;
end;
'Shark' : begin
food.DTMofFood := DTMFromString('mKgEAAHicnc2xCkBgFIbhc/4LcC0GEQMZZJCyMDEIC7n/1StnsZ6vnu2tLxKRKogU6NBjMC0alMiRmBQZZqXDhAU7TtxYceAym379+PZ1zGtw8E2d/nsA8XsJ+w==');
food.ColorFood := 5729414;
end;
'Rocktail' : begin
food.DTMofFood := DTMFromString('mFQEAAHicnc3BCkBAAITh2b17EiVx4yIpj7QeQZuTUhw4SJ7TX/biuKa+w8xlEkmblRbsOHDjwhn6ihkTRnjURiqQI0WG0rx7gz7o0KKCdwNvNlJ8zA+fPAKzDIA=');
food.ColorFood := 7565008;
end;
'Summer Pie' : begin
food.DTMofFood := DTMFromString('mAAEAAHic42FgYHBkYmCwYILQnkAcAMTeQOwKxA5AbAXEZkBsDMXmjAwMhkCsB8QGQGwBxLZA7ISE7YDYCohNgThVWx5oCxMJmDTASCJGBgA2sgap');
food.ColorFood := 2573673;
end;
'Tuna potato' : begin
food.DTMofFood := DTMFromString('m6wAAAHic42ZgYDjIxMCwB4i3QfFOIN4HxEeB+DQQnwLik0B8BIjFGRkYFIBYFojFgFgQiHmBmB+IBaBiMlA1UR68QNOZiMTEA0YSMBIAAAMOCjs=');
food.ColorFood := 1797249;
end;
end;
end;
{***********************************************}
{|| Your one and only.. Custom Anti-ban! || }
{***********************************************}
procedure AntiBan;
begin
if (not(LoggedIn)) then
Exit;
Writeln('Performing Anti-Ban procedures');
case Random(35) of
0..2: PickUpMouse;
3..5: ExamineInv;
6..8: begin
HoverSkill('agility',false);
Wait(750+Random(1500));
GameTab(Tab_Inv);
end;
9..11: BoredHuman;
12..14: begin
GameTab(RandomRange(tab_Combat, tab_Notes));
Wait(750+Random(1500));
GameTab(Tab_Inv);
end;
15..17: RandomRClick;
18..20: RandomAngle(true);
21..23: RandomMovement;
24..26: begin
HoverSkill('fishing',false);
Wait(1000+Random(2500));
GameTab(Tab_Inv);
end;
27..29: PickUpMouse;
30..33: begin
HoverSkill('strength',false);
Wait(1000+Random(4000));
GameTab(Tab_Inv);
end;
34: begin
case Random(6) of
0: Wait(250 + Random(125));
1: Wait(625 + Random(350));
2: Wait(750 + Random(250));
3: Wait(275 + Random(115));
4: Wait(140 + Random(65));
5: Wait(290 + Random(170));
end;
end;
end;
end;
Function EatPineapple: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.06, 0.04);
FindColorsSpiralTolerance(MICX, MICY, TPA, 1403289, MIX1, MIY1, MIX2, MIY2, 14);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);
For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], X, Y);
HumanMMouse(X, Y, 2, 2);
If WaitUpText('Pineapple', 2000) Then
Begin
WriteLn('Slicing Pineapple');
ClickMouse2(false);
ChooseOption('Slice Pineapple');
Wait(375 + Random(175));
HumanMMouse(187, 468, 7, 7);
WaitUpText('Make All', 2000);
ClickMouse2(true);
end else
If (Not(WaitUpText('Make All', 2000))) then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
repeat
EatPineapple;
until (HPPercent > 80) or (tries > 5);
If (tries > 5) then
WriteLn('Debug: Failed too many times :(');
Logout;
End;
Result := True
End;
Procedure CurrentHP;
var
X, Y, PickIt: Integer;
begin
If (HPPercent < 50) then
begin
if FindDTM(Food.DTMofFood, X, Y, MIX1, MIY1, MIX2, MIY2) then
HumanMMouse(X, Y, 4, 4);
ClickMouse2(true);
end else
begin
PickIt := DTMFromString('mbQAAAHicY2VgYJAGYjkobQnEdkB8B4hvAvEDIP4JxMeAWHSCBMP3RSoM+2ulGYratRiaJ+ky8APF0TEjFgwGAALkC6s=');
GetSkillLevel('Constitution');
If (HPPercent < 50) or (InvCount < 5) then
begin
WriteLn('Low Health or inventory low');
if FindDTM(PickIt, x, y, MSX1, MSY1, MSX2, MSY2)then
HumanMMouse(MSCX, MSCY, 3, 3);
ClickMouse2(true);
EatPineapple;
end;
FreeDTM(PickIt);
FreeDTM(Food.DTMofFood);
end;
end;
procedure CustomProggy;
begin
Lap := Lap + 1
WriteLn('[*******************************************************]');
WriteLn('[**************|| (s)okkr7 Ape Atoll ||****************]');
WriteLn('[*******************************************************]');
WriteLn('[**************[' + IntToStr(Lap) + (' Lap(s) Finished!' + ']****************]'));
WriteLn('[********[' + ('Running for ' + (TimeRunning) +']*********]'));
WriteLn('[*******************************************************]');
end;
Procedure WalkStone;
Var
X, Y, tries: Integer;
WalkS: TPointArray;
Begin
Inc(tries);
If not(FindNormalRandoms) then
begin
WalkS := [Point(241, 217), Point(241, 213), Point(243, 209), Point(240, 217), Point(240, 217)];
Repeat
while Sps_WalkLine(WalkS) do Wait (150 + random(250));
until (Not(IsMoving))
If not(SPS_WALKLINE(WalkS)) then
begin
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := tries + 1;
writeln('Debug: Not Found');
WalkStone;
end else
If (tries > 5) then
begin
If FindSymbol(X, Y, 'agility') then
Begin
writeln('we found symbol');
HumanMMouse(X,Y,3,3);
ClickMouse2(true);
end else
Writeln('we cant find it');
Logout;
end;
end;
end;
Function ClickRock: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.10, 0.25);
FindColorsSpiralTolerance(226, 172, TPA, 2642524, 145, 155, 239, 190, 5);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);
For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], x, y);
HumanMMouse(X, Y, 2, 2);
If WaitUpTextMulti(['Jump-to Stepping stone','Jump-to Steppi','-to Stepping st','Stepping stone'], 2000) Then
Begin
WriteLn('Crossing Stone!');
ClickMouse2(True);
Wait(250 + Random (175));
end else
If not WaitUpTextMulti(['Jump-to Stepping stone','Jump-to Steppi','-to Stepping st','Stepping stone'], 2000) Then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
ClickRock;
repeat
While (IsMoving) do AntiBan;
until not(isMoving) or (tries > 5);
If tries > 5 then
WriteLn('Debug: Failed too many times :(');
Logout;
End;
Result := True
End;
Function ClimbUp: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.08, 0.09);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2903653, MSX1, MSY1, MSX2, MSY2, 14);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);
For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], X, Y);
HumanMMouse(X, Y, 2, 2);
If WaitUpTextMulti(['Climb Tropical tree','Climb Tropica','Tropical t','opical tree'], 2000) Then
Begin
WriteLn('Climbing tree!');
ClickMouse2(True);
Wait(375 + Random(175));
end else
If not WaitUpTextMulti(['Climb Tropical tree','Climb Tropica','Tropical t','opical tree'], 2000) Then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
ClimbUp;
repeat
While (IsMoving) do AntiBan;
until not(IsMoving) or (tries > 5);
If (tries > 5) then
WriteLn('Debug: Failed too many times :(');
Logout;
End;
Result := True
End;
Procedure Shimmey;
var
X, Y, tries: integer;
begin
if FindDTMRotated(Bars, X, Y, 180, 0, 420, 340, -Pi, Pi, Pi/30, FoundIt) then
repeat
Inc(tries);
HumanMMouse(x, y, 2, 2);
Wait(150 + random(50));
until WaitUpText(('wing'), 600) or (tries > 10);
if WaitUpText(('wing'), 600) then
begin
ClickMouse2(True);
While (IsMoving) do (AntiBan)
end else
if (Not(FindDTMRotated(Bars, X, Y, 180, 0, 420, 340, -Pi, Pi, Pi/30, FoundIt)))then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
FreeDTM(Bars);
end;
procedure Scale;
var
X, Y: integer;
begin
repeat
Inc(tries);
X := MSCX;
Y := MSCY;
if FindColorSpiralTolerance(X, Y, 3435383, MSX1, MSY1, MSX2, MSY2, 4)then
HumanMMouse(X, Y, 0, 0);
Wait(randomrange (125, 175));
until WaitUpText(('slope'), 600)
if WaitUpText(('slope'), 600) then
begin
ClickMouse2(True);
WriteLn('Debug: Scaling!');
Wait(1250 + random(750));
While (IsMoving) do (AntiBan);
end else
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
If (tries > 10) then
WriteLn('Debug: Failed too many times! :(');
Logout;
end;
Procedure WalkRope;
Var
WalkR: TPointArray;
Begin
Inc(tries);
If not(FindNormalRandoms) then
begin
SetAngle(SRL_ANGLE_HIGH);
WalkR := [Point(184, 224), Point(185, 233), Point(192, 240), Point(204, 248), Point(216, 253), Point(225, 252), Point(225, 249), Point(222, 249), Point(222, 252), Point(225, 254)];
while Sps_WalkLine(WalkR) do Wait(1);
Wait (175 + random (250))
If not(SPS_WALKLINE(WalkR)) then
begin
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := tries + 1;
WriteLn('Debug: Not Walking');
WalkRope;
end;
If (tries > 5) then
WriteLn('Debug: Failed Too Many Times :(');
Logout;
end;
end;
Function Swing: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.05, 0.46);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1261629, MSX1, MSY1, MSX2, MSY2, 4);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);
For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], x, y);
HumanMMouse(X, Y, 2, 2);
If WaitUpText('Swing Rope', 2000) Then
WriteLn('Debug: Swaying!');
Begin
ClickMouse2(True);
Wait(375 + Random(175));
repeat
While (IsMoving) do AntiBan;
until not(IsMoving)
If (Not(WaitUpText('Swing Rope', 2000))) Then
Begin
WriteLn('Debug: Failed RopeSwing');
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
end;
If (tries > 5) then
begin
WriteLn('Debug: Failed too many times :(');
Logout;
end;
end;
Result := True
Break;
End;
End;
Procedure DownToEarth;
Var
X, Y, Tries: Integer;
begin
Inc(Tries);
X := MSCX;
Y := MSCY;
If FindColorSpiralTolerance(X, Y, 2507095, MSX1, MSY1, MSX2, MSY2, 25) then
HumanMMouse(X, Y, 3, 3);
If WaitUpTextMulti(['Climb-down Tropical tree','Climb-down Tropica','Tropical t',' -down Tropical tree'], 600) Then
WriteLn('Debug: Found Tropical Tree Down');
ClickMouse2(true);
Wait(750 + Random(250));
begin
While (IsMoving) do (Antiban)
end;
If (Not(FindColorSpiralTolerance(X, Y, 2507095, MSX1, MSY1, MSX2, MSY2, 25))) then
WriteLn('Debug: Failed Second Rope');
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := tries + 1;
end;
Procedure WhereAt;
var
X, Y: Integer;
TPA: TPointArray;
begin
Case (Place) of
'Bottom Rope' :
begin
if FindDTMRotated(ToStone, x, y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, Pi/30, FoundIt) then
WriteLn('At End Rope');
WalkStone;
end;
'Start' :
begin
if FindDTMRotated(Stone, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, FoundIt) then
WriteLn('At Starting Stone');
ClickRock;
end;
'Tree' :
begin
if FindDTMRotated(Tree, X, Y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, FoundIt) then
WriteLn('At Tree');
ClimbUp;
end;
'Bars' :
begin
if FindDTMRotated(Bars, x, y, 180, 0, 420, 340, -Pi, Pi, Pi/30, FoundIt)then
WriteLn('At Bars');
Shimmey;
end;
'Slope' :
begin
if FindColorSpiralTolerance(x, y, 3435383, MSX1, MSY1, MSX2, MSY2, 4)then
WriteLn('At Slope');
Scale;
end;
'Top of Slope' :
begin
if FindDTMRotated(ToSwing, X, Y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, Pi/30, FoundIt)then
WriteLn('At Top of Slope');
WalkRope;
end;
'Swing' :
begin
If FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1261629, MSX1, MSY1, MSX2, MSY2, 4) then
WriteLn('At Swing');
Swing;
end;
'Second Rope' :
begin
If FindColorSpiralTolerance(X, Y, 2507095, MSX1, MSY1, MSX2, MSY2, 55) then
WriteLn('At Second Rope');
DownToEarth;
CurrentHP;
CustomProggy;
end;
end;
end;
begin
SRL_SIXHOURFIX := true;
SMART_FIXSPEED := true;
SetupSRL;
CallIt;
SPS_Setup(RUNESCAPE_OTHER,['apetol']);
If not(LoggedIn) then
begin
WhichPlayer;
LoginPlayer;
end;
ClickNorth(SRL_ANGLE_HIGH);
repeat
WhereAt;
until (NumberOfLaps > Lap) or (Tries > 15) or (Not(LoggedIn))
FreeIt;
end.