Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program NMZ;
- {$DEFINE SMART8}
- {$I SRL-OSR/SRL.Simba}
- {$I SRL-OSR/SRL/Reflection/Reflection.simba}
- {$i SRL-OSR\SRL\misc\debug.simba}
- {$i SRL-OSR\SRL\misc\SmartGraphics.simba}
- {$I F_AntiRandoms.simba}
- var
- SpecTimer, Timer, Sleeptimer, Str1, Att1, Def1, Hp1: integer;
- PointInsideCave: tpoint;
- CaveBottomRight, CavetopRight, Cavebottomleft, Cavetopleft: tpoint;
- TimeTillSpec, TimeTillLongBreak, TimeTillBreak: string;
- DrinkTime: integer;
- DoneChest, DoneOverloads, DoneAbsobs: boolean;
- V: TVariantArray;
- MeInCave, myposinsidecave: tpoint;
- const
- bankpin = ''; // your bank pin.
- TermCheck = true; // Terminate if lost?.
- Overloads = '40'; // How many overloads to Draw?.
- Absorbs = '72'; // How many Absorb potions to withdraw? put 0 if no absorbs.
- Hopworlds = true;
- Breakhandler = true; // Enable breaking.
- BreakTime1 = 45; // Min time to play before breaking.
- BreakTime2 = 120; // max time to play before breaking.
- BreakWait1 = 5; // min time to break for,
- BreakWait2 = 15; // max time to break for. (random range).
- SleepBreaks = true; // Sleep breaks, initiates after long hours of gameplay.
- SleepBreak1 = 8; // Min timeto play before starting a sleep break.
- SleepBreak2 = 12; // Max time to play before starting a sleep breka.
- SleepWait1 = 2; // Min time to sleep for ** TIME IN HOURS NOT MINUTES*
- SleepWait2 = 4; // Max time to sleep for (random range).
- DoSpecs = true;
- ReSpecTime1 = 75000; // Takes the Spec Bar 5 minutes to recharge to full
- ReSpectime2 = 300000; // add in extra seconds of your own for randomness!
- //3105, 2612
- BarreloX = 2600;
- BarrelOY = 3116;
- // 3111, 2611)
- CofferX = 2607;
- CofferY = 3114;
- //3113, 2614
- ChestX = 2609;
- ChestY = 3119;
- BarrelaX = 2600;
- BarrelaY = 3117;
- //3109, 2612
- VialX = 2605;
- VialY = 3117;
- procedure playerSetup;
- var
- x, y: integer;
- begin
- HowManyPlayers := 1;
- NumberOfPlayers(HowManyPlayers);
- CurrentPlayer := 0;
- Players[0].Name := '@.com';
- Players[0].Pass := '';
- Players[0].Nick := '';
- Players[0].Active := True;
- end;
- procedure WaitHumanClick;
- begin
- case random(600) of
- 1..450: Wait(RandomRange(600, 800));
- 451..570: Wait(RandomRange(800, 900));
- 571..590: Wait(RandomRange(900, 1000));
- 591..600: Wait(RandomRange(1000, 1200));
- end;
- end;
- function OutsideCave: boolean;
- begin
- result := R_inPolygon([point(2635, 3130), point(2635, 3100), point(2598, 3100), point(2598, 3130)]);
- end;
- function isinfight: boolean;
- begin
- result := (SRL_InFight)
- end;
- function InsideCave: boolean;
- var
- TPA: TpointArray;
- tmpcts: integer;
- begin
- if (not (loggedin)) then
- exit;
- if OutsideCave then
- exit;
- tmpcts := GetColorToleranceSpeed;
- ColorToleranceSpeed(2);
- SetColorSpeed2Modifiers(0.12, 1.41);
- result := FindColorsTolerance(TPA, 1743843, MMX1, MMY1, MMX2, MMY2, 1);
- ColorToleranceSpeed(tmpcts);
- SetColorSpeed2Modifiers(0.2, 0.2);
- end;
- procedure FindALlrandoms;
- begin
- R_FindNormalRandoms;
- FindNonInventoryRandoms;
- FindNormalRandoms;
- FindMod;
- end;
- function PIdle: Boolean;
- begin
- FindALlrandoms;
- result := (not loggedin) or (LobbyScreen) or (R_InFight) or (R_UnderAttack)
- end;
- procedure WaitAfterOverLoadClick;
- var
- WaiTMe, T: Integer;
- begin
- WaitMe := randomrange(4000, 35000);
- writeln(waitme);
- marktime(t);
- repeat
- wait(400);
- if not insidecave then
- exit;
- if OutsideCave then
- exit;
- if not IsInFight then
- exit;
- if not R_UnderAttack then
- exit;
- if (TimeFromMark(t) >= (WaitMe)) then
- exit;
- until (TimeFromMark(t) >= (WaitMe));
- end;
- function GetGreenUptext: string;
- var
- WhiteT, BlueT, YellowT, OrangeT, GreenT, FoundText: string;
- begin
- WhiteT := GetTextAtExWrap(8, 8, 300, 21, 0, 5, 1, 14541281, 55, 'UpChars07');
- BlueT := GetTextAtExWrap(35, 8, 300, 21, 0, 5, 1, 13423640, 65, 'UpChars07');
- YellowT := GetTextAtExWrap(35, 8, 300, 21, 0, 5, 1, 1235160, 40, 'UpChars07');
- OrangeT := GetTextAtExWrap(35, 8, 300, 21, 0, 5, 1, 4687583, 53, 'UpChars07');
- GreenT := GetTextAtExWrap(8, 8, 300, 21, 0, 5, 1, 120577, 65, 'UpChars07');
- FoundText := WhiteT + ' ' + BlueT + YellowT + OrangeT + GreenT;
- FoundText := ReplaceWrap(FoundText, '.', '', [rfReplaceAll]);
- FoundText := ReplaceWrap(FoundText, '/', '', [rfReplaceAll]);
- FoundText := ReplaceWrap(FoundText, '\', '', [rfReplaceAll]);
- FoundText := ReplaceWrap(FoundText, ',', '', [rfReplaceAll]);
- FoundText := ReplaceWrap(FoundText, '*', '', [rfReplaceAll]);
- FoundText := ReplaceWrap(FoundText, '^', '', [rfReplaceAll]);
- FoundText := ReplaceWrap(FoundText, '"', '', [rfReplaceAll]);
- Result := FoundText;
- end;
- function IsUpTextMultiCustom2(Text: TStringArray): Boolean;
- var
- TheText: string;
- i, n: Integer;
- begin
- TheText := GetGreenUptext;
- n := High(Text);
- for i := 0 to n do
- if (Pos(Text[i], TheText) > 0) then
- begin
- Result := True;
- Exit;
- end;
- end;
- function WaitUpTextMulti2(S: TStringArray; Time: Integer): Boolean;
- var
- T: Integer;
- begin
- Result := false;
- T := GetSystemTime + Time;
- while (GetSystemTime < T) do
- begin
- if (IsUpTextMultiCustom2(S)) then
- begin
- Result := True;
- Exit;
- end;
- Wait(20 + Random(20));
- end;
- end;
- function OpenWScreen: Boolean;
- begin
- Result := False;
- if WorldScreen then
- exit;
- if Loggedin then
- Exit;
- if not WorldScreen then
- begin
- Mmouse(54, 475, 1, 1);
- WaitHumanClick;
- ClickMouse2(Mouse_Left);
- waithumanclick;
- Result := True;
- end;
- end;
- function whitecolor: boolean;
- var
- Monster: TpointArray;
- TmpCts: Integer;
- begin
- tmpcts := GetColorToleranceSpeed;
- ColorToleranceSpeed(2);
- SetColorSpeed2Modifiers(0.22, 1.69);
- result := FindColorsTolerance(Monster, 9163999, 192, 67, 583, 469, 4);
- ColorToleranceSpeed(tmpcts);
- SetColorSpeed2Modifiers(0.2, 0.2);
- end;
- procedure GraboriginalExp;
- begin
- writeln('we started the script loggedin.. Grabbing original exp for progress report!');
- Att1 := R_GetSkillExp(SKILL_ATTACK);
- Def1 := R_GetSkillExp(SKILL_DEFENCE);
- Str1 := R_GetSkillExp(SKILL_STRENGTH);
- Hp1 := R_GetSkillExp(SKILL_HITPOINTS);
- end;
- procedure donormallogin;
- begin
- if (LobbyScreen) then
- begin
- WRITELN('we are on lobbyscreen!');
- MouseBox(280, 300, 480, 375, mouse_Left);
- wait(randomrange(2000, 3000));
- if loggedin then
- writeln('we loggedin!');
- end;
- loginplayer;
- end;
- procedure enterlobby;
- begin
- WRITELN('we are on lobbyscreen!');
- MouseBox(280, 300, 480, 375, mouse_Left);
- wait(randomrange(2000, 3000));
- if loggedin then
- writeln('we loggedin!');
- end;
- procedure loginloop;
- var
- CurrentWorld2, CurrentWorld3: Integer;
- begin
- if (LobbyScreen) then
- begin
- WRITELN('we are on lobbyscreen!');
- MouseBox(280, 300, 480, 375, mouse_Left);
- wait(randomrange(2000, 3000));
- if loggedin then
- writeln('we loggedin!');
- end;
- if (Hopworlds = true) then
- begin
- CurrentWorld2 := CurrentWorldLS;
- OpenWorldScreen;
- repeat
- if (LobbyScreen) then
- begin
- WRITELN('we are on lobbyscreen!');
- MouseBox(280, 300, 480, 375, mouse_Left);
- wait(randomrange(2000, 3000));
- if loggedin then
- writeln('we loggedin!');
- end;
- if whitecolor then
- break;
- if loggedin then
- exit;
- if whitecolor then
- writeln('Found the white color for worlds');
- if not whitecolor then
- writeln('Cant find the White color for worlds');
- if not WorldScreen then
- exit;
- if loggedin then
- exit;
- case random(10) of
- 0..2: mouse(randomrange(397, 554), randomrange(78, 394), 1, 1, mouse_move);
- 3..4: mouse(randomrange(298, 462), randomrange(200, 392), 1, 1, mouse_move);
- 5..6: mouse(randomrange(205, 555), randomrange(80, 154), 1, 1, mouse_move);
- 7..10: mouse(randomrange(211, 555), randomrange(246, 367), 1, 1, mouse_move);
- end;
- if not WorldScreen then
- if not WorldScreen then
- exit;
- until (whitecolor);
- if not WorldScreen then
- exit;
- if whitecolor then
- begin
- clickmouse2(mouse_left);
- waithumanclick;
- currentworld;
- waithumanclick;
- if (CurrentWorldLS = 365) then
- exit;
- CurrentWorld3 := CurrentWorldLS;
- waithumanclick;
- if (CurrentWorld2 <> CurrentWorld3) then
- begin
- loginplayer;
- MakeCompass('n');
- setangle(0);
- exit;
- end;
- end;
- end
- else
- DoNormalLogin;
- end;
- function PrayerLevel: integer;
- var
- s: string;
- CurrentHpLevel: integer;
- begin
- s := GetTextAtExWrap(520, 90, 540, 115, 0, 5, 1, 65280, 0, statchars07);
- CurrentHpLevel := StrToIntDef(GetNumbers(s), - 1);
- if (CurrentHpLevel > 0) then
- begin
- result := CurrentHpLevel
- end;
- end;
- function AbsorPoints: integer;
- var
- s: string;
- CurrentHpLevel: integer;
- begin
- s := GetTextAtExWrap(20, 35, 60, 60, 0, 5, 1, 16777215, 0, NMZ);
- CurrentHpLevel := StrToIntDef(GetNumbers(s), - 1);
- if (CurrentHpLevel > 0) then
- begin
- result := CurrentHpLevel
- end;
- end;
- function FindObject(Color: TintegerArray; Tol, CTS: integer; hMoD, sMoD: extended; split, sort: integer; Uptext: array of string; WaitUptextWait, WaitUptextRandom: Integer; x, y, xs, ys: integer): boolean;
- var
- III, i, tmpcts: integer;
- TPA: tpointarray;
- TPAA: T2DPointArray;
- begin
- if (not (loggedin)) then
- exit;
- gametab(tab_inv);
- tmpcts := GetColorToleranceSpeed;
- ColorToleranceSpeed(CTS);
- SetColorSpeed2Modifiers(hMoD, SMoD);
- FindColorsSpiralTolerance(MSCX, MSCY, TPA, color[III], x, y, xs, ys, Tol) ColorToleranceSpeed(tmpCTS);
- SetColorSpeed2Modifiers(0.2, 0.2);
- SplitTPAWrap(TPA, split, TPAA);
- SortATPAFromSize(TPAA, sort, true);
- for I := 0 to High(TPAA) do
- begin
- MiddleTPAEx(TPAA[i], X, Y);
- MMouse(x, y, RandomRange( - 3, 3), RandomRange( - 3, 3));
- if WaitUpTextMulti2(uptext, WaitUptextWait + random(WaitUptextRandom)) then
- begin
- Result := True;
- break;
- end;
- break;
- end;
- end;
- function HpLevel: integer;
- var
- s: string;
- CurrentHpLevel: integer;
- begin
- if not LoggedIn then
- exit;
- if not InsideCave then
- exit;
- s := GetTextAtExWrap(520, 50, 540, 70, 0, 5, 1, 65280, 0, statchars07);
- CurrentHpLevel := StrToIntDef(GetNumbers(s), - 1);
- if (CurrentHpLevel > 0) then
- begin
- result := CurrentHpLevel
- end;
- end;
- procedure Termination(const Status: string);
- begin
- if (TermCheck = false) then
- exit;
- writeln(Status);
- if loggedin then
- begin
- if WaitFunc(@ LogOut, 500, RandomRange(8000, 20000)) then
- terminatescript
- else
- terminatescript;
- end
- else
- terminatescript;
- end;
- function logmeout: boolean;
- begin
- writeln('Logging out..');
- if WaitFunc(@ LogOut, 500, RandomRange(8000, 20000)) then
- begin
- writeln('We have managed to log out');
- result := true;
- end
- else
- termination('We have failed to log out, ending script');
- end;
- procedure StartTime;
- begin
- Timer := GetTimeRunning + RandomRange(BreakTime1 * 60000, BreakTime2 * 60000);
- end;
- procedure LongBreakTimer;
- begin
- SleepTimer := GetTimeRunning + RandomRange(SleepBreak1 * 3600000, SleepBreak2 * 3600000);
- end;
- procedure breakwait;
- begin
- waithumanclick;
- R_FindNormalRandoms;
- if R_inPolygon([point(2635, 3130), point(2635, 3100), point(2598, 3100), point(2598, 3130)]) and loggedin then
- begin
- R_FindNormalRandoms;
- if LogMeOut then
- writeln('we managed to log out.. for the break');
- end;
- if InsideCave then
- waithumanclick;
- if not loggedin then
- WaitHumanClick;
- end;
- procedure TakeBreaks;
- var
- T, BreakTimer, BreakTimer2: integer;
- begin
- WaitHumanClick;
- writeln('1');
- if (GetTimeRunning >= SleepTimer) then
- begin
- LongBreakTimer;
- BreakTimer2 := Randomrange(SleepWait1 * 3600000, SleepWait2 * 3600000);
- MarkTime(T);
- writeln('It is time to take a LONG break');
- Writeln('Time we started the break: ' + (thetime));
- WriteLn('Breaking for: ' + (MsToTime(BreakTimer2, Time_Formal)));
- repeat
- WaitHumanClick;
- breakwait;
- if (TimeFromMark(t) >= BreakTimer2) then
- break;
- until (TimeFromMark(T) >= BreakTimer2);
- if (TimeFromMark(t) >= BreakTime2) then
- begin
- writeln('breaking is done.. Back to the script');
- LongBreakTimer;
- end;
- end;
- if (GetTimeRunning >= Timer) then
- begin
- StartTime;
- BreakTimer := Randomrange(BreakWait1 * 60000, BreakWait2 * 60000);
- writeln('It is time to take a break');
- Writeln('Time we started the break: ' + (thetime));
- WriteLn('Breaking for: ' + (MsToTime(BreakTimer, Time_Formal)));
- MarkTime(t);
- writeln('breaking....');
- repeat
- WaitHumanClick;
- breakwait;
- if (TimeFromMark(t) >= BreakTimer) then
- break;
- until (TimeFromMark(T) >= BreakTimer);
- if (TimeFromMark(t) >= BreakTimer) then
- begin
- writeln('breaking is done.. Back to the script');
- StartTime;
- end;
- end;
- end;
- procedure ProgressReport;
- var
- Total, timeleft, Timeleft2, Timeleft3, timegone, Def3, Att2, Def2, Str2, Hp2, HpPerHour, DefPH, AttPh, StrPh: integer;
- begin
- if (not (loggedin)) then
- exit;
- ClearDebug;
- timegone := (GetTimeRunning / 1000);
- Att2 := (R_GetSkillExp(SKILL_ATTACK) - Att1);
- Def2 := (R_GetSkillExp(SKILL_DEFENCE) - Def1);
- Str2 := (R_GetSkillExp(SKILL_STRENGTH) - str1);
- Hp2 := (R_GetSkillExp(SKILL_HITPOINTS) - Hp1);
- Def3 := R_GetSkillExp(SKILL_DEFENCE);
- timeleft := ((Timer) - (GetTimeRunning));
- if (timeleft) < 0 then
- StartTime;
- Timeleft2 := ((SleepTimer) - (GetTimeRunning));
- Timeleft3 := ((SpecTimer) - (GetTimeRunning));
- TimeTillBreak := (MsToTime(timeleft, Time_Formal));
- TimeTillLongBreak := (MsToTime(Timeleft2, Time_Formal));
- TimeTillSpec := (MsToTime(Timeleft3, Time_Formal));
- HpPerHour := (3600 * (Hp2)) / ((timegone));
- AttPh := (3600 * (Att2)) / ((timegone));
- StrPh := (3600 * (STr2)) / ((timegone));
- DefPh := (3600 * (Def2)) / ((timegone));
- if (HpPerHour <> 0) then
- Total := ((13034431 - Def3) / DefPh);
- WriteLn('* NMZ');
- WriteLn('* Runtime: ' + TimeRunning);
- Writeln('*');
- writeln('* Att EXP Gained: ' + IntToStr(Att2) + ' Att Exp P/H: ' + IntToStr(Attph));
- writeln('* Str ExP Gained: ' + IntToStr(Str2) + ' str Exp P/H: ' + IntToStr(StrPh));
- writeln('* Def ExP Gained: ' + IntToStr(Def2) + ' Def Exp P/H: ' + IntToStr(DefPh));
- writeln('* Hp ExP Gained: ' + IntToStr(Hp2) + ' Hp Exp P/H: ' + IntToStr(HpPerHour));
- Writeln('* Time till flat 99s ' + IntToSTr(Total));
- Writeln('* Time till break : ' + (TimeTillBreak));
- Writeln('* Time till LONG break : ' + (TimeTillLongBreak));
- end;
- procedure clickoverload;
- begin
- if not loggedin then
- exit;
- if not insidecave then
- exit;
- writeln('we are here1');
- gametab(tab_inv);
- case random(10) of
- 0..6: writeln('not waiting for overload...continue');
- 7..10: WaitAfterOverLoadClick;
- end;
- if FindObject([921106], 1, 2, 0.00, 3.41, 1, 1, ['Drink', 'rink', 'verload', 'Overload'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- begin
- writeln('yes!');
- clickmouse2(mouse_left);
- wait(randomrange(5000, 10000));
- end;
- end;
- procedure clickAbsorp;
- begin
- if not loggedin then
- exit;
- if not insidecave then
- exit;
- gametab(tab_inv);
- case random(10) of
- 0..6:
- begin
- if FindObject([11248528], 15, 2, 0.05, 0.27, 1, 1, ['Drink', 'rink', 'Absoprtion', 'bsorption'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- clickmouse2(mouse_left);
- if FindObject([11248528], 15, 2, 0.05, 0.27, 1, 1, ['Drink', 'rink', 'Absoprtion', 'bsorption'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- clickmouse2(mouse_left);
- if FindObject([11248528], 15, 2, 0.05, 0.27, 1, 1, ['Drink', 'rink', 'Absoprtion', 'bsorption'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- clickmouse2(mouse_left);
- DrinkTime := Randomrange(400, 800);
- end;
- 7..8:
- begin
- if FindObject([11248528], 15, 2, 0.05, 0.27, 1, 1, ['Drink', 'rink', 'Absoprtion', 'bsorption'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- clickmouse2(mouse_left);
- if FindObject([11248528], 15, 2, 0.05, 0.27, 1, 1, ['Drink', 'rink', 'Absoprtion', 'bsorption'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- clickmouse2(mouse_left);
- DrinkTime := Randomrange(400, 800);
- end;
- 9..10:
- begin
- if FindObject([11248528], 15, 2, 0.05, 0.27, 1, 1, ['Drink', 'rink', 'Absoprtion', 'bsorption'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- clickmouse2(mouse_left);
- DrinkTime := Randomrange(400, 800);
- end;
- end;
- end;
- function Ispraying: Boolean;
- var
- overhead: tpointarray;
- begin
- if (not (loggedin)) then
- exit;
- result := (FindColorsTolerance(Overhead, 63226, MSX1, MSY1, MSX2, MSY2, 10) or FindColorsTolerance(Overhead, 621348, MSX1, MSY1, MSX2, MSY2, 10))
- end;
- function Clickobject(Objpoint: tpoint; Uptext: TStringArray; MaxDistance, RunOffSetX, RunOffsetY: integer): Boolean;
- var
- Bp, Booth: TPoint;
- begin
- if (not LoggedIn) then
- Exit;
- if R_DistanceFromTile(Objpoint) > MaxDistance then
- begin
- Bp.x := Objpoint.x + RunOffsetX;
- Bp.Y := Objpoint.y + RunOffsetY;
- R_WalkPath([Bp]);
- WaitHumanClick;
- end;
- if R_DistanceFromTile(Objpoint) < 5 then
- begin
- Booth := R_TileToMs(ObjPoint);
- MMouse(Booth.X, Booth.Y, 3, 3);
- waithumanclick;
- if (R_IsUpTextMulti(Uptext)) then
- begin
- result := true;
- end;
- end;
- end;
- function MMouseObject(Objpoint: tpoint; Uptext: TStringArray): Boolean;
- var
- Booth: TPoint;
- begin
- if (not LoggedIn) then
- Exit;
- Booth := R_TileToMS(ObjPoint);
- MMouse(Booth.X, Booth.Y, 2, 2);
- Sleep(100 + Random(100));
- if (R_IsUpTextMulti(Uptext)) then
- begin
- result := true;
- end;
- end;
- function LocateNPC(Name, Uptext: string): boolean;
- var
- Bp, Tp: Tpoint;
- NpcName: tnpc;
- begin
- if R_FindNpc(Name, NpcName) then
- begin
- if NpcName.InCombat then
- exit;
- Tp := NpcName.Tile;
- if R_DistanceFromTile(Tp) > 3 then
- begin
- Bp.x := Tp.x + 1;
- Bp.Y := Tp.y - 1;
- R_WalkPath([Bp]);
- waithumanclick;
- end;
- if R_DistanceFromTile(tp) < 5 then
- begin
- Tp := R_TileToMs(Tp);
- Mmouse(Tp.x, Tp.y, 0, 0);
- if R_WaitUptext(Uptext, 200) then
- begin
- result := true;
- end;
- end;
- end;
- end;
- function ShopScreenS: Boolean;
- begin
- if not loggedin then
- exit;
- Result := (FindTextTPA(2070783, 10, 22, 30, 476, 52, 'Store', 'UpChars07', Nothing) or (GetColor(482, 36) = 65536));
- end;
- function DreamStartScreen: Boolean;
- begin
- if not loggedin then
- exit;
- if not OutsideCave then
- exit;
- Result := FindTextTPA(668230, 0, 375, 270, 430, 305, 'Accept', 'smallchars07', nothing);
- end;
- function OverloadsPoints(MinPoints: integer): boolean;
- var
- s: string;
- Points: integer;
- begin
- if not loggedin then
- exit;
- if not shopscreens then
- exit;
- wait(randomrange(200, 400));
- s := GetTextAtExWrap(175, 215, 208, 235, 0, 5, 1, 16777215, 0, SmallChars07);
- Points := StrToIntDef(GetNumbers(s), - 1);
- writeln(points);
- if (Points < MinPoints) then
- begin
- result := true;
- end;
- end;
- function AbsorpPoints(MinPoints: integer): Boolean;
- var
- s: string;
- Points: integer;
- begin
- if not loggedin then
- exit;
- if not shopscreens then
- exit;
- wait(randomrange(200, 400));
- s := GetTextAtExWrap(242, 215, 272, 236, 0, 5, 1, 16777215, 0, SmallChars07);
- writeln(s);
- Points := StrToIntDef(GetNumbers(s), - 1);
- writeln(points);
- if (Points < MinPoints) then
- begin
- result := true;
- end;
- end;
- function Absorbed: boolean;
- begin
- if not loggedin then
- exit;
- if not insidecave then
- exit;
- result := FindTextTPAMulti(2070783, 0, MSX1, MSY1, MSX2, MSY2, ['Absorption'], StatChars07, nothing);
- end;
- procedure fleeFromFight;
- begin
- if not LoggedIn then
- exit;
- if not PIdle then
- exit;
- if insidecave then
- exit;
- writeln('we are in combat outside cave!');
- if OutsideCave then
- begin
- writeln('running path away from random!');
- R_WalkPath([Point(2601, 3115), Point(2606, 3115), Point(2608, 3120), Point(2609, 3125), Point(2609, 3130)]);
- Wait(randomrange(2000, 3000));
- end;
- WaitHumanClick;
- writeln('done running!');
- if not OutsideCave then
- begin
- writeln('we ran to safe spot and not in cave area, running back');
- R_WalkPath([Point(2609, 3133), Point(2609, 3128), Point(2609, 3123), Point(2608, 3118), Point(2604, 3115)]);
- Wait(randomrange(2000, 3000));
- if OutsideCave then
- begin
- writeln('we made it back to the dream area.. Resuming script!');
- waithumanclick;
- if IsInFight then
- Termination('we are still in fight.. Going to termiante the script, we probably will fail to log out');
- end
- else
- Termination('we got lost while trying to return to the dream area.. ending script');
- end;
- end;
- procedure clickCoffer;
- begin
- if not loggedin then
- exit;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if Clickobject(point(CofferX, CofferY), ['Unlock'], 5, 1, - 1) then
- begin
- writeln('clicking coffer');
- FindALlrandoms;
- waithumanclick;
- clickmouse2(mouse_left);
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if WaitFunc(@ Pinscreen, 500, randomrange(8000, 10000)) then
- begin
- InPin(bankpin);
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- end;
- procedure DoChest;
- begin
- V := [['Enter amount', 'Enter', 'nter', 'amount', 'mount'], nothing];
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if (R_InvCount = 28) then
- exit;
- if Clickobject(point(ChestX, ChestY), ['chest'], 4, 0, - 2) then
- begin
- writeln(' clicking chest');
- FindALlrandoms;
- clickmouse2(mouse_left);
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if WaitFunc(@ pinscreen, 500, RandomRange(8000, 10000)) then
- begin
- writeln(' entering pin');
- InPin(bankpin);
- end;
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if WaitFunc(@ ShopScreenS, 500, RandomRange(8000, 10000)) then
- begin
- mouse(250, 70, 3, 3, mouse_left);
- WaitHumanClick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if OverloadsPoints(36) then
- begin
- writeln('we dont have enough overloads in the barrel.. buying more');
- mouse(185, 185, 3, 3, mouse_right);
- WaitHumanClick;
- WaitOptionMulti(['Buy-X'], 500);
- WaitHumanClick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if WaitFuncEx('FindNPCChatTextMulti', V, 500, RandomRange(8000, 10000)) then
- TypeSendEx('255', true);
- waithumanclick;
- end;
- if AbsorpPoints(72) then
- begin
- mouse(255, 188, 3, 3, mouse_right);
- WaitHumanClick;
- WaitOptionMulti(['Buy-X'], 500);
- WaitHumanClick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if WaitFuncEx('FindNPCChatTextMulti', V, 500, RandomRange(8000, 10000)) then
- TypeSendEx('255', true);
- end;
- if ShopScreens then
- mouse(randomrange(486, 487), randomrange(40, 41), 0, 0, mouse_left);
- FindALlrandoms;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- end;
- end;
- procedure WithdrawOverloads;
- begin
- V := [['please'], clickleft];
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if (R_InvCount < 28) then
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- MakeCompass('w');
- writeln(' we dont have overloads');
- if Clickobject(point(BarrelOX, BarrelOY), ['Overload'], 5, 1, 0) then
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- FindALlrandoms;
- writeln(' getting overloads');
- if FindObject([921106], 1, 2, 0.00, 3.41, 1, 1, ['Drink', 'rink', 'verload', 'Overload'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- writeln('we have overloads in inv, storing them');
- if Clickobject(point(BarrelOX, BarrelOY), ['Overload'], 5, 1, - 1) then
- clickmouse2(mouse_right);
- waithumanclick;
- WaitOptionMulti(['Store', 'tore'], 3000);
- waithumanclick;
- if WaitFuncEx('FindNPCChatTextMulti', V, 500, RandomRange(8000, 10000)) then
- writeln('we clicked yes to store overloads');
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- if Clickobject(point(BarrelOX, BarrelOY), ['Overload'], 5, 2, - 1) then
- clickmouse2(mouse_right);
- WaitOptionMulti(['Take'], 3000);
- WaitHumanClick;
- V := [['Many', 'any'], move];
- if WaitFuncEx('FindNPCChatTextMulti', V, 500, RandomRange(8000, 10000)) then
- TypeSendEx(Overloads, true);
- WaitHumanClick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- end;
- end;
- procedure withdrawabsorbs;
- begin
- V := [['please'], clickleft];
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if (R_InvCount < 28) then
- begin
- MakeCompass('w');
- writeln(' we dont have absorbs');
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if Clickobject(point(BarrelAX, BarrelAY), ['Absorption'], 4, 1, 0) then
- begin
- FindALlrandoms;
- writeln(' getting absorb');
- MakeCompass('w');
- if FindObject([10852996], 20, 2, 0.03, 0.35, 1, 1, ['Drink', 'rink', 'verload', 'Overload'], 300, 150, MIX1, MIY1, MIX2, MIY2) then
- begin
- writeln('we have absorbs in inv, storing them');
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if Clickobject(point(BarrelAX, BarrelAY), ['Absorption'], 5, 2, - 1) then
- clickmouse2(mouse_right);
- WaitOptionMulti(['Store', 'tore'], 3000);
- WaitHumanClick;
- if WaitFuncEx('FindNPCChatTextMulti', V, 500, RandomRange(8000, 10000)) then
- writeln('we clicked yes to store absorp');
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- if Clickobject(point(BarrelAX, BarrelAY), ['Absorption'], 5, 2, - 1) then
- clickmouse2(mouse_right);
- WaitOptionMulti(['Take'], 3000);
- WaitHumanClick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- WaitHumanClick;
- V := [['Many', 'any'], move];
- if WaitFuncEx('FindNPCChatTextMulti', V, 500, RandomRange(8000, 10000)) then
- TypeSendEx(Absorbs, true);
- WaitHumanClick;
- writeln(' failed to withdraw absorbs');
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- end;
- end;
- procedure StartDream;
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if LocateNPC('Dominic', 'Dominic') then
- begin
- FindALlrandoms;
- writeln(' finding dominic and starting dream');
- waithumanclick;
- ClickMouse2(mouse_right);
- WaitOptionMulti(['Dream', 'ream'], 500);
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- V := [ClBlack, 30, MCX1, MCY1, MCX2, MCY2, 'Previous', CharsNPC07, Nothing];
- if WaitFuncEx('FindTextTPA', V, 500, randomrange(8000, 10000)) then
- begin
- mouse(260, 445, 2, 2, mouse_left);
- wait(randomrange(1500, 2500));
- ClickToContinue;
- wait(randomrange(1500, 2500));
- mouse(260, 402, 2, 2, mouse_left);
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- case random(10) of
- 0..7: writeln('done dream');
- 8..10:
- begin
- writeln('clicking continue after done..');
- waithumanclick;
- ClickToContinue;
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- end;
- end;
- end;
- end;
- procedure CheckIfVialempty;
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if DreamStartScreen then
- Mousebox(456, 45, 466, 51, mouse_left);
- if ShopScreenS then
- mouse(randomrange(486, 487), randomrange(40, 41), 0, 0, mouse_left);
- if Clickobject(point(VialX, VialY), ['Empty'], 5, 0, - 1) then
- begin
- writeln(' Vial is empty');
- MakeCompass('n');
- SetAngle(0);
- writeln('going for chest to buy potions');
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- DoChest;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- WithdrawOverloads;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- withdrawabsorbs;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- StartDream;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- end;
- end;
- procedure Checkifvialisfull;
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- if DreamStartScreen then
- Mousebox(456, 45, 466, 51, mouse_left);
- if ShopScreenS then
- mouse(randomrange(486, 487), randomrange(40, 41), 0, 0, mouse_left);
- if Clickobject(point(VialX, VialY), ['Potion'], 4, 0, - 1) then
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- FindALlrandoms;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- writeln(' our dream is ready, starting');
- clickmouse2(mouse_left);
- waithumanclick;
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- MouseBox(435, 280, 455, 299, mouse_move);
- if WaitUpTextMulti2(['Continue', 'ontinue'], 3000) then
- begin
- clickmouse2(mouse_left);
- writeln(' waiting 10...10 seconds');
- if WaitFunc(@ InsideCave, 500, RandomRange(15000, 20000)) then
- begin
- if not loggedin then
- exit;
- if IsInFight and (not InsideCave) then
- fleeFromFight;
- writeln(' getting our position');
- PointInsideCave := R_GetTileGlobal;
- writeln(' mapping our 44X44 area');
- if (PointInsideCave.x > 0) then
- begin
- writeln('it mapped correctly!');
- Cavebottomleft.x := PointInsideCave.x - 44;
- Cavebottomleft.y := PointInsideCave.y - 4;
- Cavetopleft.x := PointInsideCave.X - 44;
- Cavetopleft.y := PointInsideCave.Y + 44;
- CaveBottomRight.x := PointInsideCave.X + 44;
- CaveBottomRight.y := PointInsideCave.Y - 4;
- CavetopRight.x := PointInsideCave.X + 44;
- CavetopRight.y := PointInsideCave.y + 44;
- end
- else
- writeln('failed to map our area');
- end;
- end
- else
- clickCoffer;
- end;
- end;
- procedure outsideloop;
- begin
- if not loggedin then
- exit;
- if IsInFight then
- fleeFromFight;
- FindALlrandoms;
- if DreamStartScreen then
- Mousebox(456, 45, 466, 51, mouse_left);
- if ShopScreenS then
- mouse(randomrange(486, 487), randomrange(40, 41), 0, 0, mouse_left);
- MakeCompass('n');
- SetAngle(0);
- writeln('we are outside NMZ...');
- if IsInFight then
- fleeFromFight;
- clickCoffer;
- if IsInFight then
- fleeFromFight;
- writeln('going for vial..');
- CheckIfVialEmpty;
- if IsInFight then
- fleeFromFight;
- CheckifvialisFull;
- if IsInFight then
- fleeFromFight;
- end;
- procedure WaitShortClick;
- begin
- if (not (loggedin)) then
- exit;
- case random(600) of
- 1..450: Wait(RandomRange(100, 150));
- 451..570: Wait(RandomRange(150, 200));
- 571..590: Wait(RandomRange(200, 250));
- 591..600: Wait(RandomRange(250, 400));
- end;
- end;
- procedure WaitShortClick2;
- begin
- if (not (loggedin)) then
- exit;
- case random(600) of
- 1..450: Wait(RandomRange(400, 450));
- 451..570: Wait(RandomRange(450, 500));
- 571..590: Wait(RandomRange(500, 550));
- 591..600: Wait(RandomRange(550, 600));
- end;
- end;
- function HoverNearbyNpc: boolean;
- var
- I: Tpointarray;
- P: Integer;
- begin
- if (not (loggedin)) then
- exit;
- I := GetMiniMapDots('npc');
- if (length(I) > 0) then
- begin
- SortTPAFrom(i, Point(MMCX, MMCY));
- P := random(length(I)) Mmouse(I[0].x, I[0].y, 3, 3);
- result := true;
- end;
- end;
- procedure Keyboards;
- begin
- case random(5) of
- 0..2:
- begin
- KeyDown(37);
- WaitShortClick KeyUp(37);
- WaitShortClick KeyDown(40);
- WaitShortClick KeyUp(40);
- end;
- 3..4:
- begin
- KeyDown(39);
- WaitShortClick KeyUp(39);
- WaitShortClick KeyDown(38);
- WaitShortClick KeyUp(38);
- end;
- 5:
- begin
- KeyDown(38);
- WaitShortClick KeyUp(38);
- WaitShortClick KeyDown(39);
- WaitShortClick KeyUp(39);
- end;
- end;
- end;
- procedure Antiban;
- begin
- if (not (loggedin)) then
- exit;
- case random(100) of
- 0..56:
- begin
- end;
- 57..100:
- begin
- case random(150) of
- 10: hoverskill(skill_magic, false);
- 15: HoverOnlineFriend;
- 20: BoredHuman;
- 30: MMouseOffClient('top');
- 40: MMouseOffClient('left');
- 50: MMouseOffClient('right');
- 60: MMouseOffClient('bottom');
- 70: SmallRandomMouse;
- 80: RandomAngle(1);
- 90: RandomAngle(2);
- 100: PickUpMouse;
- 110: CompassMovement(10, 70, true);
- 120: HoverNearbyNpc;
- 130: Keyboards;
- 140: MissMouse(250, 250);
- 150: RandomMovement;
- 160: CompassMovement(240, 300, true);
- 170: AdjustMouseSpeed(3, 10, 20);
- 180: RandomFKeys(true);
- 190: RandomTab(true);
- end;
- end;
- end;
- end;
- procedure idle;
- var
- HpBarOutside, t: integer;
- begin
- writeln('entered idle mode..');
- marktime(t);
- HpBarOutside := randomrange(3000, 6000);
- repeat
- wait(400);
- if not InsideCave then
- exit;
- if not loggedin then
- exit;
- if IsInFight then
- exit;
- until (TimeFromMark(T) >= HpBarOutside);
- if (TimeFromMark(T) >= HpBarOutside) then
- begin
- writeln('we entered idling methhod, spinning camera and shit');
- antiban;
- end;
- end;
- procedure SpecTiming;
- begin
- SpecTimer := GetTimeRunning + RandomRange(ReSpecTime1, ReSpecTime2);
- end;
- procedure MakeSpec;
- var
- T, CurrentSpec: integer;
- begin
- SpecTiming;
- CurrentSpec := R_GetSpecPercent;
- gametab(tab_inv);
- if (currentspec < 25) then
- begin
- writeln('we dont have enough spec');
- gametab(tab_inv);
- MMouseItem(1);
- WaitHumanClick;
- if WaitUpTextMulti2(['Whip', 'hip', 'abyssal', 'byssal'], 300) then
- begin
- writeln('No spec, putting whip back on!');
- ClickMouse2(mouse_left);
- WaitHumanClick;
- end;
- end;
- if (currentspec >= 25) then
- begin
- gametab(tab_inv);
- MMouseItem(1);
- WaitHumanClick;
- if WaitUpTextMulti2(['Whip', 'hip', 'abyssal', 'byssal'], 300) then
- begin
- writeln('we dont have whip equipped ..., specing!');
- GameTab(tab_combat);
- WaitHumanClick;
- MouseBox(579, 425, 680, 427, mouse_Move);
- if WaitUpTextMulti2(['Use', 'se'], 300) then
- begin
- marktime(t);
- repeat
- waithumanclick;
- CurrentSpec := R_GetSpecPercent;
- if not loggedin then
- exit;
- if not InsideCave then
- exit;
- if (CurrentSpec < 25) then
- break;
- if not WaitUpTextMulti2(['Use', 'se'], 300) then
- break;
- clickmouse2(mouse_left);
- Wait(randomrange(2000, 3000));
- CurrentSpec := R_GetSpecPercent;
- waithumanclick;
- until (CurrentSpec < 25) or (TimeFromMark(t) >= 20000) writeln('done doing spec');
- if (CurrentSpec < 25) or (TimeFromMark(t) >= 20000) then
- begin
- writeln('no more spec');
- GameTab(tab_inv);
- WaitHumanClick;
- MMouseItem(1);
- WaitHumanClick;
- if WaitUpTextMulti2(['Whip', 'hip', 'abyssal', 'byssal'], 300) then
- begin
- writeln('putting whip back on');
- ClickMouse2(mouse_left);
- WaitHumanClick;
- end;
- end;
- end;
- end;
- if WaitUpTextMulti2(['Drag', 'rag', 'dagger', 'agger'], 300) then
- begin
- writeln('we have whip on, switching to dds!');
- ClickMouse2(mouse_left);
- WaitHumanClick;
- if WaitUpTextMulti2(['Whip', 'hip', 'abyssal', 'byssal'], 300) then
- begin
- GameTab(tab_combat);
- WaitHumanClick;
- MouseBox(579, 425, 680, 427, mouse_Move);
- if WaitUpTextMulti2(['Use', 'se'], 300) then
- begin
- marktime(t);
- repeat
- waithumanclick;
- CurrentSpec := R_GetSpecPercent;
- if not loggedin then
- exit;
- if not InsideCave then
- exit;
- if (CurrentSpec < 25) then
- break;
- if not WaitUpTextMulti2(['Use', 'se'], 300) then
- break;
- clickmouse2(mouse_left);
- Wait(randomrange(2000, 3000));
- CurrentSpec := R_GetSpecPercent;
- waithumanclick;
- until (CurrentSpec < 25) or (TimeFromMark(t) >= 20000) writeln('done doing spec');
- if (CurrentSpec < 25) or (TimeFromMark(t) >= 20000) then
- begin
- writeln('no more spec');
- GameTab(tab_inv);
- WaitHumanClick;
- MMouseItem(1);
- WaitHumanClick;
- if WaitUpTextMulti2(['Whip', 'hip', 'abyssal', 'byssal'], 300) then
- begin
- writeln('putting whip back on');
- ClickMouse2(mouse_left);
- WaitHumanClick;
- end;
- end;
- end;
- end;
- end;
- end;
- end;
- procedure DoSpec;
- begin
- if not loggedin then
- exit;
- if not InsideCave then
- exit;
- if (DoSpecs = false) then
- exit;
- writeln('we are here');
- if (GetTimeRunning >= SpecTimer) then
- begin
- SpecTiming;
- writeln('time to do spec..');
- case random(100) of
- 0..50: writeln('not doing spec this time');
- 51..100: MakeSpec;
- end;
- end;
- end;
- function ReachedGoal(SkillGoal, SkillCompare: Integer): boolean;
- var
- CurrentGoal, ComparedGoal: integer;
- begin
- CurrentGoal := R_GetSkillExp(SkillGoal);
- ComparedGoal := R_GetSkillExp(SkillCompare);
- if (CurrentGoal >= ComparedGoal) then
- begin
- result := true;
- end;
- end;
- function FinishedGoal: boolean;
- var
- SkillAtt, SkillDef, SkillSTr: integer;
- begin
- SkillAtt := R_GetSkillExp(0);
- SkillDef := R_GetSkillExp(1);
- SkillSTr := R_GetSkillExp(2);
- if (SkillAtt >= SkillSTr) and (SkillDef >= SkillSTr) then
- begin
- result := true;
- end;
- end;
- procedure InCaveIdleLoop;
- begin
- WaitHumanClick;
- if not loggedin then
- exit;
- if not InsideCave then
- exit;
- if not R_IsAutoRetaliateOn then
- Retaliate(true);
- progressreport;
- FindALlrandoms;
- if FinishedGoal then
- setfightmode(2);
- if (HpLevel >= 49) then
- clickoverload;
- if (not Absorbed) then
- begin
- if not InsideCave then
- exit;
- if not loggedin then
- exit;
- ClickAbsorp;
- waithumanclick;
- ClickAbsorp;
- waithumanclick;
- ClickAbsorp;
- waithumanclick;
- ClickAbsorp;
- waithumanclick;
- end;
- if (AbsorPoints <= DrinkTime) then
- clickAbsorp;
- if not IsInFight then
- idle;
- end;
- procedure walktosafespot;
- begin
- myposinsidecave.x := PointInsideCave.x + 5;
- myposinsidecave.y := PointInsideCave.y - 1;
- WaitHumanClick;
- FindALlrandoms;
- MeInCave := R_GetTileGlobal;
- r_walkpath([myposinsidecave]);
- waithumanclick;
- end;
- procedure InsideCaveloop;
- begin
- if not loggedin then
- exit;
- if not InsideCave then
- exit;
- if R_inPolygon([CavetopRight, CaveBottomRight, Cavebottomleft, Cavetopleft]) then
- begin
- MeInCave := R_GetTileGlobal;
- if not (MeInCave.x > (PointInsideCave.x + 1)) then
- begin
- walkToSafeSpot;
- end;
- if (MeInCave.x < (PointInsideCave.x + 10)) then
- begin
- while InsideCave do
- InCaveIdleLoop;
- end;
- end
- else
- begin
- while InsideCave do
- InCaveIdleLoop;
- end;
- end;
- procedure mainloop;
- var
- t: integer;
- begin
- if not loggedin then
- exit;
- FindALlrandoms;
- if OutsideCave then
- Outsideloop;
- if InsideCave then
- InsideCaveloop;
- if not loggedin then
- exit;
- FindALlrandoms;
- if (not InsideCave) and (not OutsideCave) then
- begin
- MarkTime(t)
- repeat
- WaitHumanClick;
- if not loggedin then
- exit;
- if (OutsideCave) then
- exit;
- if InsideCave then
- exit;
- FindALlrandoms;
- until (TimeFromMark(T) > 20000);
- if (TimeFromMark(t) > 20000) then
- begin
- if logmeout then
- Termination('We got lost, couldnt find where we were');
- end;
- end;
- end;
- procedure test1;
- begin
- end;
- procedure info;
- var
- Level1, Level2, Level3: string;
- Me1, Me2, me3: integer;
- begin
- Level1 := 'Exp needed to level 90: 5,346,332';
- Level2 := 'Exp needed to level 99: 8,771,558';
- Level3 := 'Exp needed to level 99: 13,034,431';
- me1 := R_GetSkillExp(SKILL_DEFENCE);
- me2 := (((13034431) - (me1)) / 22000);
- writeln('We need : ' + IntToSTr(me2) + ' Hours Till 99');
- end;
- begin
- playerSetup;
- setupsrl;
- SetupReflection;
- writeln(R_GetTileGlobal);
- SRL_CombatRandoms := False;
- R_CombatRandoms := false;
- R_Reincarnate := true;
- if loggedin then
- graboriginalexp;
- StartTime;
- LongBreakTimer;
- SpecTiming;
- addonterminate('progressreport');
- DrinkTime := Randomrange(500, 800);
- if not R_IsAutoRetaliateOn then
- Retaliate(true);
- SetFightMode(2);
- repeat
- WaitHumanClick;
- if pinscreen then
- InPin(bankpin);
- if LobbyScreen then
- enterlobby;
- if not loggedin then
- loginloop;
- if loggedin then
- mainloop;
- until (false);
- end.
Advertisement
Add Comment
Please, Sign In to add comment