zamaro

Chaos druid trainer

Mar 14th, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.70 KB | None | 0 0
  1. program Pizbuyer;
  2. {$DEFINE SMART8}
  3. {$I SRL-OSR/SRL.Simba}
  4. {$I SRL-OSR/SRL/misc/al_functions.simba}
  5. {$I SRL-OSR/SRL/core/antirandoms/C_AntiRandoms.simba}
  6. {$I SRL-OSR/SRL/Reflection/Reflection.simba}
  7.  
  8. var
  9. myloc: tpoint;
  10. HPxp, AttExp, DefExp, StrExp, cx, cy: integer;
  11.  
  12.  
  13. {made by samerdl}
  14.  
  15. procedure playerSetup;
  16. begin
  17. HowManyPlayers := 1;
  18. NumberOfPlayers(HowManyPlayers);
  19. CurrentPlayer := 0;
  20. Players[0].Name := '~@~!.com';
  21. Players[0].Pass := '~';
  22. Players[0].Nick := '~';
  23. Players[0].Active := True;
  24. end;
  25.  
  26. procedure graboriginalexp;
  27. begin
  28. HPxp := R_GetSkillExp(SKILL_HP);
  29. AttExp := R_GetSkillExp(SKILL_ATTACK);
  30. DefExp := R_GetSkillExp(SKILL_DEFENCE);
  31. StrExp := R_GetSkillExp(SKILL_STRENGTH);
  32. end;
  33.  
  34. procedure ProgressReport;
  35. var
  36. DefGain, StrGain, AttGain, HpGain, FHP, FAtt, FDef, FSTr: integer;
  37. begin
  38. ClearDebug;
  39. Fhp := R_GetSkillExp(SKILL_HP);
  40. FAtt := R_GetSkillExp(SKILL_ATTACK);
  41. Fdef := R_GetSkillExp(SKILL_DEFENCE);
  42. FStr := R_GetSkillExp(SKILL_STRENGTH);
  43. HpGain := ((Fhp) - (hpxp));
  44. AttGain := ((FAtt) - (Attexp));
  45. DefGain := ((FDef) - (Defexp));
  46. StrGain := ((Fstr) - (strexp));
  47. WriteLn('* FHobs');
  48. WriteLn('* Runtime: ' + TimeRunning);
  49. Writeln('*');
  50. writeln('* Hp Exp Gained: ' + IntToStr(Hpgain));
  51. Writeln('* Att Exp Gained: ' + IntToStr(AttGain));
  52. Writeln('* Def Exp Gained: ' + IntToStr(DefGain));
  53. Writeln('* STr Exp Gained: ' + IntToStr(StrGain));
  54. end;
  55.  
  56. procedure findAllRandoms;
  57. begin
  58. R_FindNormalRandoms findNormalRandoms;
  59. FindNonInventoryRandoms;
  60. end;
  61.  
  62. procedure WaitShortClick;
  63. begin
  64. case random(600) of
  65. 1..450: Wait(RandomRange(100, 150));
  66. 451..570: Wait(RandomRange(150, 200));
  67. 571..590: Wait(RandomRange(200, 250));
  68. 591..600: Wait(RandomRange(250, 400));
  69. end;
  70. end;
  71.  
  72. procedure Keyboards;
  73. begin
  74. case random(5) of
  75. 0..2:
  76. begin
  77. KeyDown(37);
  78. WaitShortClick KeyUp(37);
  79. WaitShortClick KeyDown(40);
  80. WaitShortClick KeyUp(40);
  81. end;
  82. 3..4:
  83. begin
  84. KeyDown(39);
  85. WaitShortClick KeyUp(39);
  86. WaitShortClick KeyDown(38);
  87. WaitShortClick KeyUp(38);
  88. end;
  89. 5:
  90. begin
  91. KeyDown(38);
  92. WaitShortClick KeyUp(38);
  93. WaitShortClick KeyDown(39);
  94. WaitShortClick KeyUp(39);
  95. end;
  96. end;
  97. end;
  98.  
  99. function HoverNearbyNpc: boolean;
  100. var
  101. I: Tpointarray;
  102. P: Integer;
  103. begin
  104. I := GetMiniMapDots('npc');
  105. if (length(I) > 6) then
  106. begin
  107. SortTPAFrom(i, Point(MMCX, MMCY));
  108. P := random(length(I)) Mmouse(I[0].x, I[0].y, 3, 3);
  109. result := true;
  110. end;
  111. end;
  112.  
  113. procedure Antiban;
  114. begin
  115. case random(140) of
  116. 0..2: hoverskill(skill_hitpoints, false);
  117. 3..7.: HoverSkill(skill_strength, False);
  118. 12..15: hoverskill(skill_attack, false);
  119. 16..19: HoverOnlineFriend;
  120. 20: BoredHuman;
  121. 30: MMouseOffClient('top');
  122. 40: MMouseOffClient('left');
  123. 50: MMouseOffClient('right');
  124. 60: MMouseOffClient('bottom');
  125. 70: SmallRandomMouse;
  126. 80: RandomAngle(1);
  127. 90: RandomAngle(2);
  128. 100: PickUpMouse;
  129. 110: CompassMovement(10, 70, true);
  130. 120: HoverNearbyNpc;
  131. 130: Keyboards;
  132. 140: writeln('hi');
  133. end;
  134. end;
  135.  
  136. procedure SecondAntiban2;
  137. begin
  138. case random(20) of
  139. 1: PickUpMouse;
  140. 2: BoredHuman;
  141. 3: MMouseOffClient('left');
  142. 4: MMouseOffClient('right');
  143. 5: MMouseOffClient('bottom');
  144. 6: SmallRandomMouse;
  145. 7: boredhuman;
  146. 8: SmallRandomMouse;
  147. 10: keyboards;
  148. end;
  149. end;
  150.  
  151. function OnCanoeScreen: boolean;
  152. var
  153. Monster: TpointArray;
  154. TmpCts: Integer;
  155. begin
  156. tmpcts := GetColorToleranceSpeed;
  157. ColorToleranceSpeed(2);
  158. SetColorSpeed2Modifiers(1.86, 0.72);
  159. result := FindColorsTolerance(Monster, 5263430, 275, 106, 400, 205, 3);
  160. ColorToleranceSpeed(tmpcts);
  161. SetColorSpeed2Modifiers(0.2, 0.2);
  162. end;
  163.  
  164. procedure MMouseRandom(x, y: integer);
  165. var
  166. Cx, Cy: Integer;
  167. begin
  168. GetMousePos(Cx, Cy);
  169. AL_SetMouseSpeed(20);
  170. case Random(5) of
  171. 0: AL_BrakeWindMouse(Cx, Cy, x, y, 15 + Random(10), 5 + Random(15), 5, 10, 5, True);
  172. 1: AL_HumanWindMouse(Cx, Cy, x, y, 15 + Random(10), 5 + Random(15), 5, 10, 5);
  173. 2: AL_AccurateMMouse(IntToPoint(x, y), 2, 2);
  174. 3: AL_HumanMMouse(IntToPoint(x, y), 2, 2);
  175. 4: AL_ShiftWindMouse(Cx, Cy, x, y, 15 + Random(10), 5 + Random(15), 5, 10, 20, 5);
  176. 5: AL_MissMouse(IntToPoint(x, y), 2, 2);
  177. end;
  178. end;
  179.  
  180. procedure WaitHumanClick3;
  181. begin
  182. case random(600) of
  183. 1..450: Wait(RandomRange(3000, 5000));
  184. 451..570: Wait(RandomRange(5000, 5500));
  185. 571..590: Wait(RandomRange(6000, 6500));
  186. 591..600: Wait(RandomRange(7000, 7500));
  187. end;
  188. end;
  189.  
  190. procedure DebugPosition;
  191. begin
  192. repeat
  193. wait(400);
  194. Myloc := R_GetTileGlobal;
  195. writeln(Myloc);
  196. until (false);
  197. end;
  198.  
  199. function GetGreenUptext: string;
  200. var
  201. WhiteT, BlueT, YellowT, OrangeT, GreenT, FoundText: string;
  202. begin
  203. WhiteT := GetTextAtExWrap(8, 8, 300, 21, 0, 5, 1, 14541281, 55, 'UpChars07');
  204. BlueT := GetTextAtExWrap(35, 8, 300, 21, 0, 5, 1, 13423640, 65, 'UpChars07');
  205. YellowT := GetTextAtExWrap(35, 8, 300, 21, 0, 5, 1, 1235160, 40, 'UpChars07');
  206. OrangeT := GetTextAtExWrap(35, 8, 300, 21, 0, 5, 1, 4687583, 53, 'UpChars07');
  207. GreenT := GetTextAtExWrap(8, 8, 300, 21, 0, 5, 1, 120577, 65, 'UpChars07');
  208. FoundText := WhiteT + ' ' + BlueT + YellowT + OrangeT + GreenT;
  209. FoundText := ReplaceWrap(FoundText, '.', '', [rfReplaceAll]);
  210. FoundText := ReplaceWrap(FoundText, '/', '', [rfReplaceAll]);
  211. FoundText := ReplaceWrap(FoundText, '\', '', [rfReplaceAll]);
  212. FoundText := ReplaceWrap(FoundText, ',', '', [rfReplaceAll]);
  213. FoundText := ReplaceWrap(FoundText, '*', '', [rfReplaceAll]);
  214. FoundText := ReplaceWrap(FoundText, '^', '', [rfReplaceAll]);
  215. FoundText := ReplaceWrap(FoundText, '"', '', [rfReplaceAll]);
  216. Result := FoundText;
  217. end;
  218.  
  219. function IsUpTextMultiCustom2(Text: TStringArray): Boolean;
  220. var
  221. TheText: string;
  222. i, n: Integer;
  223. begin
  224. TheText := GetGreenUptext;
  225. n := High(Text);
  226. for i := 0 to n do
  227. if (Pos(Text[i], TheText) > 0) then
  228. begin
  229. Result := True;
  230. Exit;
  231. end;
  232. end;
  233.  
  234. function WaitUpTextMulti2(S: TStringArray; Time: Integer): Boolean;
  235. var
  236. T: Integer;
  237. begin
  238. Result := false;
  239. T := GetSystemTime + Time;
  240. while (GetSystemTime < T) do
  241. begin
  242. if (IsUpTextMultiCustom2(S)) then
  243. begin
  244. Result := True;
  245. Exit;
  246. end;
  247. Wait(20 + Random(20));
  248. end;
  249. end;
  250.  
  251. function FindObjExX(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol, CTS: integer; Hue, Sat: Extended; Step, xs, ys, xe, ye: Integer): Boolean;
  252. var
  253. MidX, MidY, i, j, k, x, y, width, height, HalfWidth, HalfHeight: Integer;
  254. ColorFound: Boolean;
  255. SearchBoxes: array of array of TBox;
  256. p: TPointArray;
  257. begin
  258. if (not (loggedin)) then
  259. exit;
  260. if R_IsAnimating then
  261. exit;
  262. Result := False;
  263. for i := 0 to (GetArrayLength(Color) - 1) do
  264. begin
  265. ColorToleranceSpeed(CTS);
  266. SetColorSpeed2Modifiers(Hue, sat);
  267. if (FindColorSpiralTolerance(cx, cy, Color[i], xs, ys, xe, ye, Tol)) then
  268. begin
  269. ColorToleranceSpeed(1);
  270. SetColorSpeed2Modifiers(0.2, 0.2);
  271. ColorFound := True;
  272. Break;
  273. end;
  274. end;
  275. ColorToleranceSpeed(1);
  276. SetColorSpeed2Modifiers(0.2, 0.2);
  277. if R_IsAnimating then
  278. exit;
  279. if not (ColorFound) then
  280. Exit;
  281. MidX := Round((xe - xs) / 2);
  282. MidY := Round((ye - ys) / 2);
  283. Width := Ceil(abs(xe - xs) / 2 / Step - 0.5) * 2 + 1;
  284. Height := Ceil(abs(ye - ys) / 2 / Step - 0.5) * 2 + 1;
  285. SetLength(SearchBoxes, Width);
  286. HalfWidth := Floor(Width / 2);
  287. HalfHeight := Floor(Height / 2) for x := - 1 * HalfWidth to HalfWidth do
  288. begin
  289. SetLength(SearchBoxes[x + HalfWidth], Height);
  290. for y := - 1 * HalfHeight to HalfHeight do
  291. SearchBoxes[x + HalfWidth][y + HalfHeight] := IntToBox(Max(xs, xs + Round(MidX + ((x - 0.5) * Step))), Max(ys, ys + Round(MidY + ((y - 0.5) * Step))), Min(xe, xs + Round(MidX + ((x + 0.5) * Step))), Min(ye, ys + Round(MidY + ((y + 0.5) * Step))));
  292. end;
  293. p := TPAFromBox(IntToBox(0, 0, Width - 1, Height - 1));
  294. SortTPAFrom(p, Point(floor(Width / 2), floor(Height / 2)));
  295. for k := 0 to High(Color) do
  296. for j := 0 to High(p) do
  297. begin
  298. ColorToleranceSpeed(CTS);
  299. SetColorSpeed2Modifiers(Hue, sat);
  300. if (FindColorTolerance(cx, cy, Color[k], SearchBoxes[p[j].x][p[j].y].x1, SearchBoxes[p[j].x][p[j].y].y1, SearchBoxes[p[j].x][p[j].y].x2, SearchBoxes[p[j].x][p[j].y].y2, Tol)) then
  301. begin
  302. ColorToleranceSpeed(1);
  303. SetColorSpeed2Modifiers(0.2, 0.2);
  304. if R_IsAnimating then
  305. exit;
  306. MMouse(cx, cy, 3, 3);
  307. wait(randomrange(200, 300));
  308. if (WaitUptextMulti2(Text, 300)) then
  309. begin
  310. ColorToleranceSpeed(1);
  311. SetColorSpeed2Modifiers(0.2, 0.2);
  312. GetMousePos(cx, cy);
  313. Result := True;
  314. Exit;
  315. end;
  316. end;
  317. ColorToleranceSpeed(1);
  318. SetColorSpeed2Modifiers(0.2, 0.2);
  319. end;
  320. ColorToleranceSpeed(1);
  321. SetColorSpeed2Modifiers(0.2, 0.2);
  322. end;
  323.  
  324. procedure WaitHumanClick;
  325. begin
  326. case random(600) of
  327. 1..450: Wait(RandomRange(400, 600));
  328. 451..570: Wait(RandomRange(400, 600));
  329. 571..590: Wait(RandomRange(600, 800));
  330. 591..600: Wait(RandomRange(800, 1000));
  331. end;
  332. end;
  333.  
  334. procedure WaitHumanClick2;
  335. begin
  336. case random(600) of
  337. 1..450: Wait(RandomRange(1000, 1500));
  338. 451..570: Wait(RandomRange(1500, 2000));
  339. 571..590: Wait(RandomRange(2000, 2500));
  340. 591..600: Wait(RandomRange(2500, 3000));
  341. end;
  342. end;
  343.  
  344. function FindObjectFar(Color: TintegerArray; Tol, CTS: integer; hMoD, sMoD: extended; Split, Sort: integer; Uptext: array of string; WaitUptextWait, WaitUptextRandom: Integer; x, y, xs, ys: integer): boolean;
  345. var
  346. III, i, tmpcts: integer;
  347. TPA: tpointarray;
  348. TPAA: T2DPointArray;
  349. begin
  350. if (not (loggedin)) then
  351. exit;
  352. tmpcts := GetColorToleranceSpeed;
  353. ColorToleranceSpeed(CTS);
  354. SetColorSpeed2Modifiers(hMoD, SMoD);
  355. FindColorsSpiralTolerance(MSCX, MSCY, TPA, color[III], x, y, xs, ys, Tol) ColorToleranceSpeed(tmpCTS);
  356. SetColorSpeed2Modifiers(0.2, 0.2);
  357. SplitTPAWrap(TPA, Split, TPAA);
  358. SortATPAFromSize(TPAA, Sort, false);
  359. for I := 0 to High(TPAA) do
  360. begin
  361. MiddleTPAEx(TPAA[i], X, Y);
  362. MMouse(x, y, RandomRange( - 3, 3), RandomRange( - 3, 3));
  363. if WaitUpTextMulti2(uptext, WaitUptextWait + random(WaitUptextRandom)) then
  364. begin
  365. Result := True;
  366. GetMousePos(X, Y);
  367. break;
  368. end;
  369. break;
  370. end;
  371. end;
  372.  
  373. function OpenWScreen: Boolean;
  374. begin
  375. Result := False;
  376. if WorldScreen then
  377. exit;
  378. if Loggedin then
  379. Exit;
  380. if not WorldScreen then
  381. begin
  382. Mmouse(54, 475, 1, 1);
  383. WaitHumanClick;
  384. ClickMouse2(Mouse_Left);
  385. waithumanclick;
  386. Result := True;
  387. end;
  388. end;
  389.  
  390. function whitecolor: boolean;
  391. var
  392. Monster: TpointArray;
  393. TmpCts: Integer;
  394. begin
  395. tmpcts := GetColorToleranceSpeed;
  396. ColorToleranceSpeed(2);
  397. SetColorSpeed2Modifiers(0.22, 1.69);
  398. result := FindColorsTolerance(Monster, 9163999, 192, 67, 583, 469, 4);
  399. ColorToleranceSpeed(tmpcts);
  400. SetColorSpeed2Modifiers(0.2, 0.2);
  401. end;
  402.  
  403. procedure loginloop;
  404. begin
  405. case random(10) of
  406. 0..6: wait(randomrange(5000, 60000));
  407. 7..10: writeln('not waiting in lobby');
  408. end;
  409. case random(10) of
  410. 0..3:
  411. begin
  412. OpenWorldScreen;
  413. repeat
  414. if whitecolor then
  415. break;
  416. if whitecolor then
  417. writeln('yeaya');
  418. if not whitecolor then
  419. writeln('yea22ya');
  420. case random(10) of
  421. 0..2: mouse(randomrange(397, 554), randomrange(78, 394), 1, 1, mouse_move);
  422. 3..4: mouse(randomrange(298, 462), randomrange(200, 392), 1, 1, mouse_move);
  423. 5..6: mouse(randomrange(205, 555), randomrange(80, 154), 1, 1, mouse_move);
  424. 7..10: mouse(randomrange(211, 555), randomrange(246, 367), 1, 1, mouse_move);
  425. end;
  426. until (whitecolor) if whitecolor then
  427. begin
  428. clickmouse2(mouse_left);
  429. waithumanclick;
  430. currentworld;
  431. waithumanclick;
  432. if (CurrentWorldLS = 365) then
  433. exit;
  434. waithumanclick;
  435. loginplayer;
  436. exit;
  437. end;
  438. end;
  439. 4..10: loginplayer;
  440. end;
  441. end;
  442.  
  443. function InLumbridge: boolean;
  444. var
  445. tpa: tpointarray;
  446. begin
  447. result := R_inPolygon([Point(3216, 3228), Point(3226, 3228), Point(3226, 3212), Point(3217, 3209)]);
  448. end;
  449.  
  450. function AtDruids: boolean;
  451. var
  452. tpa: tpointarray;
  453. begin
  454. result := R_inPolygon([Point(3218, 3610), Point(3260, 3610), Point(3260, 3637), Point(3218, 3637)]);
  455. end;
  456.  
  457. function lost: boolean;
  458. begin
  459. if not loggedin then
  460. exit;
  461. result := (not InLumbridge) and (not atdruids);
  462. end;
  463.  
  464. procedure hometele;
  465. var
  466. tp: integer;
  467. begin
  468. waithumanclick;
  469. tp := R_DistanceFromTile(point(3087, 3763));
  470. writeln('Our distance from Midpoint hobs is: ' + IntToStr(tp));
  471. if (tp > 50) then
  472. begin
  473. gametab(tab_magic);
  474. waithumanclick;
  475. mouse(randomrange(565, 575), randomrange(235, 245), randomrange( - 2, 2), randomrange( - 2, 2), mouse_left);
  476. wait(randomrange(15000, 25000));
  477. if lost then
  478. begin
  479. writeln('we got lost!');
  480. terminatescript;
  481. end;
  482. end
  483. else
  484. begin
  485. r_blindwalk(Point(3087, 3763));
  486. end;
  487. end;
  488.  
  489. function Ispraying: Boolean;
  490. var
  491. overhead: tpointarray;
  492. begin
  493. if (not (loggedin)) then
  494. exit;
  495. result := (FindColorsTolerance(Overhead, 63226, MSX1, MSY1, MSX2, MSY2, 10) or FindColorsTolerance(Overhead, 621348, MSX1, MSY1, MSX2, MSY2, 10))
  496. end;
  497.  
  498. procedure RunToTheNPC;
  499. var
  500. TPA, TPA2, TPA3, TPA2B: TpointArray;
  501. I, x, y, CTS: Integer;
  502. P1, P2: tpoint;
  503. tempatpa, ATPA: T2DPointArray;
  504. begin
  505. if (not (loggedin)) then
  506. exit;
  507. if atdruids then
  508. begin
  509. FindColorsTolerance(TPA, 16777215, MMX1, MMY1, MMX2, MMY2, 7) cts := GetColorToleranceSpeed;
  510. ColorToleranceSpeed(2);
  511. SetColorSpeed2Modifiers(0.00, 0.12);
  512. FindColorsTolerance(TPA2, 126702, MMX1, MMY1, MMX2, MMY2, 7) ColorToleranceSpeed(CTS);
  513. SetColorSpeed2Modifiers(0.02, 0.2);
  514. if (Length(TPA) < 0) and (Length(TPA2) < 0) then
  515. exit;
  516. FilterPointsPie(TPA2, 0, 360, 45, 72, MMCX, MMCY) ceil((Length(TPA2) * 100) / ((Pi * (25 * 25)) * ((360 - 5) / 360.0) - ((Pi * (5 * 5)) * ((360 - 5) / 360.0))));
  517. TPA2B := TPA2;
  518. TPAtoATPAExWrap(tpa2, 5, 5, tempatpa);
  519. if (Length(TempATPA) > 1) then
  520. begin
  521. P1 := MiddleTPA(TPA);
  522. P2 := MiddleTPA(TPA2B);
  523. TPA3 := TPABetweenPoints(P2, P1, 1, 0);
  524. ATPA := FindGapsTPA(TPA3, 20);
  525. MiddleTPAEx(ATPA[i], X, Y);
  526. SortATPAFromSize(ATPA, 1, true);
  527. if (length(ATPA[i]) > 0) then
  528. begin
  529. mouse(x, y, randomrange( - 5, 5), randomrange( - 5, 5), mouse_left);
  530. fflag(1);
  531. end;
  532. end;
  533. end;
  534. end;
  535.  
  536. procedure antibans;
  537. begin
  538. case random(1000) of
  539. 0..490:
  540. begin
  541. end;
  542. 491..1000:
  543. begin
  544. case random(1000) of
  545. 00..990:
  546. begin
  547. end;
  548. 890..950: keyboards;
  549. 951..1000: antiban;
  550. end;
  551. end;
  552. end;
  553. end;
  554.  
  555. function lowprayer: boolean;
  556. begin
  557. if (R_GetSkillLevel(skill_prayer) <= (randomrange(7, 15))) then
  558. begin
  559. result := true;
  560. end;
  561. end;
  562.  
  563. procedure recharge;
  564. var
  565. tp: integer;
  566. begin
  567. waithumanclick;
  568. tp := R_DistanceFromTile(point(3087, 3763));
  569. writeln('Our distance from Midpoint hobs is: ' + IntToStr(tp));
  570. if (tp > 5) then
  571. begin
  572. R_BlindWalk(Point(3239, 3609));
  573. end
  574. else
  575. begin
  576. if FindObjectFar([558228], 19, 2, 0.04, 0.59, 20, 20, ['Pray', 'ray'], 150, 300, msx1, msy1, msx2, msy2) then
  577. clickmouse2(mouse_left);
  578. waithumanclick2;
  579. if (R_GetSkillLevel(skill_prayer) >= (randomrange(45, 50))) then
  580. begin
  581. r_blindwalk(point(3237, 3618));
  582. end;
  583. end;
  584. end;
  585.  
  586. procedure idle;
  587. var
  588. breaktimer, breaktimer2: integer;
  589. mt, tt, t: integer;
  590. begin
  591. if not loggedin then
  592. exit;
  593. if not atdruids then
  594. exit;
  595. findAllRandoms;
  596. BreakTimer := Randomrange(5000, 10000);
  597. BreakTimer2 := Randomrange(10000, 20000);
  598. if lowprayer then
  599. exit;
  600. if not ispraying then
  601. exit;
  602. if not loggedin then
  603. exit;
  604. if InLumbridge then
  605. exit;
  606. if not atdruids then
  607. exit;
  608. marktime(t);
  609. antibans;
  610. if not R_IsAnimating then
  611. begin
  612. progressReport;
  613. repeat
  614. waithumanclick;
  615. if lowprayer then
  616. exit;
  617. if not ispraying then
  618. exit;
  619. if InLumbridge then
  620. exit;
  621. if not loggedin then
  622. exit;
  623. if not atdruids then
  624. exit;
  625. if R_IsAnimating then
  626. exit;
  627. if srl_infight then
  628. exit;
  629. findAllRandoms;
  630. until (TimeFromMark(t) >= BreakTimer);
  631. if (TimeFromMark(t) >= BreakTimer) then
  632. begin
  633. marktime(tt);
  634. writeln('entered time mark mode1');
  635. r_blindwalk(Point(3238, 3618));
  636. case random(10) of
  637. 0..4:
  638. begin
  639. waithumanclick2;
  640. end;
  641. 5..10: writeln('nothingx3');
  642. end;
  643. case random(20) of
  644. 0..8: Antiban;
  645. 9..20: writeln('not doing antiban');
  646. end;
  647. if not loggedin then
  648. exit;
  649. case random(10) of
  650. 1..8: writeln('doing nothing');
  651. 9: setangle(0);
  652. 10: setangle(1);
  653. end;
  654. if not loggedin then
  655. exit;
  656. case random(10) of
  657. 1..6: writeln('doing nothingx2');
  658. 7: MakeCompass('n');
  659. 8: MakeCompass('s');
  660. 9: MakeCompass('w');
  661. 10: MakeCompass('e');
  662. end;
  663. if lowprayer then
  664. exit;
  665. if not ispraying then
  666. exit;
  667. if InLumbridge then
  668. exit;
  669. if not loggedin then
  670. exit;
  671. case random(10) of
  672. 0..3: writeln('not running to npc');
  673. 4..10: RunToTheNPC;
  674. end;
  675. repeat
  676. waithumanclick;
  677. if lowprayer then
  678. exit;
  679. if not ispraying then
  680. exit;
  681. if InLumbridge then
  682. exit;
  683. if not loggedin then
  684. exit;
  685. if not atdruids then
  686. exit;
  687. if R_IsAnimating then
  688. exit;
  689. if srl_infight then
  690. exit;
  691. findAllRandoms;
  692. until (TimeFromMark(tt) >= BreakTimer2);
  693. if (TimeFromMark(tt) >= BreakTimer2) then
  694. begin
  695. writeln('entered fixing mode');
  696. case random(10) of
  697. 1..4: R_blindwalk(Point(3230, 3649));
  698. 5..6: R_blindwalk(Point(3234, 3651));
  699. 7..8: R_blindwalk(Point(3229, 3647));
  700. 9..10: R_blindwalk(Point(3231, 3653));
  701. end;
  702. if not ispraying then
  703. exit;
  704. if InLumbridge then
  705. exit;
  706. if not loggedin then
  707. exit;
  708. r_blindwalk(Point(3238, 3618));
  709. end;
  710. end;
  711. end;
  712. end;
  713.  
  714. procedure praymage;
  715. begin
  716. gametab(tab_prayer);
  717. waithumanclick;
  718. mouse(randomrange(590, 620), randomrange(330, 350), 3, 3, mouse_left);
  719. end;
  720.  
  721. procedure fightloop;
  722. begin
  723. if (not R_IsAnimating) and (not lowprayer) and (ispraying) then
  724. idle;
  725. if Lowprayer and ispraying then
  726. recharge;
  727. if (not ispraying) then
  728. praymage;
  729. end;
  730.  
  731. procedure mainloop;
  732. begin
  733. findAllRandoms;
  734. if atdruids then
  735. fightloop;
  736. if not atdruids then
  737. hometele;
  738. end;
  739.  
  740. begin
  741. playerSetup;
  742. setupsrl;
  743. SetupReflection;
  744. SRL_CombatRandoms := False;
  745. Reincarnate := true;
  746. R_Reincarnate := true;
  747. AddOnTerminate('progressReport');
  748. if loggedin then
  749. graboriginalexp;
  750. repeat
  751. waithumanclick;
  752. if not loggedin then
  753. loginloop;
  754. wait(400);
  755. if loggedin then
  756. mainloop;
  757. until (false);
  758. end.
Advertisement
Add Comment
Please, Sign In to add comment