Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.54 KB | None | 0 0
  1. program helpbot;
  2. var
  3. stopProg: Boolean;
  4. helpTag, kndTag: Integer; // Store @help bitmap in this variable
  5. x, y, x1, y1, i: Integer;
  6. s: string;
  7.  
  8. procedure Send(const s: string);
  9. begin
  10. for i:= 1 to 50 do PressKey(8);
  11. SendKeys(s, 5, 30);
  12. end;
  13.  
  14. function find(const needle, haystack: string): Boolean;
  15. begin
  16. result := (pos(needle, haystack) > 0);
  17. end;
  18.  
  19. begin
  20. x := 0;
  21. y := 0;
  22. stopProg := false;
  23. //helpTag := BitmapFromString(35, 14, 'meJx1lEFKA0EQRXP/fTZmcGGy8A' +
  24. // 'wKQpAEQTfCEBIvo8W88PKpNlA0Nd09//XvqplpPz+8fj29z6vVb4v' +
  25. // 'N2zdLrJJsjxeCx93HjwnztdM9bCORUuO0nxlJYAlSXBHEk5ggdz4f' +
  26. // 'z4A8rV54LErlcPN1z1+jrBGU+5kvFjgdkTcQryyaJ2VhpdN7VwdI5' +
  27. // 'QpkyRso/bZLUDm952qCpqUx0B9BIHglC9f0c1uuCuIC7QFHQdkkSl' +
  28. // 'mje6A0jpHW1Sn+L6h9EUWsVfSrzVh9PJzHAuFojGyPEdRa/Qo6nHQ' +
  29. // 'EC5AlGINVNEdQM5WftnWxGai+bYALZxSv0J35+KMoL3kG5/kqaWy7' +
  30. // 'bv3yWY81VjSQZ2BU5AZaqtOaIU+SRSl9cf7uNGt75BkystPSNe+OP' +
  31. // 'aDBvEN/Hc2Red5VlrLm/wD9wbkh');
  32. helpTag := BitmapFromString(5, 12, 'meJybve/i7H0XZ+0+gwdN3XUamcv' +
  33. 'AwAAXBJLIsljZmGrgXGSjgGjy5sNAEtk9EMUQcZCCrSeACACJxHrp');
  34. kndTag := BitmapFromString(19, 10, 'meJx9kOEKQEAQhPf9f1yhxEMokv' +
  35. 'JDSuS5bDeZxh20XezeN2bHzNr5rOfTTzOrxp0V+rXsV7w30+HFkcU' +
  36. 'HfYsKCiryBfqJkbN6gSxPBcEW3UL2YXjYchukUL4RQNpQzeRfynIX' +
  37. 'baqyNvMd8RnuPHMFNwYQNl6VVYT505L6/7fHbJNwOM1BzydJ5gLZTBmv');
  38. wait(5000);
  39. repeat
  40. begin
  41. if (FindBitmapToleranceIn(helpTag, x, y, 70, 445, 400, 460, 30)) then
  42. begin
  43. Freeze;
  44. if (FindBitmapToleranceIn(kndTag, x1, y1, 70, 445, 95, 460, 30)) then
  45. begin
  46. Unfreeze;
  47. continue;
  48. end;
  49. s := GetTextAtEx(x + 5, 445, 494, 460, 1, 5, 4, 255, 20, 'SmallChars');
  50. WriteLn(s);
  51. if (find('where', s)) then
  52. begin
  53. if (find('dark', s) and find('beast', s)) then
  54. begin
  55. Send('dung tele > taverly > far south of lesser demons');
  56. end
  57. else if (find('kbd', s)) then
  58. begin
  59. Send('boss teleports > king black dragon > run east to ladder (wilderness)');
  60. end
  61. else if (find('drag', s)) then
  62. begin
  63. if (find('king', s)) then
  64. begin
  65. Send('boss teleports > king black dragon > run east to ladder (wilderness)');
  66. end
  67. else if (find('black', s)) then
  68. begin
  69. Send('dung tele > taverly > end of dung or 80agil shortcut nw of entr for blk drag');
  70. end
  71. else if (find('green', s)) then
  72. begin
  73. Send('Pk tele > west drag (wildy) or dung tele > chaos tun > ent 3 north');
  74. end
  75. else if (find('mith', s)) then
  76. begin
  77. Send('dung tele > ancient cavern > down stairs near greens up stairs for mith drags');
  78. end
  79. else if (find('bronz', s)) then
  80. begin
  81. Send('dung tele > kalphite lair > up rope');
  82. end
  83. else if (find('iron', s) or find('steel', s)) then
  84. begin
  85. Send('dung tele > kalphite lair > up rope run sw');
  86. end
  87. else if (find('frost', s)) then
  88. begin
  89. Send('dung tele > asgarnia ice > room south of ice strykewyrms');
  90. end
  91. else if (find('lava', s)) then
  92. begin
  93. Send('pk teleports > lava dragons (wildy)');
  94. end;
  95. end
  96. else if (find('glacor', s)) then
  97. begin
  98. Send('Dung tele > glacor lair');
  99. end
  100. else if (find('demon', s)) then
  101. begin
  102. if (find(' ab', s)) then
  103. begin
  104. Send('training tele > slayer tower > 3rd floor at end for abyssal demons');
  105. end
  106. else if (find('lesser', s)) then
  107. begin
  108. Send('dung tele > taverly > east of blue dragons for lesser demons');
  109. end
  110. else if (find('great', s)) then
  111. begin
  112. Send('dung tele > brimhaven > 2nd floor for greater demons');
  113. end
  114. else if (find('black', s)) then
  115. begin
  116. Send('dung tele > taverly > after blue dragons for black demons');
  117. end;
  118. end
  119. else if (find('jadinko', s)) then
  120. begin
  121. Send('dung tele > forbidden dung > mutated jadinko males at the end');
  122. end
  123. else if (find('hell', s) and find('hound', s)) then
  124. begin
  125. Send('dung tele > taverly > end of dung, 80agil shortcut useful for hellhounds');
  126. end
  127. else if (find('jungl', s) and find('horr', s)) then
  128. begin
  129. Send('dung tele > jungle dung for jungle horrors');
  130. end
  131. else if (find('stry', s) or find('wyrm', s)) then
  132. begin
  133. if (find('desert', s)) then
  134. begin
  135. Send('dung tele > kalphite lair > run around to west side rope');
  136. end
  137. else if (find('jungle', s)) then
  138. begin
  139. Send('dung tele > jungle dungeon for jungle strykewyrms');
  140. end
  141. else if (find('ice', s)) then
  142. begin
  143. Send('dung tele > asgarnia ice dung for ice strykewyrms');
  144. end;
  145. end
  146. else if (find('gargoyle', s)) then
  147. begin
  148. Send('training tele > slayer tower > 3rd floor for gargoyles');
  149. end
  150. else if (find('warrior', s)) then
  151. begin
  152. if (find('ice', s)) then
  153. begin
  154. Send('dung tele > asgarnia ice dung for ice warriors');
  155. end
  156. else if (find('earth', s)) then
  157. begin
  158. Send('dung tele > chaos tun > ent 1 nw nw ne nw w for earth warriors');
  159. end;
  160. end
  161. else if (find('avian', s)) then
  162. begin
  163. Send('boss teleports > god wars > armadyl > aviansies / gwd minions');
  164. end
  165. else if (find('dag', s) and find('oth', s)) then
  166. begin
  167. Send('dung tele > waterbirth > dagganoths or boss tele > dagganoth kings');
  168. end
  169. else if (find('chaos', s) and find('ele', s)) then
  170. begin
  171. Send('boss tele > chaos elemental (wildy)');
  172. end
  173. else if (find('dus', s) and find('dev', s)) then
  174. begin
  175. Send('dung tele chaos tunnels > entr 1 > NW NW NE');
  176. end
  177. else if (find('tzh', s)) then
  178. begin
  179. Send('::tz for tzhaar task monsters');
  180. end
  181. else if (find('dwar', s)) then
  182. begin
  183. Send('::mining for dwarf');
  184. end
  185. else if (find('spirit', s) and find('mage', s) or find('gorak', s)) then
  186. begin
  187. Send('boss tele > god wars > zamorak for gorak / spiritual mage');
  188. end
  189. else if (find('water', s) and find('fien', s)) then
  190. begin
  191. Send('dung tele > chaos tun > ent 1 > nw nw ne nw sw ne ne (rcmnd to skip)');
  192. end
  193. else if (find('veld', s)) then
  194. begin
  195. Send('training tele > slayer tower > 2nd floor for bloodvelds');
  196. end
  197. else if (find('nechr', s)) then
  198. begin
  199. Send('training tele > slayer tower > 3rd floor for nechryaels');
  200. end
  201. else if (find('crawl', s)) then
  202. begin
  203. if (find('hand', s)) then
  204. begin
  205. Send('training tele > slayer tower');
  206. end
  207. else if (find('cave', s)) then
  208. begin
  209. Send('training tele > fremenik slayer dung');
  210. end;
  211. end
  212. else if (find('jell', s)) then
  213. begin
  214. Send('training tele > fremenik slayer dung (soulwars ones dont count)');
  215. end
  216. else if (find('bansh', s)) then
  217. begin
  218. Send('training tele > slayer tower');
  219. end
  220. else if (find('giant', s)) then
  221. begin
  222. if (find('ice', s)) then
  223. begin
  224. Send('dung tele > chaos tunnels > ent 1 > e s w'); // corrected
  225. end
  226. else if (find('hill', s)) then
  227. begin
  228. Send('dung tele > taverly > south lessers and before dark beasts for hill giants');
  229. end
  230. else if (find('fire', s)) then
  231. begin
  232. Send('dung tele > brimhaven or dung tele > chaos tun > ent 4 > nw for fire giants');
  233. end
  234. else if (find('moss', s)) then
  235. begin
  236. Send('dung tele > chaos tunnel > ent 5 for moss giants');
  237. end;
  238. end
  239. else if (find('cyclop', s)) then
  240. begin
  241. Send('minigame tele > warriors guild for cyclops, ::Thread 1767 for guide');
  242. end
  243. else if (find('callis', s)) then
  244. begin
  245. Send('boss tele > callisto (wilderness)');
  246. end
  247. else if (find('aquan', s)) then
  248. begin
  249. Send('boss tele > dag kings > west for aquanites');
  250. end
  251. else if (find('wolv', s)) then
  252. begin
  253. Send('skill tele > farming > catherby > east to white wolf montain for wolves');
  254. end
  255. else if (find('rock', s) and find('slug', s)) then
  256. begin
  257. Send('training tele > fremenik slayer dung for rock slugs');
  258. end
  259. else if (find('dog', s)) then
  260. begin
  261. Send('dung tele > brimhaven for dogs');
  262. end
  263. else if (find('bear', s)) then
  264. begin
  265. Send('city tele > ardounge > east and up for bears');
  266. end
  267. else if (find('skeleton', s)) then
  268. begin
  269. Send('training tele > edgeville slayer dungeon for skeletons');
  270. end
  271. else if (find('scorp', s)) then
  272. begin
  273. Send('training tele > varrock slayer dung or ::dice > nw to mine for scorpions');
  274. end
  275. else if (find('ice', s) and find('fien', s)) then
  276. begin
  277. Send('white dwarf mountain, sw of edge then north, west of monastery for ice fiends');
  278. end
  279. else if (find('ghost', s)) then
  280. begin
  281. Send('dung tele > taverly dungeon for ghosts');
  282. end
  283. else if (find(' bat', s)) then
  284. begin
  285. Send('dung tele > taverly dungeon for bats');
  286. end
  287. else if (find('cave', s) and find('bug', s)) then
  288. begin
  289. Send('dung tele > chaos tunnel > ent 3 > for cave bugs');
  290. end
  291. else if (find('spider', s)) then
  292. begin
  293. Send('training tele > fremenik slayer dung for spiders');
  294. end
  295. else if (find('zomb', s)) then
  296. begin
  297. Send('training tele > edgeville slayer dungeon for zombies');
  298. end;
  299. end
  300. else if (find('thread', s)) then
  301. begin
  302. if (find('herb', s)) then
  303. begin
  304. Send('::thread 4791 or ::thread 2258 for herblore guide');
  305. end
  306. else if (find('farm', s)) then
  307. begin
  308. Send('::thread 13355 for farming guide');
  309. end
  310. else if (find('sum', s)) then
  311. begin
  312. Send('::thread 5989 or ::thread 7410 for summoning guide');
  313. end
  314. else if (find('rc', s) or (find('rune', s) and find('crafting', s))) then
  315. begin
  316. Send('::thread 27402 for runecrafting guide');
  317. end
  318. else if (find('dung', s)) then
  319. begin
  320. Send('::thread 19480 for dungeoneering guide');
  321. end
  322. else if (find('pet', s)) then
  323. begin
  324. Send('::thread 12814 for pet guide');
  325. end
  326. else if (find('clue', s) and find('guide', s)) then
  327. begin
  328. Send('::thread 4879 for clue scroll guide, ::thread 9951 for clue rewards');
  329. end
  330. else if (find('statu', s) or find('artifact', s)) then
  331. begin
  332. Send('::thread 19084 pk statue/artifact guide');
  333. end
  334. else if (find('fire', s)) then
  335. begin
  336. Send('::thread 7823 for fire cape guide');
  337. end
  338. else if (find('kiln', s)) then
  339. begin
  340. Send('::thread 4740 for kiln guide');
  341. end
  342. else if (find('dice', s)) then
  343. begin
  344. Send('::thread 10031 for dice thread');
  345. end
  346. else if (find('defender', s) or (find('warrior', s) and not(find('ring', s)))) then
  347. begin
  348. Send('::thread 1767 for warriors guild minigame for defenders / cyclops');
  349. end
  350. else if (find('donat', s)) then
  351. begin
  352. Send('::thread 8542 for donator benefits/perks');
  353. end
  354. else if (find('yell', s) and find('rule', s)) then
  355. begin
  356. Send('::thread 15863 for yell rules');
  357. end
  358. else if (find('h/c', s)) then
  359. begin
  360. Send('::thread 14885 for h/c rules');
  361. end
  362. else if (find('update', s)) then
  363. begin
  364. Send('::thread 15938 for latest update thread');
  365. end
  366. else if (find('iron', s) and find('man', s)) then
  367. begin
  368. Send('::thread 12655 for ironman guide');
  369. end
  370. else if (find('lamp', s) or find('skill', s)) then
  371. begin
  372. Send('::thread 19137 for all skills inc lamp xp');
  373. end
  374. else if (find('pray', s)) then
  375. begin
  376. Send('::thread 18334 for prayer guide');
  377. end
  378. else if (find('hunter', s)) then
  379. begin
  380. Send('::thread 7369 for hunter guide');
  381. end
  382. else if (find('arma', s) and find('rune', s)) then
  383. begin
  384. Send('::thread 8909 for armadyl rune guide');
  385. end
  386. else if (find('wildy', s) and (find('skill', s) or find('dxp', s))) then
  387. begin
  388. Send('::thread 8971 for wildy skilling');
  389. end
  390. else if (find('start', s)) then
  391. begin
  392. Send('::thread 9781 or ::thread 26905 for starter guide');
  393. end
  394. else if (find('reward', s) and (find('myst', s) or find('crys', s) or find('clue', s))) then
  395. begin
  396. Send('::thread 9951 for mbox/clue/crystal chest rewards');
  397. end
  398. else if (find('chaos', s) and find('tun', s)) then
  399. begin
  400. Send('::thread 1868 for chaos tunnels');
  401. end
  402. else if (find('kree', s) or (find('arma', s) and find('boss', s))) then
  403. begin
  404. Send('::thread 2938 for armadyl/kreearra guide');
  405. end
  406. else if (find('karam', s)) then
  407. begin
  408. Send('::thread 3539 for karambwan fishing guide');
  409. end
  410. else if (find('bandos', s) and not(find('ava', s))) then
  411. begin
  412. Send('::thread 4133 for bandos guide');
  413. end
  414. else if (find('bandos', s) and find('ava', s)) then
  415. begin
  416. Send('::thread 10478 for bandos avatar guide');
  417. end
  418. else if (find('nex', s)) then
  419. begin
  420. Send('::thread 11023 for nex guide');
  421. end
  422. else if (find('corp', s)) then
  423. begin
  424. Send('::thread 9660 for corporeal beast guide');
  425. end
  426. else if (find('nomad', s)) then
  427. begin
  428. Send('::thread 8186 for nomad guide');
  429. end;
  430. end
  431. else if (find('what', s)) then
  432. begin
  433. if (find('nomad', s) and find('bag', s)) then
  434. begin
  435. Send('Nomads tele bag (untradeable) from voting gives 1 time teleport to Nomad');
  436. end
  437. else if (find('effig', s)) then
  438. begin
  439. Send('effigies are x4 xp lamps with increasing level reqs: 91 93 95 97, and then give dragonkin xp lamp');
  440. end;
  441. end
  442. else if (find('how', s)) then
  443. begin
  444. if (find('ball', s) and find('make', s)) then
  445. begin
  446. Send('Buy cball mould for 1 vote ticket and use on furnace with steel bars in inv');
  447. end
  448. else if (find('strength', s) and find(' am', s)) then
  449. begin
  450. Send('cut ruby,gold bar,amulet mold on furnace, use on wool (::skill), enchant');
  451. end
  452. else if (find('skull', s) and find('long', s)) then
  453. begin
  454. Send('skull lasts for 10 minutes');
  455. end;
  456. end
  457. else if (find('maul', s) and find('rapier', s) and find('or', s)) then
  458. begin
  459. Send('maul is good for pking, rapier is good for pvm');
  460. end;
  461. wait(2000);
  462. Unfreeze;
  463. end;
  464. wait(200);
  465. end;
  466. until(stopProg);
  467. FreeBitmap(helpTag);
  468. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement