DelugeRPG Basic Pokedex Achievement Script X TS Farmer

PokeDex Filler x TS Farmer

  1. // ==UserScript==
  2. // @name DelugeRPG Basic Pokedex Achievement Script X TS Farmer
  3. // @license MIT
  4. // @namespace https://greasyfork.org/en/users/1260021
  5. // @version 2.0
  6. // @description PokeDex Filler x TS Farmer
  7. // @author Calcite
  8. // @match *.delugerpg.com/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  13. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  14. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  15. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  16. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  17. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  18. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  19. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  20. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  21. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  22. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  23. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  24. //𝗧𝗵𝗶𝘀 𝘀𝗰𝗿𝗶𝗽𝘁 𝘂𝘀𝗲𝘀 𝗔 𝗟𝗢𝗧 𝗼𝗳 𝗠𝗮𝘀𝘁𝗲𝗿 𝗕𝗮𝗹𝗹. 𝗣𝗹𝗲𝗮𝘀𝗲 𝗥𝗲𝗽𝗹𝗲𝗻𝗶𝘀𝗵 𝘆𝗼𝘂𝗿 𝘀𝘁𝗮𝗰𝗸 𝗼𝗳 𝗶𝘁 𝗺𝗼𝗿𝗲 𝗼𝗳𝘁𝗲𝗻 𝘁𝗵𝗮𝗻 𝗻𝗼𝗿𝗺𝗮𝗹.//
  25. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  26. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  27. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  28. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  29. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  30. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  31. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  32. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  33. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  34. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  35. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  36. /****************𝗖𝗔𝗨𝗧𝗜𝗢𝗡****************/
  37.  
  38.  
  39.  
  40. /**********ON/OFF SETTINGS**********/
  41. var autoWalkFind = true; // enable walking+finding without you doing work
  42. var clickSimulationActive = false; // flag to control click simulation
  43. var groupACount = 0; // Counter for group A arrow key simulation
  44. var groupAMove = 38; // Variable to store the current move for group A
  45.  
  46. var scanFreq = 250;
  47. var isDoneLoadingFreq = 750;
  48.  
  49.  
  50.  
  51. function fireKey(el, key) {
  52. var eventObj;
  53. // Set key to corresponding code.
  54. // 37 = left, 38 = up, 39 = right, 40 = down;
  55. if (document.createEventObject) {
  56. eventObj = document.createEventObject();
  57. eventObj.keyCode = key;
  58. el.fireEvent("onkeydown", eventObj);
  59. } else if (document.createEvent) {
  60. eventObj = document.createEvent("Events");
  61. eventObj.initEvent("keydown", true, true);
  62. eventObj.which = key;
  63. el.dispatchEvent(eventObj);
  64. }
  65. }
  66.  
  67. //𝗜𝗙 𝗬𝗢𝗨 𝗪𝗔𝗡𝗧 𝗧𝗢 𝗗𝗢 𝗣𝗢𝗞𝗘𝗗𝗘𝗫 𝗪𝗛𝗜𝗟𝗘 𝗙𝗔𝗥𝗠𝗜𝗡𝗚 𝗙𝗢𝗥 𝗣𝗢𝗧𝗘𝗡𝗧𝗜𝗔𝗟 𝗧𝗥𝗜𝗣𝗟𝗘 𝗦𝗧𝗔𝗧𝗦, 𝗬𝗢𝗨 𝗖𝗔𝗡 𝗖𝗛𝗔𝗡𝗚𝗘 𝗧𝗛𝗘 𝗩𝗔𝗥𝗜𝗔𝗕𝗟𝗘 𝗜𝗡 𝘀𝗲𝘁𝗜𝗻𝘁𝗲𝗿𝘃𝗮𝗹 𝗥𝗜𝗚𝗛𝗧 𝗕𝗘𝗟𝗢𝗪 𝗧𝗛𝗜𝗦 𝗖𝗢𝗠𝗠𝗘𝗡𝗧 𝗪𝗜𝗧𝗛 𝗧𝗛𝗜𝗦 ↓↓↓↓
  68. //var elements = document.querySelectorAll('img[src="https://i.dstatic.com/images/pokeball-n.png"][alt="N"][title="You don\'t have this pokemon in your box."], img[src="https://i.dstatic.com/images/pokeball-y.png"][alt="Y"][title="You already have one of these in your box."]');
  69. //if (elements !== null) {
  70. //𝗜𝗙 𝗬𝗢𝗨 𝗪𝗔𝗡𝗧 𝗧𝗢 𝗗𝗢 𝗣𝗢𝗞𝗘𝗗𝗘𝗫 𝗪𝗛𝗜𝗟𝗘 𝗙𝗔𝗥𝗠𝗜𝗡𝗚 𝗙𝗢𝗥 𝗣𝗢𝗧𝗘𝗡𝗧𝗜𝗔𝗟 𝗧𝗥𝗜𝗣𝗟𝗘 𝗦𝗧𝗔𝗧𝗦, 𝗬𝗢𝗨 𝗖𝗔𝗡 𝗖𝗛𝗔𝗡𝗚𝗘 𝗧𝗛𝗘 𝗩𝗔𝗥𝗜𝗔𝗕𝗟𝗘 𝗜𝗡 𝘀𝗲𝘁𝗜𝗻𝘁𝗲𝗿𝘃𝗮𝗹 𝗥𝗜𝗚𝗛𝗧 𝗕𝗘𝗟𝗢𝗪 𝗧𝗛𝗜𝗦 𝗖𝗢𝗠𝗠𝗘𝗡𝗧 𝗪𝗜𝗧𝗛 𝗧𝗛𝗜𝗦 ↑↑↑↑
  71.  
  72. setInterval(() => {
  73. var element = document.querySelector('img[src="https://i.dstatic.com/images/pokeball-n.png"][alt="N"][title="You don\'t have this pokemon in your box."]');
  74. if (element !== null) {
  75. document.querySelector("#catch")?.click();
  76. clickSimulationActive = true;
  77. } else {
  78. clickSimulationActive = false;
  79. }
  80. }, 1250);
  81.  
  82. setInterval(() => {
  83. document.querySelector("#battle > form > div.center > input:nth-child(1)")?.click();
  84. }, 1250);
  85.  
  86. setInterval(() => {
  87. document.querySelector("#item-masterball")?.click();
  88. }, 450);
  89.  
  90. setInterval(() => {
  91. document.querySelector("#itemwrap > div:nth-child(1) > form > div.buttoncenter.clear > input:nth-child(2)")?.click();
  92. }, 1250);
  93.  
  94. setInterval(() => {
  95. document.querySelector("#battle > div.infobox > a.btn.btn-primary")?.click();
  96. }, 1250);
  97.  
  98.  
  99. function handleAutoWalkFind() {
  100. var isUpDownActive = true;
  101. var interval = Math.floor(Math.random() * (20 - 9 + 1)) + 9;
  102.  
  103.  
  104.  
  105. var autoWalkFindInterval = setInterval(() => {
  106. var isLoading = $("#showpoke").text().indexOf("Searching...") > -1;
  107. if (!isLoading && autoWalkFind) {
  108. var move;
  109. if (isUpDownActive) {
  110.  
  111. if (upCount < upLimit) {
  112. move = 38;
  113. upCount++;
  114. } else if (downCount < downLimit) {
  115. move = 40;
  116. downCount++;
  117. }
  118.  
  119. if (upCount >= upLimit && downCount >= downLimit) {
  120. isUpDownActive = false;
  121. upCount = 0;
  122. downCount = 0;
  123. }
  124. } else {
  125.  
  126. if (leftCount < leftLimit) {
  127. move = 37;
  128. leftCount++;
  129. } else if (rightCount < rightLimit) {
  130. move = 39;
  131. rightCount++;
  132. }
  133.  
  134. if (leftCount >= leftLimit && rightCount >= rightLimit) {
  135. isUpDownActive = true;
  136. leftCount = 0;
  137. rightCount = 0;
  138. }
  139. }
  140. if (move !== undefined) {
  141. fireKey(document, move);
  142. }
  143. }
  144. }, interval);
  145. }
  146.  
  147.  
  148. var upCount = 0;
  149. var downCount = 0;
  150. var leftCount = 0;
  151. var rightCount = 0;
  152.  
  153. var upLimit = 20;
  154. var downLimit = 20;
  155. var leftLimit = 20;
  156. var rightLimit = 20;
  157.  
  158.  
  159. handleAutoWalkFind();
  160.