Advertisement
Guest User

Untitled

a guest
May 5th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.20 KB | None | 0 0
  1. program WillowDestroyer;
  2. {.include SRL/SRL.Scar}
  3. {JUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJ
  4. JUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJ
  5. JUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJJUNKJ
  6. Willow Destroyer-Willow Destroyer-Willow Destroyer-Willow Destroyer-Willow Destroyer
  7. Willow Destroyer-Willow Destroyer-Willow Destroyer-Willow Destroyer-Willow Destroyer}
  8.  
  9. //////////////INFO/1////////////////////////////////////INFO2///////////////////
  10. //Chops and banks willows at draynor// To fill in Integers[1], you need to get the
  11. //MultiPlayer, Banking, Forms // time between each log you get 5 times in seconds
  12. //Easy SetUp, decent IsChopping // Ex [13, 10, 15 ,12, 20] // DO NOT USE
  13. ////////////////////////////////////////////////////////////////////////////////
  14.  
  15. //Globals
  16. var
  17. Chopped, Loads, ll, LOL, Tot : integer;
  18. Exp : extended;
  19. frmDesign : TForm;
  20. AvgLbl : TLabel;
  21. Blbl : TLabel;
  22. PlUser : TEdit;
  23. PlPass : TEdit;
  24. StBut : TButton;
  25. AvgHelp : TMemo;
  26. AAvg0 : TEdit;
  27. AAvg1 : TEdit;
  28. AAvg2 : TEdit;
  29. AAvg3 : TEdit;
  30. AAvg4 : TEdit;
  31. DfRB : TRadioButton;
  32. PlNick : TEdit;
  33. LoadsTD : TEdit;
  34.  
  35. procedure DeclarePlayers;
  36. begin
  37. HowManyPlayers:= 1; // Make the inactive players[#] green
  38. NumberOfPlayers(HowManyPlayers); //So you dont get a runtime error :D
  39. CurrentPlayer := 0;
  40.  
  41. ///// fill all of below in
  42. Players[0].Name := PlUser.Text; //Username
  43. Players[0].Pass := PlPass.Text; //Password
  44. Players[0].Nick := PlNick.Text; //Nickname 3-4 letters no first or cap
  45. Players[0].Active := true;
  46. Players[0].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?
  47. end;
  48.  
  49.  
  50. procedure startitup(sender: TObject);
  51. begin
  52. frmDesign.ModalResult:= mrOk
  53. Disguise('Working...');
  54. end;
  55.  
  56. procedure SetRandomObj;
  57. var RanObj, NoO, x, y, i, T :integer;
  58. begin
  59. NoO := BitmapFromString(23, 12, 'beNqNUQEOwiAQ40Fs2RJdnA4j0' +
  60. '/3/SbO7jnpiNJLLpZT2KCH116G5nZrpEPO5BZ7RjzvDPhc+DYUZjR' +
  61. 'lb08TdNbxcxI6JmAmNpuXSMTMbjz5bresKF8vjb5XNwsUhmMwtbwQ' +
  62. 'IIfgX6V3EyAANerClS2nklhiW6nZm9vrqFRqiLl6aXCbQ+OcQnirh' +
  63. 'jyT4qSX13ugxwP3SiYESXQwm0Eve6z+9BFDC9UhdxQBDLD1IYfHU8' +
  64. 'NSXvpgu5qQxW0JiJuc/MnnVQ1mQLdM2GTk3bLcwhq8qxls9AVo+Ey' +
  65. 'o=');
  66. RanObj := BitmapFromString(14, 14, 'beNp1kj0Lg2AMhN8fJ52ko6' +
  67. 'M4ttS1YJdSKE5O/cX6wMH1CPhyQ3K5fJi4DK/5ui7D7zuB571/TJf' +
  68. 'b2AEM3ASMo8lTwQIlpmD/NCH1YujoLmJ4FitkPhP1GFuuBnBoe49U' +
  69. 'zsRSJ5XALgVdM5WghLBL4lmRoszu2vlZYn6sD+Rhcg+p9HWssayQ2' +
  70. 'GL0A7T2l4mnnfcsV4sFyvI1xawH8tTePw==');
  71. GameTab(tab_Objectives);
  72. if(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20)) then
  73. begin
  74. Writeln('Setting Objective')
  75. If(FindBitmapToleranceIn(RanObj,x,y,mix1,miy1,mix2,miy2,20)) then
  76. begin
  77. Wait(200+Random(500));
  78. Mouse(x,y,3,3,true);
  79. MarkTime(T);
  80. repeat
  81. Wait(500+Random(250))
  82. Inc(i)
  83. until (GetColor(111, 35) = 3342540) or (TimeFromMark(T) = 5000);
  84. if not(GetColor(111, 35) = 3342540) then Exit;
  85. case Random(6) of
  86. 0..1: Mouse(94, 104, 60, 40, true);
  87. 2: Mouse(257, 104, 60, 40, true);
  88. 3: Mouse(422, 104, 60, 40, true);
  89. 4: Mouse(94, 238, 60, 40, true);
  90. 5: Mouse(257, 238, 60, 40, true);
  91. 6: Mouse(422, 238, 60, 40, true);
  92. end;
  93. FreeBitmap(NoO);
  94. FreeBitmap(RanObj);
  95. end else
  96. if(not(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20))) then
  97. begin
  98. srl_Warn( 'SetRandomObjective', 'Objective already set' ,1);
  99. Exit;
  100. FreeBitmap(NoO);
  101. FreeBitmap(RanObj);
  102. end;
  103. end;
  104. end;
  105.  
  106. procedure RandomTabs;
  107. var I :integer;
  108. begin
  109. begin
  110. for I:= 0 to RandomRange(1,3) do
  111. begin
  112. case Random(16) of
  113. 0: GameTab(tab_Combat);
  114. 1: GameTab(tab_Stats);
  115. 2: GameTab(tab_Quest);
  116. 3: GameTab(tab_Diary);
  117. 4: GameTab(tab_Inv);
  118. 5: GameTab(tab_Equip);
  119. 6: GameTab(tab_Prayer);
  120. 7: GameTab(tab_Magic);
  121. 8: GameTab(tab_Friends);
  122. 9: GameTab(tab_Ignore);
  123. 10: GameTab(tab_Clan);
  124. 11: GameTab(tab_Options);
  125. 12: GameTab(tab_Emotes);
  126. 13: GameTab(tab_Music);
  127. 14: GameTab(tab_Notes);
  128. end;
  129. Wait(RandomRange(100,300));
  130. MMouse(RandomRange(MIX1, MIX2), RandomRange(MIY1, MIY2), 0, 0);
  131. Wait(RandomRange(100,300));
  132. end;
  133. Wait(RandomRange(200,400));
  134. end;
  135. end;
  136.  
  137. Procedure LogCheck;
  138. begin
  139. If(Not(Loggedin))Then
  140. begin
  141. Writeln('Logged out somehow, terminating...');
  142. TerminateScript;
  143. end;
  144. end;
  145.  
  146. procedure AntiBan; forward;
  147.  
  148. procedure LvlProof;
  149. begin
  150. SaveScreenshot('LvlProof' + IntToSTR(ll) + '.bmp');
  151. ll := ll +1;
  152. ClickToContinue;
  153. AntiBan;
  154. end;
  155.  
  156. procedure DeathCheck;
  157. begin
  158. if(FindDead)then
  159. begin
  160. Writeln('Died somehow, terminating...');
  161. LogOut;
  162. TerminateScript;
  163. end;
  164. end;
  165.  
  166.  
  167. procedure AntiBan;
  168. begin
  169. LogCheck;
  170. DeathCheck;
  171. If(ClickContinue(false, true)) then LvlProof;
  172. case random(70) of
  173. 0:HoverSkill('mining',false);
  174.  
  175. 1:SleepAndMoveMouse(1000+random(500));
  176.  
  177. 2:randomrclick;
  178.  
  179. 3:pickupmouse;
  180.  
  181. 4:RandomMovement;
  182.  
  183. 5:SetRandomObj;
  184.  
  185. 6:RandomTabs;
  186. end;
  187. wait(223+random(277))
  188. end;
  189.  
  190. procedure DepoBox; forward;
  191.  
  192. procedure WTB;
  193. var
  194. x, y, BTM, R : integer;
  195. SymbolAccuracy, E : extended;
  196. begin
  197. BTM := DTMFromString('78DA637CCAC4C0F0930105181B1B32FC87B2F' +
  198. 'F0301E377A09A2F103E3354FCEB5708CD08E583D5FC2042CD7FFC' +
  199. '6A003E5E1317');
  200. if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then Exit;
  201. if(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E )) then
  202. begin
  203. Mouse(x, y, 2, 2, true);
  204. Case Random(2) of
  205. 0: R := 180 - RandomRange(1,5);
  206. 1: R := 180 + RandomRange(1,5);
  207. end;
  208. MakeCompass(R);
  209. Flag;
  210. FreeDTM(BTM);
  211. DepoBox;
  212. end else
  213. if(not(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E ))) then
  214. begin
  215. SymbolAccuracy := 0.6;
  216. if(FindSymbol( x, y, 'bank'))then
  217. begin
  218. SymbolAccuracy := 0.8;
  219. Mouse( x, y, 2, 2, true);
  220. Case Random(2) of
  221. 0: R := 180 - RandomRange(1,5);
  222. 1: R := 180 + RandomRange(1,5);
  223. end;
  224. MakeCompass(R);
  225. Flag;
  226. FreeDTM(BTM);
  227. DepoBox;
  228. end;
  229. end;
  230. end;
  231.  
  232. procedure DestroyWill; forward;
  233.  
  234. procedure WTF; //Walk To Fish, yea i know...
  235. var
  236. x, y, R : integer;
  237. SymbolAccuracy : extended;
  238. begin
  239. SymbolAccuracy := 0.6;
  240. if(FindSymbol( x, y, 'fish'))then
  241. begin
  242. SymbolAccuracy := 0.8;
  243. Mouse( x, y, 2, 2, true);
  244. case Random(2) of
  245. 0: R := 90 - RandomRange(1,5);
  246. 1: R := 90 + RandomRange(1,5);
  247. end;
  248. MakeCompass(R);
  249. Flag;
  250. DestroyWill;
  251. end;
  252. end;
  253.  
  254. procedure DepoBox;
  255. var
  256. WIL, x, y : integer;
  257. begin
  258. WIL := DTMFromString('78DA637CC6C4C0D0CDC8800C4CF50518F8813' +
  259. '448F43F103082D434A3AA61606002933051C6F7407E270135EF80' +
  260. 'FC4904D4DC07F2A71350730DC8EFC1AF06007D2E0D52');
  261. ColorToleranceSpeed(2);
  262. SetColorSpeed2Modifiers(0.00, 0.06);
  263. if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then
  264. SetColorSpeed2Modifiers(0.2, 0.2);
  265. ColorToleranceSpeed(1);
  266. begin
  267. MMouse(x, y, 1, 1);
  268. if(WaitUpText('ox', 100+ Random(50)))then
  269. begin
  270. Mouse(x, y, 1, 1, true);
  271. Wait(2357+Random(243));
  272. if(FindDTM(Wil, x, y, MSX1, MSY1, MSX2, MSY2))then
  273. begin
  274. Mouse(x, y, 2, 2, false)
  275. WaitOption('ll', 100+Random(50))
  276. CloseWindow;
  277. FreeDTM(WIL);
  278. Loads := Loads +1;
  279. WTF;
  280. end;
  281. end;
  282. end;
  283. end;
  284.  
  285. function Experience( Amount : integer; Exp : extended): extended;
  286. begin
  287. Result := Amount*Exp;
  288. end;
  289.  
  290. function AvgArray( Time : TIntegerArray): Integer;
  291. var
  292. Res, Tot, I : integer;
  293. begin
  294. for I := 0 to High(Time) do IncEx( Tot , Time[I]);
  295. Res := Tot div Length(Time);
  296. Result := Res;
  297. end;
  298.  
  299. function IncArray(Arr : array of variant; TArr :TVariantArray): TVariantArray;
  300. begin
  301. Arr := Tarr;
  302. Result := Arr;
  303. end;
  304.  
  305. procedure SetArray;
  306. var
  307. AArray : array of integer;
  308. A, B, C, D, E : integer;
  309. begin
  310. if ( DfRB.checked ) then
  311. begin
  312. case random(2) of
  313. 0: LOL := 15000 + RandomRange(1,1000);
  314. 1: LOL := 15000 - RandomRange(1,1000);
  315. end;
  316. end else
  317. A := StrToInt(AAvg0.Text)*1000;
  318. B := StrToInt(AAvg1.Text)*1000;
  319. C := StrToInt(AAvg2.Text)*1000;
  320. D := StrToInt(AAvg3.Text)*1000;
  321. E := StrToInt(AAvg4.Text)*1000;
  322. SetArrayLength(AArray, 4);
  323. AArray := [A, B, C, D, E];
  324. Lol := AvgArray(AArray);
  325. end;
  326.  
  327. procedure IsChopper;
  328. var
  329. OT : integer;
  330. begin
  331. while (not(InvFull)) and (TimeFromMark(Tot) > LOL) do
  332. begin
  333. SetArray;
  334. MarkTime(OT);
  335. while (not(InvFull)) and (TimeFromMark(OT) > LOL) do
  336. begin
  337. AntiBan;
  338. Wait(RandomRange(1,350))
  339. end;
  340. MarkTime(Tot);
  341. end;
  342. end;
  343.  
  344. procedure DestroyWill;
  345. var
  346. tpa : tpointarray;
  347. X, Y, I, J, K : integer;
  348. EExp : extended;
  349. begin
  350. X := MSCX;
  351. Y := MSCY;
  352. if(not(loggedin)) then exit;
  353. if(InvFull)then WTB;
  354. SetArray;
  355. ColorToleranceSpeed(2);
  356. SetColorSpeed2Modifiers(0.27, 0.98);
  357. FindColorsSpiralTolerance(X, Y, TPA, 4024921, msx1, msy1, msx2, msy2, 7);
  358. SetColorSpeed2Modifiers(0.2, 0.2);
  359. ColorToleranceSpeed(1);
  360. MakeCompass('E');
  361. if(GetArrayLength(TPA) > 0)then
  362. begin
  363. mmouse(tpa[0].x, tpa[0].y, 3, 3);
  364. if(waituptext('illow',300+random(200)))then
  365. begin
  366. I := InvCount;
  367. Getmousepos(X,Y);
  368. mouse(tpa[0].x, tpa[0].y, 3, 3, true);
  369. wait(100+random(25))
  370. Flag;
  371. Wait(923+Random(87))
  372. MarkTime(Tot);
  373. IsChopper;
  374. if(TimeFromMark(Tot) > LOL) then exit;
  375. J := InvCount;
  376. K := J-I;
  377. Chopped := Chopped +K;
  378. EExp := Experience( K, 67.5);
  379. Exp := Exp + EExp;
  380. if(InvFull)then WTB;
  381. end;
  382. end;
  383. end;
  384.  
  385. procedure InItForm;
  386. begin
  387. frmDesign := CreateForm;
  388. frmDesign.Left := 263;
  389. frmDesign.Top := 137;
  390. frmDesign.Width := 348;
  391. frmDesign.Height := 252;
  392. frmDesign.Caption := 'Willow Destroyer by : Junkj';
  393. frmDesign.Color := clAqua;
  394. frmDesign.Font.Color := clWindowText;
  395. frmDesign.Font.Height := -11;
  396. frmDesign.Font.Name := 'MS Sans Serif';
  397. frmDesign.Font.Style := [];
  398. frmDesign.Visible := False;
  399. frmDesign.PixelsPerInch := 96;
  400. AvgLbl := TLabel.Create(frmDesign);
  401. AvgLbl.Parent := frmDesign;
  402. AvgLbl.Left := 176;
  403. AvgLbl.Top := 96;
  404. AvgLbl.Width := 153;
  405. AvgLbl.Height := 13;
  406. AvgLbl.Caption := 'Gets the avg time from each log.';
  407. Blbl := TLabel.Create(frmDesign);
  408. Blbl.Parent := frmDesign;
  409. Blbl.Left := 32;
  410. Blbl.Top := 144;
  411. Blbl.Width := 81;
  412. Blbl.Height := 13;
  413. Blbl.Caption := 'Current Build: 1.0';
  414. PlUser := TEdit.Create(frmDesign);
  415. PlUser.Parent := frmDesign;
  416. PlUser.Left := 24;
  417. PlUser.Top := 16;
  418. PlUser.Width := 129;
  419. PlUser.Height := 21;
  420. PlUser.TabOrder := 8;
  421. PlUser.Text := 'Username';
  422. PlPass := TEdit.Create(frmDesign);
  423. PlPass.Parent := frmDesign;
  424. PlPass.Left := 24;
  425. PlPass.Top := 48;
  426. PlPass.Width := 129;
  427. PlPass.Height := 21;
  428. PlPass.TabOrder := 9;
  429. PlPass.Text := 'Password';
  430. StBut := TButton.Create(frmDesign);
  431. StBut.Parent := frmDesign;
  432. StBut.Left := 24;
  433. StBut.Top := 168;
  434. StBut.Width := 129;
  435. StBut.Height := 40;
  436. StBut.Caption := 'Start';
  437. StBut.TabOrder := 10;
  438. StBut.OnClick := @Startitup;
  439. AvgHelp := TMemo.Create(frmDesign);
  440. AvgHelp.Parent := frmDesign;
  441. AvgHelp.Left := 160;
  442. AvgHelp.Top := 16;
  443. AvgHelp.Width := 177;
  444. AvgHelp.Height := 72;
  445. AvgHelp.Lines.Add('To fill this in, get the time it ');
  446. AvgHelp.Lines.Add('takes you to get a log five times. ');
  447. AvgHelp.Lines.Add('This helps the script adapt to');
  448. AvgHelp.Lines.Add('your chopping specs.');
  449. AvgHelp.TabOrder := 11;
  450. AAvg0 := TEdit.Create(frmDesign);
  451. AAvg0.Parent := frmDesign;
  452. AAvg0.Left := 176;
  453. AAvg0.Top := 120;
  454. AAvg0.Width := 41;
  455. AAvg0.Height := 21;
  456. AAvg0.TabOrder := 12;
  457. AAvg0.Text := '0';
  458. AAvg1 := TEdit.Create(frmDesign);
  459. AAvg1.Parent := frmDesign;
  460. AAvg1.Left := 232;
  461. AAvg1.Top := 120;
  462. AAvg1.Width := 40;
  463. AAvg1.Height := 21;
  464. AAvg1.TabOrder := 13;
  465. AAvg1.Text := '1';
  466. AAvg2 := TEdit.Create(frmDesign);
  467. AAvg2.Parent := frmDesign;
  468. AAvg2.Left := 288;
  469. AAvg2.Top := 120;
  470. AAvg2.Width := 40;
  471. AAvg2.Height := 21;
  472. AAvg2.TabOrder := 14;
  473. AAvg2.Text := '2';
  474. AAvg3 := TEdit.Create(frmDesign);
  475. AAvg3.Parent := frmDesign;
  476. AAvg3.Left := 200;
  477. AAvg3.Top := 152;
  478. AAvg3.Width := 41;
  479. AAvg3.Height := 21;
  480. AAvg3.TabOrder := 15;
  481. AAvg3.Text := '3';
  482. AAvg4 := TEdit.Create(frmDesign);
  483. AAvg4.Parent := frmDesign;
  484. AAvg4.Left := 264;
  485. AAvg4.Top := 152;
  486. AAvg4.Width := 41;
  487. AAvg4.Height := 21;
  488. AAvg4.TabOrder := 16;
  489. AAvg4.Text := '4';
  490. DfRB := TRadioButton.Create(frmDesign);
  491. DfRB.Parent := frmDesign;
  492. DfRB.Left := 176;
  493. DfRB.Top := 184;
  494. DfRB.Width := 153;
  495. DfRB.Height := 24;
  496. DfRB.Caption := 'Use default time? (~15 sec)';
  497. DfRB.TabOrder := 17;
  498. PlNick := TEdit.Create(frmDesign);
  499. PlNick.Parent := frmDesign;
  500. PlNick.Left := 24;
  501. PlNick.Top := 80;
  502. PlNick.Width := 128;
  503. PlNick.Height := 21;
  504. PlNick.TabOrder := 18;
  505. PlNick.Text := 'Nick (3-4 letters of name)';
  506. LoadsTD := TEdit.Create(frmDesign);
  507. LoadsTD.Parent := frmDesign;
  508. LoadsTD.Left := 24;
  509. LoadsTD.Top := 112;
  510. LoadsTD.Width := 41;
  511. LoadsTD.Height := 21;
  512. LoadsTD.TabOrder := 19;
  513. LoadsTD.Text := 'Loads';
  514. end;
  515.  
  516. procedure SafeInitForm;
  517. var
  518. v: TVariantArray;
  519. begin
  520. setarraylength(V, 0);
  521. ThreadSafeCall('InitForm', v);
  522. end;
  523.  
  524. procedure ShowFormModal;
  525. begin
  526. frmDesign.ShowModal;
  527. end;
  528.  
  529. procedure SafeShowFormModal;
  530. var
  531. v: TVariantArray;
  532. begin
  533. setarraylength(V, 0);
  534. ThreadSafeCall('ShowFormModal', v);
  535. end;
  536.  
  537.  
  538. begin
  539. SetUpSRL;
  540. ClearDebug;
  541. SafeInitForm;
  542. SafeShowFormModal;
  543. ActivateClient;
  544. GraphicsSet := True;
  545. SetAngle(True);
  546. MakeCompass('E');
  547. repeat
  548. DestroyWill;
  549. until(Loads >= Players[CurrentPlayer].Integers[0])
  550. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement