Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program vAgility;
- {$DEFINE SMART}
- {$i Aerolib/Aerolib.simba}
- {$i Reflection/Reflection.simba}
- const
- Username = '';
- Password = '';
- Course = ''; //Draynor, Varrock, Falador, Seers
- EATAT = 10; //Hp to eat at
- FOODTYPE = 'Potato with cheese'; //Any type of food
- cBREAK_IN = 30; //How long between breaks (minutes)
- cBREAK_FOR = 30; //How long to break for
- cR_BREAK_IN = 15; //Random +/- to add to break intervals
- cR_BREAK_FOR = 10; //Random +/- to add to break time
- {////////////////////////////////////////////////////////////////////////////////
- v1.4
- -Increased ability to detect obstacles (Thx Flight!)
- -Adjusted the pathing to be less bot-like on the Seers course.
- -Fixed the bug that causes the player to get stuck on Seers course.
- -Tweaked Falador Course a bit.
- }////////////////////////////////////////////////////////////////////////////////
- ScriptVersion = '1.4';
- UseAutoChecker = true;
- var
- x, y, lapCount, markCount, cH, cW: Integer;
- Rope: TReflectObject;
- MyPlayer: TReflectLocalPlayer;
- pt, position: TPoint;
- at1S: array of Integer;
- procedure AutoUpdateScript;
- var
- NewFile: integer;
- OnlineVersion, NewScript, NewFileName: string;
- begin
- if UseAutoChecker then
- begin
- cleardebug();
- writeln('Checking for script updates...');
- OnlineVersion := GetPage('http://pastebin.com/raw/4rH3mKsy');
- if (trim(OnlineVersion) > ScriptVersion) then
- begin
- writeLn('Script update available!');
- writeLn('Updating script to v' + OnlineVersion);
- NewScript := GetPage('http://pastebin.com/raw/fuzFwaHq');
- NewFileName := ScriptPath + 'vAgility.simba';
- NewFile := Rewritefile(NewFileName, true);
- try
- WriteFileString(NewFile, NewScript);
- except
- begin
- writeLn('Fatal error writing to ' + NewFileName + '!!');
- terminatescript;
- end;
- end;
- CloseFile(NewFile);
- writeLn('New script downloaded to ' + NewFileName + '. Please restart Simba.');
- TerminateScript;
- end
- else
- writeLn('You have the latest version of the script!');
- end;
- end;
- function Login: Boolean;
- begin
- MyPlayer.Username := USERNAME;
- MyPlayer.Password := PASSWORD;
- MyPlayer.Active := True;
- MyPlayer.Create;
- MyPlayer.Login;
- end;
- procedure HandleLogin;
- begin
- if (not isLoggedIn()) then
- Login();
- if (isLoggedIn()) then
- begin
- exit;
- end;
- end;
- procedure loadVars();
- begin
- cH := (reflect.Smart.Height - 5);
- cW := (reflect.Smart.Width - 5);
- mouseSpeed := randomrange(35, 65);
- writeln('Mouse speed: ' + inttostr(mouseSpeed));
- setupBreak(cBREAK_IN, cBREAK_FOR, cR_BREAK_IN, cR_BREAK_FOR);
- Reflect.Compass.MakePitch(4 + Random(2));
- end;
- function R_TileOnMS(Tile: TPoint; var OutputPoint: TPoint; x: integer = 0; y: integer = 0; z: integer = 0): boolean;
- var
- tempB: TBox;
- begin
- OutputPoint := TReflectionTiles.TileToMS(Tile, x, y, z);
- tempB := intToBox(MSX1, MSY1, MSX2, MSY2);
- result := PointInBox(OutputPoint, tempB);
- end;
- procedure randomMouseInput(pnt: Tpoint; ranx, rany: integer);
- begin
- case random(3) of
- 0: humanMMouse(pnt, ranx, rany);
- 1: missMouse(pnt, ranx, rany);
- 2: mouse(pnt, ranx, rany, mouse_move);
- end;
- end;
- function R_InteractTile(tile: Tpoint; action: string; x: integer = 0; y: integer = 0; z: integer = 0): boolean;
- var
- RSTile: TPoint;
- begin
- if R_TileOnMS(Tile, RSTile, x, y, z) then
- begin
- randomMouseInput(rsTile, 3, 3);
- wait(500);
- if (waitUpText(action, 400)) then
- begin
- FastClick(mouse_left);
- result := didClick(true, 1000);
- end
- else
- begin
- if TReflectionText.OptionExists(action) then
- begin
- FastClick(mouse_right);
- result := Reflect.Text.ChooseOption(action);
- end;
- if not result then
- randomMouseInput(Point(MSCX, MSCY), 500, 500);
- end;
- end;
- end;
- procedure dismissAllRandoms;
- var
- i, j, me_indice: integer;
- _npcs: TReflectNPCArray;
- randoms: tstringarray;
- begin
- randoms := ['molly', 'niles', 'miles', 'giles', 'sandwich lady', 'drunken dwarf', 'genie', 'highwayman', 'dr jekyll', 'cap' 'n hand', 'security guard', 'rick turpentine', 'mysterious old man', 'frog', 'null', 'mime', 'sergeant damien', 'freaky forester', 'postie pete', 'tilt', 'flippa', 'leo', 'pillory guard', 'evil bob'];
- _npcs.GetAll;
- me_indice := TReflectLocalPlayer.GetPlayerIndex;
- for i := 0 to high(_npcs) do
- begin
- if (_npcs[i].getInteractingIndex = me_indice) then
- begin
- for j := 0 to high(randoms) do
- begin
- if (pos(randoms[j], lowercase(_npcs[i].getName)) > 0) then
- begin
- if R_InteractTile(_npcs[i].getTile, 'Dismiss', 0, 0, 50) then
- begin
- sleep(2500 + random(1000));
- writeln('Dismissed random: ' + _npcs[i].getname + ' Time Running: ' + TimeRunning);
- end;
- end;
- end;
- end;
- end;
- end;
- procedure Draw(text: string);
- var
- xpGained, xpHour, markHour: integer;
- cName: string;
- begin
- if (Course = 'Draynor') then
- begin
- xpGained := (120 * lapCount);
- cName := 'Draynor';
- end
- else if (Course = 'Falador') then
- begin
- xpGained := (440 * lapCount);
- cName := 'Falador';
- end
- else if (Course = 'Seers') then
- begin
- xpGained := (570 * lapCount);
- cName := 'Seers';
- end
- else if (Course = 'Varrock') then
- begin
- xpGained := (238 * lapCount);
- cName := 'Varrock';
- end
- xpHour := Round((xpGained) / (GetTimeRunning / 3600000.0));
- markHour := Round((markCount) / (GetTimeRunning / 3600000.0));
- OS_Smart.__Graphics.Clear;
- OS_Smart.__Graphics.DrawClippedText('vAgility: ' + cName, 'upchars07', point(300, 353), 16711680);
- OS_Smart.__Graphics.DrawClippedText('Exp gained: ' + toStr(xpGained) + ' (' + (toStr(xpHour)) + ' p/hr)', 'upchars07', point(300, 370), 16711680);
- OS_Smart.__Graphics.DrawClippedText('Marks of Grace: ' + toStr(markCount) + ' (' + (toStr(markHour)) + ' p/hr)', 'upchars07', point(300, 385), 16711680);
- OS_Smart.__Graphics.DrawClippedText('Total Runtime ' + MsToTime(GetTimeRunning, 3), 'upchars07', point(300, 400), 16711680);
- OS_Smart.__Graphics.DrawClippedText('Status: ' + text, 'upchars07', point(300, 415), 16711680);
- end;
- function atBox(x, y, xx, yy: Integer): boolean;
- var
- CorrectBox := inttobox (x, y, xx, yy);
- MyCurrentTile: tpoint;
- begin
- MyCurrentTile := treflectiontiles.getglobaltile();
- result := pointinbox(MyCurrentTile, CorrectBox);
- end;
- procedure eatFood;
- var
- Food: TReflectInvItem;
- Point: TPoint;
- begin
- Draw('Eating ' + FOODTYPE);
- reflect.Gametab.Open(55);
- if food.Find(FOODTYPE) then
- begin
- Point := Food.GetMSPoint;
- reflect.mouse.move(Point, randomrange(2, 4), randomrange(2, 4));
- FastClick(MOUSE_LEFT);
- wait(randomrange(1000, 2000));
- end
- else if not food.Find(FOODTYPE) then
- TerminateScript;
- end;
- function waitMove(c: Integer): boolean;
- var
- d: integer;
- begin
- (d = (c / 5));
- fflag(0);
- wait(c + random(d));
- while myplayer.IsAnimating do
- wait(c + random(d));
- end;
- function findObject(COL, TOL, PIXELS: Integer; HUE, SAT: Extended): Boolean;
- var
- WhatEver: TColEx;
- TPA: TPointArray;
- ATPA: T2DPointArray;
- I: Integer;
- box: TBox;
- x, y: Integer;
- begin
- WhatEver.Create(Col, Tol, Hue, Sat);
- if not WhatEver.FindAllIn(Area_MS, TPA) then
- Exit(False);
- ATPA := ClusterTPA(TPA, 10);
- SortATPAFromMidPoint(ATPA, Point(MSCX, MSCY));
- if (length(ATPA) <= 0) then
- begin
- result := False;
- exit;
- end;
- for I := 0 to high(ATPA) do
- begin
- if (length(ATPA[I]) >= PIXELS) then
- begin
- box := intToBox(ATPA[I].getBounds().X1, ATPA[I].getBounds().Y1, ATPA[I].getBounds().X2, ATPA[I].getBounds().Y2);
- if (box.x1 < 0) then
- box.x1 := 0;
- if (box.y1 < 0) then
- box.y1 := 0;
- position := MiddleTPA(ATPA[I]);
- result := True;
- exit;
- end;
- end;
- result := False;
- end;
- function lootMark(): Boolean;
- var
- i, id: Integer;
- strArr: TStringArray;
- gItems: TReflectGroundItemArray;
- begin
- if (Course = 'Draynor') then
- begin
- gItems.GetAll(10);
- end
- else if (Course = 'Falador') then
- begin
- gItems.GetAll(4);
- end
- else if (Course = 'Seers') then
- begin
- gItems.GetAll(15);
- end
- else if (Course = 'Varrock') then
- begin
- gItems.GetAll(15);
- end
- if length(gItems) = 0 then
- Exit;
- setArrayLength(strArr, 1);
- strArr := ['mark of grace'];
- for i := 0 to high(gItems) do
- if inStrArrEx(gItems[i].GetName, strArr, id) then
- begin
- Reflect.Compass.MakePitch(3 + Random(3));
- if (findObject(1417655, 3, 20, 0.06, 0.16)) then
- begin
- Draw('Found Mark');
- case random(10) of
- 0..8:
- begin
- randomMouseInput(position, 3, 3);
- if waituptext('Mark of grace', randomrange(50, 300)) then
- fastClick(mouse_left);
- waitMove(900);
- inc(markCount);
- exit(true);
- end;
- 9..10:
- begin
- randomMouseInput(position, 3, 3);
- if waituptext('Mark of grace', randomrange(50, 300)) then
- fastClick(mouse_Right);
- chooseoptionmulti(['Take', 'Mark of grace']);
- waitMove(900);
- inc(markCount);
- exit(true);
- end;
- end;
- if (didYellowClick()) then
- begin
- sleep(random(150, 300));
- end;
- end
- else
- inc(markCount);
- end
- end;
- procedure thewallD();
- var
- obj_Wall: TMSObject;
- Pnt: TPoint;
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3102, 3279), 'Climb Rough wall', 3, 3, 2) then
- begin
- if DidRedClick then
- begin
- draw('Climbing Rough Wall');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3102, 3279)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3102, 3279), 'Climb Rough wall', 3, 3, 3) then
- begin
- reflect.Compass.MakePitch(5);
- setCompass(inttostr(randomrange(265, 285)));
- end
- end;
- procedure rope1D;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3098, 3277), 'Cross Tightrope', 0, 0, 10) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Rope 1');
- wait(randomrange(500, 3000));
- setCompass(inttostr(randomrange(180, 225)));
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3090, 3276)) < 1) or (T.timeElapsed > 10000);
- end
- end
- end;
- procedure rope2D;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3092, 3276), 'Cross Tightrope', 0, 0, 10) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Rope 2');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3092, 3266)) < 1) or (T.timeElapsed > 10000);
- end
- end
- lootMark();
- end;
- procedure nwallD;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3089, 3264), 'Balance Narrow wall', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- setCompass(inttostr(randomrange(125, 150)));
- wait(randomrange(500, 3000));
- draw('Crossing Narrow Wall');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3088, 3261)) < 1) or (T.timeElapsed > 10000);
- end
- end
- end;
- procedure jwallD;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10084, 10) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Jump-up', 'Wall'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Climbing up wall');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3088, 3255)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Jump-up', 'Wall'], 250)) then
- begin
- setCompass('random');
- end;
- end
- end;
- procedure gapD;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- reflect.Tiles.RotateCameraToTile(Point(3095, 3255));
- if R_InteractTile(Point(3095, 3255), 'Jump Gap', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Jumping Gap');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3096, 3256)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3095, 3255), 'Jump Gap', 3, 3, 3) then
- begin
- reflect.Compass.MakePitch(2);
- setCompass(inttostr(randomrange(125, 150)));
- end
- end;
- procedure crateD;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3101, 3261), 'Climb-down Crate', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Climbing Down Crate');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3103, 3261)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3102, 3261), 'Climb-down Crate', 3, 3, 3) then
- begin
- myplayer.blindwalkMM(Point(3101, 3261), 2);
- waitMove(50);
- end
- setCompass(inttostr(randomrange(265, 285)));
- if (getRunEnergy >= (1 + random(99))) and not isUsingRun then
- toggleRunning(true);
- wait(randomrange(1400, 1900));
- inc(lapcount);
- end;
- procedure walkToWallD;
- var
- T: Timer;
- begin
- draw('Walking to Wall');
- myplayer.blindwalkMM(Point(3104, 3279), 1);
- while not myplayer.ismoving do
- begin
- T.start;
- if T.timeelapsed > 2500 then
- Break;
- Wait(150);
- end;
- breakhandler();
- end;
- procedure theWallF;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- Reflect.Compass.MakePitch(4 + Random(2));
- setCompass(inttostr(randomrange(350, 360)));
- if R_InteractTile(Point(3036, 3342), 'Climb Rough wall', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Climbing wall');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3036, 3342)) < 1) or (T.timeElapsed > 10000);
- end
- end
- end;
- procedure rope1F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3040, 3343), 'Cross Tightrope', 0, 0, 10) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Rope 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3047, 3344)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3040, 3343), 'Cross Tightrope', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- end
- end;
- procedure holdsF;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3050, 3351), 'Cross Hand holds', 3, 8, 3) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Hand Holds');
- reflect.Tiles.RotateCameraToTile(Point(3048, 3360));
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3050, 3357)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3050, 3351), 'Cross Hand holds', 3, 8, 3) then
- begin
- myplayer.blindwalkMM(Point(3050, 3349), 1);
- waitMove(50);
- reflect.Compass.Make('random');
- end
- end;
- procedure gap1F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3048, 3360), 'Jump Gap', 3, 5, 3) then
- begin
- if DidRedClick then
- begin
- draw('Jumping Gap 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3048, 3361)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3048, 3360), 'Jump Gap', 3, 8, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(2 + Random(4));
- end
- end;
- procedure gap2F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- setCompass(inttostr(randomrange(305, 325)));
- if R_InteractTile(Point(3041, 3362), 'Jump Gap', 3, 8, 3) then
- begin
- if DidRedClick then
- begin
- draw('Jumping Gap 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3041, 3361)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3041, 3362), 'Cross Tightrope', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(2 + Random(4));
- end
- end;
- procedure rope2F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3034, 3362), 'Cross Tightrope', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Rope 2');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3028, 3354)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3034, 3362), 'Cross Tightrope', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(2 + Random(4));
- end
- end;
- procedure rope3F;
- var
- T: Timer;
- begin
- reflect.Compass.MakePitch(5);
- reflect.Tiles.RotateCameraToTile(Point(3025, 3353));
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3025, 3353), 'Cross Tightrope', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Rope 3');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3020, 3353)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3025, 3353), 'Cross Tightrope', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(2 + Random(4));
- end
- end;
- procedure gap3F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3017, 3353), 'Jump Gap', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Gap 3');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3018, 3349)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3017, 3353), 'Jump Gap', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(2 + Random(4));
- end
- end;
- procedure ledge1F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3016, 3346), 'Jump Ledge', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Jumping Ledge 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3014, 3346)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3016, 3346), 'Jump Ledge', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(1 + Random(6));
- end
- end;
- procedure ledge2F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3012, 3343), 'Jump Ledge', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- setCompass(inttostr(randomrange(150, 210)));
- draw('Jumping Ledge 2');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3013, 3342)) < 1) or (T.timeElapsed > 10000);
- end
- // reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(1 + Random(6));
- end
- end;
- procedure ledge3F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3012, 3335), 'Jump Ledge', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Jumping Ledge 3');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3013, 3333)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3012, 3335), 'Jump Ledge', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- Reflect.Compass.MakePitch(1 + Random(6));
- lootMark();
- end
- end;
- procedure ledge4F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3018, 3333), 'Jump Ledge', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- case random(10) of
- 0..7: setCompass(inttostr(randomrange(340, 360)));
- 8..10: setCompass(inttostr(randomrange(1, 30)));
- end
- draw('Jumping Ledge 4');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3019, 3333)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3018, 3333), 'Jump Ledge', 3, 3, 3) then
- begin
- reflect.Compass.Make('random');
- lootMark();
- end
- end;
- procedure edge1F;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3023, 3334), 'Jump Edge', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Jumping Off Edge 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3027, 3333)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(3023, 3334), 'Jump Edge', 3, 3, 3) then
- begin
- reflect.Tiles.RotateCameraToTile(Point(3023, 3334));
- end
- wait(randomrange(1400, 1900));
- if (getRunEnergy >= (1 + random(99))) and not isUsingRun then
- toggleRunning(true);
- inc(lapcount);
- end;
- procedure walkToWallF;
- var
- T: Timer;
- begin
- draw('Walking to Wall');
- myplayer.blindwalkMM(Point(3036, 3340), 2);
- while not myplayer.ismoving do
- begin
- T.start;
- if T.timeelapsed > 2500 then
- Break;
- Wait(150);
- end;
- breakhandler();
- end;
- procedure theWallS;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- Reflect.Compass.MakePitch(4 + Random(2));
- setCompass(inttostr(randomrange(350, 360)));
- if R_InteractTile(Point(2729, 3489), 'Climb-up Wall', 0, 10, 0) then
- begin
- if DidRedClick then
- begin
- draw('Climbing wall');
- wait(randomrange(500, 2600));
- setCompass(inttostr(randomrange(270, 340)));
- Reflect.Compass.MakePitch(2 + Random(3));
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(2729, 3491)) < 1) or (T.timeElapsed > 10000);
- end
- end
- else if not R_InteractTile(Point(2729, 3489), 'Climb-up Wall', 3, 3, 3) then
- begin
- Reflect.Compass.MakePitch(4 + Random(2));
- reflect.Tiles.RotateCameraToTile(Point(2729, 3489));
- end
- end;
- procedure walkToWallS;
- var
- T: Timer;
- begin
- draw('Walking to Wall');
- if getCurrentHealth() < EATAT then
- eatFood;
- myplayer.blindwalkMM(Point(2729, 3488));
- while not myplayer.ismoving do
- begin
- T.start;
- if T.timeelapsed > 2500 then
- Break;
- Wait(150);
- end;
- end;
- procedure gap1S;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- if getCurrentHealth() < EATAT then
- eatFood;
- lootMark();
- dismissAllRandoms();
- breakhandler();
- if gap1.Find(objGame, 11374, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Jump', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping Gap 1');
- wait(randomrange(500, 4000));
- setCompass(inttostr(randomrange(190, 240)));
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(2713, 3494)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Jump', 'Gap'], 250)) then
- begin
- setCompass(inttostr(randomrange(270, 340)));
- Reflect.Compass.MakePitch(2 + Random(3));
- end;
- end
- end;
- procedure rope1S;
- var
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(2710, 3489), 'Cross Tightrope', 3, 3, 3) then
- begin
- if DidRedClick then
- begin
- draw('Crossing Rope 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(2710, 3480)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not R_InteractTile(Point(2710, 3489), 'Cross Tightrope', 3, 3, 3) then
- begin
- reflect.Tiles.RotateCameraToTile(Point(2710, 3489));
- end
- end;
- procedure gap2S;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 11375, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Jump', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping Gap 2');
- T.start;
- repeat
- wait(150);
- until (atBox(2700, 3470, 2715, 3475)) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Jump', 'Gap'], 250)) then
- begin
- setCompass(inttostr(randomrange(210, 230)));
- Reflect.Compass.MakePitch(1 + Random(2));
- end
- end
- end
- procedure gap3S;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- setCompass(inttostr(randomrange(210, 230)));
- if gap1.Find(objGame, 11376, 20) then
- begin
- wait(randomrange(600, 850));
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Jump', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping Gap 3');
- T.start;
- repeat
- wait(150);
- until (reflect.tiles.getplane = 2) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Jump', 'Gap'], 250)) then
- begin
- setCompass(inttostr(randomrange(210, 230)));
- Reflect.Compass.MakePitch(1 + Random(2));
- end
- end
- end
- procedure edgeS;
- var
- edge: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if edge.Find(objGame, 11377, 20) then
- begin
- pnt := edge.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(edge.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Jump', 'Edge'], 250)) then
- begin
- fastClick(Mouse_left);
- begin
- if DidRedClick then
- begin
- draw('Jumping Off Edge');
- case random(10) of
- 0..7: setCompass(inttostr(randomrange(340, 360)));
- 8..10: setCompass(inttostr(randomrange(1, 30)));
- end
- T.start;
- repeat
- wait(150);
- until (reflect.tiles.getplane = 0) or (T.timeElapsed > 10000);
- end
- end
- end
- else if not (waitUptextMulti(['Jump', 'Edge'], 250)) then
- begin
- setCompass(inttostr(randomrange(135, 160)));
- Reflect.Compass.MakePitch(3 + Random(2));
- end;
- if (getRunEnergy >= (1 + random(30))) and not isUsingRun then
- toggleRunning(true);
- inc(lapcount);
- end
- end
- procedure thewallV();
- var
- obj_Wall: TMSObject;
- Pnt: TPoint;
- T: Timer;
- begin
- lootMark();
- dismissAllRandoms();
- if R_InteractTile(Point(3220, 3414), 'Climb Rough wall', 3, 3, 2) then
- begin
- if DidRedClick then
- begin
- draw('Climbing Rough Wall');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3219, 3414)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not R_InteractTile(Point(3220, 3414), 'Climb Rough wall', 3, 3, 3) then
- begin
- Reflect.Compass.MakePitch(5 + Random(2));
- setCompass(inttostr(randomrange(260, 290)));
- end
- end;
- procedure clotheslineV;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10587, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Cross', 'Clothes line'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping Gap 3');
- wait(randomrange(500, 1700));
- Reflect.Compass.MakePitch(1 + Random(3));
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3208, 3414)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Cross', 'Clothes line'], 250)) then
- begin
- setCompass(inttostr(randomrange(250, 290)));
- Reflect.Compass.MakePitch(4 + Random(2));
- end
- end
- end
- procedure gap1V;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10642, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping Gap 1');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3197, 3416)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- setCompass(inttostr(randomrange(250, 290)));
- Reflect.Compass.MakePitch(4 + Random(2));
- end
- end
- end
- procedure wall1V;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10777, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Balance', 'Wall'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Balancing on wall');
- wait(randomrange(500, 3000));
- setCompass(inttostr(randomrange(95, 230)));
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.DistanceFromTile(Point(3197, 3416)) < 1) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Balance', 'Wall'], 250)) then
- begin
- setCompass(inttostr(randomrange(250, 290)));
- Reflect.Compass.MakePitch(4 + Random(2));
- end
- end
- end
- procedure gap2V;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10778, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping gap 2');
- wait(randomrange(500, 3000));
- setCompass(inttostr(randomrange(60, 130)));
- Reflect.Compass.MakePitch(1);
- T.start;
- repeat
- wait(150);
- until (atBox(3182, 3382, 3208, 3403)) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- setCompass(inttostr(randomrange(95, 230)));
- Reflect.Compass.MakePitch(4 + Random(2));
- end
- end
- end
- procedure gap3V;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10779, 50) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Jumping gap 3');
- T.start;
- repeat
- wait(150);
- until (atBox(3218, 3393, 3232, 3403)) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- draw('Walking to gap');
- myplayer.blindwalkMM(Point(3208, 3399), 3);
- setCompass(inttostr(randomrange(60, 130)));
- Reflect.Compass.MakePitch(3 + Random(3));
- end
- end
- end
- procedure gap4V;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- myplayer.blindwalkMM(Point(3230, 3402), 3);
- if gap1.Find(objGame, 10780, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Leaping gap');
- Reflect.Compass.MakePitch(2 + Random(2));
- T.start;
- repeat
- wait(150);
- until (atBox(3236, 3403, 3240, 3408)) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Leap', 'Gap'], 250)) then
- begin
- draw('Walking to gap');
- setCompass(inttostr(randomrange(80, 110)));
- Reflect.Compass.MakePitch(2 + Random(4));
- end
- end
- end
- procedure ledgeV;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10781, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Hurdle', 'Ledge'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Climbing up');
- wait(randomrange(500, 3000));
- Reflect.Compass.MakePitch(6 + Random(2));
- setCompass(inttostr(randomrange(280, 350)));
- T.start;
- repeat
- wait(150);
- until (atBox(3236, 3410, 3240, 3415)) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Hurdle', 'Ledge'], 250)) then
- begin
- setCompass(inttostr(randomrange(315, 359)));
- Reflect.Compass.MakePitch(5 + Random(2));
- end
- end
- if (getRunEnergy >= (1 + random(99))) and not isUsingRun then
- toggleRunning(true);
- wait(randomrange(1400, 1900));
- inc(lapcount);
- end
- procedure edgeV;
- var
- gap1: TReflectObject;
- T: Timer;
- pnt: tpoint;
- begin
- lootMark();
- dismissAllRandoms();
- if gap1.Find(objGame, 10817, 20) then
- begin
- pnt := gap1.GetMSPoint;
- if (pnt.x > 0) and (pnt.y > 0) and (pnt.x < cW) and (pnt.y < cH) then
- Reflect.Mouse.Move(gap1.GetMSPoint, 3, 3);
- if (waitUptextMulti(['Jump-off', 'Edge'], 250)) then
- begin
- fastClick(Mouse_left);
- if DidRedClick then
- begin
- draw('Climbing down');
- T.start;
- repeat
- wait(150);
- until (reflect.Tiles.getplane = 0) or (T.timeElapsed > 5000);
- end
- end
- else if not (waitUptextMulti(['Jump-off', 'Edge'], 250)) then
- begin
- setCompass(inttostr(randomrange(280, 350)));
- Reflect.Compass.MakePitch(6 + Random(2));
- end
- end
- end
- procedure walkToWallV;
- var
- T: Timer;
- begin
- draw('Walking to Wall');
- if MyPlayer.GetHealth < EATAT then
- eatFood;
- myplayer.blindwalkMM(Point(3223, 3414), 1);
- while not myplayer.ismoving do
- begin
- T.start;
- if T.timeelapsed > 2500 then
- Break;
- Wait(150);
- end;
- breakhandler();
- end;
- {function checkForPlayer: Boolean;
- begin
- if( length(getMiniMapDots('white')) > 0 ) then
- begin
- writeln(intToStr( length(getMiniMapDots('white')))+ ' player has been spotted');
- TReflectionGametab.SwitchWorld(324);
- exit(true);
- end;
- end; }
- function getStateV(): Integer;
- begin
- if not isLoggedIn() then
- exit(1);
- if lootMark() then
- exit(2);
- if (reflect.Tiles.NearTile(Point(3221, 3414), 5)) and (reflect.Tiles.getplane = 0) then
- exit(3);
- if atBox(3214, 3410, 3219, 3419) then
- exit(4);
- if atBox(3201, 3413, 3208, 3417) then
- exit(5);
- if atBox(3194, 3416, 3197, 3416) then
- exit(6);
- if atBox(3192, 3402, 3198, 3406) then
- exit(7);
- if atBox(3182, 3382, 3208, 3403) then
- exit(8);
- if atBox(3218, 3393, 3232, 3403) then
- exit(9);
- if atBox(3236, 3403, 3240, 3408) then
- exit(10);
- if atBox(3236, 3410, 3240, 3415) then
- exit(11);
- if reflect.Tiles.getplane = 0 then
- exit(12);
- end;
- procedure executeStateV(State: Integer);
- begin
- case (State) of
- 1: HandleLogin();
- 2: lootMark();
- 3: theWallV();
- 4: clotheslineV();
- 5: gap1V();
- 6: wall1V();
- 7: gap2V();
- 8: gap3V();
- 9: gap4V();
- 10: ledgeV();
- 11: edgeV();
- 12: walkToWallV();
- end;
- wait(randomrange(75, 175));
- end;
- function getStateS(): Integer;
- begin
- if not isLoggedIn() then
- exit(1);
- if lootMark() then
- exit(2);
- if (reflect.Tiles.NearTile(Point(2729, 3488), 10)) and (reflect.Tiles.getplane = 0) then
- exit(3);
- if atBox(2721, 2730, 3490, 3497) then
- exit(4);
- if atBox(2705, 3488, 2713, 3495) then
- exit(5);
- if atBox(2710, 3477, 2715, 3481) then
- exit(6);
- if atBox(2700, 3470, 2715, 3475) then
- exit(7);
- if atBox(2698, 3460, 2702, 3465) then
- exit(8);
- if (reflect.Tiles.NearTile(Point(2704, 3464), 3)) and (reflect.Tiles.getplane = 0) then
- exit(9);
- if (reflect.Tiles.NearTile(Point(2715, 3494), 3)) and (reflect.Tiles.getplane = 0) then
- exit(10);
- if (reflect.Tiles.NearTile(Point(2710, 3484), 3)) and (reflect.Tiles.getplane = 0) then
- exit(11);
- end;
- procedure executeStateS(State: Integer);
- begin
- case (State) of
- 1: HandleLogin();
- 2: lootMark();
- 3: theWallS();
- 4: gap1S();
- 5: rope1S();
- 6: gap2S();
- 7: gap3S();
- 8: edgeS();
- 9: MyPlayer.WalkPathMM([Point(2711, 3463), Point(2719, 3468), Point(2723, 3472), Point(2727, 3478), Point(2727, 3480), Point(2729, 3484), Point(2729, 3488)]);
- 10: MyPlayer.WalkPathMM([Point(2715, 3485), Point(2720, 3485), Point(2726, 3485), Point(2729, 3488)]);
- 11: MyPlayer.WalkPathMM([Point(2717, 3491), Point(2720, 3485), Point(2726, 3485), Point(2729, 3488)]);
- //9: walkToWallS();
- end;
- wait(randomrange(75, 175));
- end;
- function getStateF(): Integer;
- begin
- if not isLoggedIn() then
- exit(1);
- if lootMark() then
- exit(2);
- if (reflect.Tiles.NearTile(Point(3036, 3341), 3)) and (reflect.Tiles.getplane = 0) then
- exit(3);
- if atBox(3036, 3342, 3040, 3343) then
- exit(4);
- if atBox(3045, 3341, 3051, 3349) then
- exit(5);
- if atBox(3048, 3357, 3050, 3358) then
- exit(6);
- if atBox(3045, 3361, 3048, 3367) then
- exit(7);
- if atBox(3034, 3361, 3041, 3364) then
- exit(8);
- if atBox(3026, 3352, 3029, 3355) then
- exit(9);
- if atBox(3009, 3353, 3021, 3358) then
- exit(10);
- if atBox(3016, 3343, 3022, 3349) then
- exit(11);
- if atBox(3011, 3344, 3014, 3346) then
- exit(12);
- if atBox(3009, 3335, 3013, 3342) then
- exit(13);
- if atBox(3012, 3331, 3017, 3334) then
- exit(14);
- if atBox(3019, 3332, 3024, 3335) then
- exit(15);
- if reflect.Tiles.getplane = 0 then
- exit(16);
- end;
- procedure executeStateF(State: Integer);
- begin
- case (State) of
- 1: HandleLogin();
- 2: lootMark();
- 3: thewallF();
- 4: rope1F();
- 5: holdsF();
- 6: gap1F();
- 7: gap2F();
- 8: rope2F();
- 9: rope3F();
- 10: gap3F();
- 11: ledge1F();
- 12: ledge2F();
- 13: ledge3F();
- 14: ledge4F();
- 15: edge1F();
- 16: walkToWallF();
- end;
- wait(randomrange(75, 175));
- end;
- function getStateD(): Integer;
- begin
- if not isLoggedIn() then
- exit(1);
- if lootMark() then
- exit(2);
- if (reflect.Tiles.NearTile(Point(3104, 3279), 3)) and (reflect.Tiles.getplane = 0) then
- exit(3);
- if atBox(3097, 3277, 3102, 3281) then
- exit(4);
- if atBox(3088, 3273, 3091, 3276) then
- exit(5);
- if atBox(3089, 3265, 3094, 3267) then
- exit(6);
- if atBox(3088, 3257, 3088, 3261) then
- exit(7);
- if atBox(3087, 3254, 3094, 3255) then
- exit(8);
- if atBox(3096, 3256, 3101, 3261) then
- exit(9);
- if reflect.Tiles.getplane = 0 then
- exit(10);
- end;
- procedure executeStateD(State: Integer);
- begin
- case (State) of
- 1: HandleLogin();
- 2: lootMark();
- 3: thewallD();
- 4: rope1D();
- 5: rope2D();
- 6: nwallD();
- 7: jwallD();
- 8: gapD();
- 9: crateD();
- 10: walkToWallD();
- end;
- wait(randomrange(75, 175));
- end;
- begin
- initAL();
- AutoUpdateScript;
- Reflect.Setup();
- myplayer.Create;
- loadVars();
- repeat
- //checkForPlayer;
- if (Course = 'Draynor') then
- begin
- executeStateD(getStateD());
- end
- else if (Course = 'Falador') then
- begin
- executeStateF(getStateF());
- end
- else if (Course = 'Seers') then
- begin
- executeStateS(getStateS());
- end
- else if (Course = 'Varrock') then
- begin
- executeStateV(getStateV());
- end
- until (false);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement