Guest User

Untitled

a guest
Apr 25th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.49 KB | None | 0 0
  1. program HideCrafter;
  2. {$define SMART}
  3. {$i srl/srl.scar}
  4. {$i SRL/SRL/misc/paintsmart.scar}
  5.  
  6. { ~ToDo list~
  7. -MPoint needs to be specified
  8. -HasHides function (returns if we have a full inventory of hides, based on what we're crafting)
  9. -Check for thread
  10. -Count completed armor pieces when crafting after crafting an inventory of hides
  11. -Bank armor pieces & withdraw a full inventory
  12. }
  13.  
  14. Const
  15. What = 'Green bodies';
  16.  
  17. Var
  18. MPoint: TPoint;
  19. FinalDTM,DTimer,EndNum,
  20. StartDTM: Integer;
  21.  
  22. Procedure LoadVars;
  23. begin
  24. Case Lowercase(What) of
  25. 'green bodies':
  26. begin
  27. StartDTM := DTMFromString('mWAAAAHicY2FgYNjGwsBwGIoPAnE5IwNDIRBXAXEdEHNYcwFVMSFhVMCIhkEAAHTsBU0=');
  28. FinalDTM := DTMFromString('mWAAAAHicY2FgYPBkYWAIAuJgKL2fkYFhIxDvBuITQMwdyAtUxYSEUQEjGgYBADWABL8=');
  29. MPoint := Point(160,425); //Update this
  30. DTimer := 20000;
  31. EndNum := 9;
  32. end;
  33. 'green chaps':
  34. begin
  35. StartDTM := DTMFromString('mWAAAAHicY2FgYNjGwsBwGIoPAnE5IwNDIRBXAXEdEHNYcwFVMSFhVMCIhkEAAHTsBU0=');
  36. FinalDTM := DTMFromString('mWAAAAHicY2FgYPBgYWDwBWJ/KH7AyMBwCYhvA/EzIOb25wWqYkLCqIARDYMAAFBCBTA=');
  37. MPoint := Point(160,425); //Update this
  38. DTimer := 24000;
  39. EndNum := 13;
  40. end;
  41. 'green vamps':
  42. begin
  43. StartDTM := DTMFromString('mWAAAAHicY2FgYNjGwsBwGIoPAnE5IwNDIRBXAXEdEHNYcwFVMSFhVMCIhkEAAHTsBU0=');
  44. FinalDTM := DTMFromString('mWAAAAHicY2FgYJjJwsAwH4iXAvFaIN7NyMCwGYi3AfEuIGbVYAOqYkLCqIARDYMAAIozBb4=');
  45. MPoint := Point(160,425); //Update this
  46. DTimer := 48000;
  47. EndNum := 27;
  48. end;
  49.  
  50. 'blue bodies':
  51. begin
  52. StartDTM := DTMFromString('mWAAAAHicY2FgYOhlYWCYCcXTgbiMkYGhEIirgLgOiLl4vICqmJAwKmBEwyAAAEVXBLg=');
  53. FinalDTM := DTMFromString('mWAAAAHicY2FgYJBnYWDQAGJNKP2YkYHhKhDfB+I3QOzmFghUxYSEUQEjGgYBADxDBRs=');
  54. MPoint := Point(160,425); //Update this
  55. DTimer := 20000;
  56. EndNum := 9;
  57. end;
  58. 'blue chaps':
  59. begin
  60. StartDTM := DTMFromString('mWAAAAHicY2FgYOhlYWCYCcXTgbiMkYGhEIirgLgOiLl4vICqmJAwKmBEwyAAAEVXBLg=');
  61. FinalDTM := DTMFromString('mWAAAAHicY2FgYJjDwsCwEIgXQ/EDRgaGS0B8HYifAbGbWyBQFRMSRgWMaBgEAM0rBvI=');
  62. MPoint := Point(160,425); //Update this
  63. DTimer := 24000;
  64. EndNum := 13;
  65. end;
  66. 'blue vamps':
  67. begin
  68. StartDTM := DTMFromString('mWAAAAHicY2FgYOhlYWCYCcXTgbiMkYGhEIirgLgOiLl4vICqmJAwKmBEwyAAAEVXBLg=');
  69. FinalDTM := DTMFromString('mWAAAAHicY2FgYChgYWAoBeJqIG4G4nuMDAzXgfgWI4StoWENVMWEhFEBIxoGAQCLaQX+');
  70. MPoint := Point(160,425); //Update this
  71. DTimer := 48000;
  72. EndNum := 27;
  73. end;
  74.  
  75. 'red bodies':
  76. begin
  77. StartDTM := DTMFromString('mWAAAAHicY2FgYEhiYWDIh+JcIK5gZGAoBOIqIK4FYmseDqAqJiSMChjRMAgAAA8zA/8=');
  78. FinalDTM := DTMFromString('mWAAAAHicY2FgYJBnYWDQAGJNKD2bkYGhF4inA/ESIPZVUQKqYkLCqIARDYMAAOfsA7E=');
  79. MPoint := Point(160,425); //Update this
  80. DTimer := 20000;
  81. EndNum := 9;
  82. end;
  83. 'red chaps':
  84. begin
  85. StartDTM := DTMFromString('mWAAAAHicY2FgYEhiYWDIh+JcIK5gZGAoBOIqIK4FYmseDqAqJiSMChjRMAgAAA8zA/8=');
  86. FinalDTM := DTMFromString('mWAAAAHicY2FgYPBgYWDwR8IzGBkY+oF4MhDPA2J/VWWgKiYkjAoY0TAIAAAWIARH');
  87. MPoint := Point(160,425); //Update this
  88. DTimer := 24000;
  89. EndNum := 13;
  90. end;
  91. 'red vamps':
  92. begin
  93. StartDTM := DTMFromString('mWAAAAHicY2FgYEhiYWDIh+JcIK5gZGAoBOIqIK4FYmseDqAqJiSMChjRMAgAAA8zA/8=');
  94. FinalDTM := DTMFromString('mWAAAAHicY2FgYJjJwsAwF4iXAvFaIC5mZGDIAuI8IC4CYm1ONqAqJiSMChjRMAgAAEUeBKI=');
  95. MPoint := Point(160,425); //Update this
  96. DTimer := 48000;
  97. EndNum := 27;
  98. end;
  99.  
  100. 'black bodies':
  101. begin
  102. StartDTM := DTMFromString('mWAAAAHicY2FgYDBnYWBwBGJXKK5gZGDIAeJCIK4CYjkZGaAqJiSMChjRMAgAANggA0o=');
  103. FinalDTM := DTMFromString('mWAAAAHicY2FgYJBnYWDQAGJNKF3OyMCQCcTFQNwAxBpqakBVTEgYFTCiYRAAAL62AwI=');
  104. MPoint := Point(160,425); //Update this
  105. DTimer := 20000;
  106. EndNum := 9;
  107. end;
  108. 'black chaps':
  109. begin
  110. StartDTM := DTMFromString('mWAAAAHicY2FgYDBnYWBwBGJXKK5gZGDIAeJCIK4CYjkZGaAqJiSMChjRMAgAANggA0o=');
  111. FinalDTM := DTMFromString('mWAAAAHicY2FgYPBgYWDwR8IljAwM2UCcD8RVQKyhpgZUxYSEUQEjGgYBAOwOA5Q=');
  112. MPoint := Point(160,425); //Update this
  113. DTimer := 24000;
  114. EndNum := 13;
  115. end;
  116. 'black vamps':
  117. begin
  118. StartDTM := DTMFromString('mWAAAAHicY2FgYDBnYWBwBGJXKK5gZGDIAeJCIK4CYjkZGaAqJiSMChjRMAgAANggA0o=');
  119. FinalDTM := DTMFromString('mWAAAAHicY2FgYMhnYWAoBuJqIG4G4t2MDAybgHgbEO8CYj5eXqAqJiSMChjRMAgAAFP0BQg=');
  120. MPoint := Point(160,425); //Update this
  121. DTimer := 48000;
  122. EndNum := 27;
  123. end;
  124. end;
  125.  
  126. end;
  127.  
  128. Function Antiban: Boolean;
  129. var
  130. i: Integer;
  131. begin
  132. if not LoggedIn then Exit;
  133.  
  134. i := Random(15);
  135. case i of
  136. 1:
  137. begin
  138. RandomRClick;
  139. Result := True;
  140. end;
  141. 2:
  142. begin
  143. RandomMovement;
  144. Result := True;
  145. end;
  146. 3:
  147. begin
  148. HoverSkill('Crafting', False);
  149. Result := True;
  150. end;
  151. end;
  152.  
  153. Wait(RandomRange(250,350));
  154. end;
  155.  
  156. Procedure WhileCrafting;
  157. var
  158. I,I2,T: integer;
  159. begin
  160.  
  161. I := CountItems('dtm', FinalDTM, []);
  162. MarkTime(T);
  163. repeat
  164. FindNormalRandoms;
  165. ClickToContinue;
  166. Antiban;
  167.  
  168. I2 := CountItems('dtm', FinalDTM, []);
  169.  
  170. if (I2 = EndNum) then
  171. break;
  172.  
  173. if (I <> I2) then
  174. begin
  175. Marktime(T);
  176. I := CountItems('dtm', FinalDTM, []);
  177. end;
  178.  
  179. if (TimeFromMark(T) > DTimer) then
  180. begin
  181. FreeDTM(FinalDTM);
  182. Exit;
  183. end;
  184.  
  185. until(false)
  186.  
  187. FreeDTM(FinalDTM);
  188. end;
  189.  
  190. //1 = needle interface, 2 = main crafting interface
  191. Function CraftScreen(Which: Integer): Boolean;
  192. var
  193. X,Y: Integer;
  194. begin
  195. Result := False;
  196. if (Which = 1) then
  197. Result := FindText(X, Y, 'tool do', SmallChars, 165, 350, 350, 375)
  198. else if (Which = 2) then
  199. Result := FindText(X, Y, 'make', SmallChars, 40, 340, 290, 380);
  200. end;
  201.  
  202. Procedure CraftHides;
  203. var
  204. T,T2,Slot: Integer;
  205. begin
  206. if not LoggedIn then Exit;
  207.  
  208. if HasHides then
  209. begin
  210. Slot := RandomRange(3, 24);
  211. MouseItem(Slot, True);
  212.  
  213. MarkTime(T)
  214. repeat
  215. FindNormalRandoms;
  216. if TimeFromMark(T) > 5000 then
  217. Exit;
  218. if (CraftingScreen(1) or CraftingScreen(2)) then
  219. break;
  220. until(false)
  221.  
  222. if CraftingScreen(1) then
  223. begin
  224. MMouse(245, 410, 10, 10);
  225. ClickMouse2(True);
  226.  
  227. MarkTime(T2)
  228. repeat
  229. FindNormalRandoms;
  230. if TimeFromMark(T2) > 5000 then
  231. Exit;
  232. if CraftingScreen(2) then
  233. break;
  234. until(false)
  235. end;
  236.  
  237. if CraftingScreen(2) then
  238. begin
  239. MMouse(MPoint.X, MPoint.Y, 10, 10);
  240. ClickMouse2(True);
  241. end;
  242.  
  243. WhileCrafting;
  244.  
  245. end else
  246. Exit;
  247. end;
  248.  
  249. begin
  250. Smart_Server := 86;
  251. Smart_Members := True;
  252. Smart_Signed := True;
  253. Smart_SuperDetail := False;
  254. SetupSRL;
  255.  
  256.  
  257.  
  258. end.
Add Comment
Please, Sign In to add comment