Auto Farm Map Coins

auto farm map coins

  1. // ==UserScript==
  2. // @name Auto Farm Map Coins
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description auto farm map coins
  6. // @author You
  7. // @match *://agma.io/*
  8. // @run-at document-start
  9. // @grant none
  10. // ==/UserScript==
  11. let send;
  12. const osend = WebSocket.prototype.send
  13. WebSocket.prototype.send = function() {
  14. send = (...args) => osend.call(this, ...args)
  15. return osend.apply(this, arguments)
  16. }
  17. const afterloaded= ()=>{
  18. let curserTimeout;
  19. function curserMsg(e, t, r) {
  20. "green" == t && (t = "rgb(0, 192, 0)"),
  21. "red" == t && (t = "rgb(255, 0, 0)"),
  22. "gray" == t && (t = "rgb(153, 153, 153)"),
  23. clearTimeout(curserTimeout),
  24. $("#curser").text(e).show().css("color", t),
  25. 0 !== r && (curserTimeout = setTimeout(() => $("#curser").fadeOut(400), r ?? 4e3));
  26. }
  27. var checkbox = document.createElement("input");
  28. (checkbox.type = "checkbox"), (checkbox.id = "autocoins"), (checkbox.name = "myCheckbox");
  29. var label = document.createElement("label");
  30. (label.textContent = "Auto Coins"), label.setAttribute("for", "autocoins");
  31. $("#roleSettings").append(checkbox),
  32. $("#roleSettings").append(label),
  33. $("#roleSettings").append("<br>"),
  34. $("#settingTab3,.rab-radius").click(() => {
  35. $("#roleSettings").css("display", "block");
  36. document.getElementById("autocoins").disabled = false;
  37. setInterval(() => {
  38. if (document.getElementById("autocoins").disabled = true) {
  39. document.getElementById("autocoins").disabled = false;
  40. $("#roleSettings").css("display", "block");
  41. }
  42. }, 0);
  43. });
  44. checkbox.addEventListener("change", function() {
  45. checkbox.checked ?
  46. (console.log("Checkbox is checked. Set to true."), curserMsg("Auto Coins turned ON", "green")) :
  47. (console.log("Checkbox is not checked. Set to false."), curserMsg("Auto Coins turned OFF", "green"));
  48. });
  49.  
  50. function moveUp() {
  51. const t = {
  52. clientX: window.innerWidth / 2,
  53. clientY: -1e7
  54. };
  55. $("canvas").trigger($.Event("mousemove", t));
  56. }
  57.  
  58. function moveDown() {
  59. $("canvas").trigger($.Event("mousemove", {
  60. clientX: window.innerWidth / 2,
  61. clientY: 1e7
  62. }));
  63. }
  64.  
  65. function moveRight() {
  66. const t = {
  67. clientX: 1e7,
  68. clientY: window.innerHeight / 2
  69. };
  70. $("canvas").trigger($.Event("mousemove", t));
  71. }
  72.  
  73. function moveLeft() {
  74. $("canvas").trigger($.Event("mousemove", {
  75. clientX: -1e7,
  76. clientY: window.innerHeight / 2
  77. }));
  78. }
  79. const sleep = (t) => new Promise((resolve) => setTimeout(resolve, t));
  80. async function move() {
  81. moveLeft(),
  82. await sleep(8e3),
  83. moveUp(),
  84. await sleep(5e3),
  85. moveRight(),
  86. await sleep(8e3),
  87. moveDown(),
  88. await sleep(5e3);
  89. }
  90. let xd, xd1, xd2, xd3;
  91. const split = () => {
  92. if ("block" != $("#advert").css("display") && "block" != $("#overlays").css("display")) {
  93. send(new Uint8Array([17]))
  94. };
  95. };
  96. checkbox.addEventListener("change", function() {
  97. if (this.checked) {
  98. setFixedZoom(true);
  99. coinsamount = 0;
  100. xd = setInterval(() => {
  101. "block" == $("#advert").css("display") && $("#advertContinue").click(), "block" == $("#overlays").css("display") && setNick($('#nick').val());;
  102. }, 1e3);
  103. xd2 = setInterval(() => {
  104. move();
  105. }, 27e3);
  106. xd1 = setInterval(() => {
  107. split();
  108. }, 200);
  109. xd3 = setInterval(async () => {
  110. if (JSON.parse(document.getElementById("cellsAmount").innerHTML) <= 4 && asd) {
  111. split();
  112. await sleep(60);
  113. split();
  114. await sleep(60)
  115. if (JSON.parse(document.getElementById("cellsAmount").innerHTML) <= 6 && "block" != $("#advert").css("display") && "block" != $("#overlays").css("display") && asd) {
  116. setTimeout(()=>{
  117. rspwn($('#nick').val());
  118.  
  119. },3000)
  120. }
  121. }
  122. }, 60)
  123. setTimeout(move, 500);
  124. } else {
  125. clearInterval(xd)
  126. clearInterval(xd1)
  127. clearInterval(xd2)
  128. clearInterval(xd3)
  129. }
  130. })
  131.  
  132. function mousein(x, y) {
  133. $("canvas").trigger($.Event("mousemove", {
  134. clientX: x,
  135. clientY: y
  136. }));
  137. }
  138. var regex = /ects\/9.(png|lo)/;
  139. let ordrawimage = CanvasRenderingContext2D.prototype.drawImage,
  140. coinsamount = 0,
  141. asd = true,
  142. timer,
  143. timer1,existed=false,
  144. positions=[],counter=0;
  145. CanvasRenderingContext2D.prototype.drawImage = async function(){
  146. if (this.canvas.id === 'canvas') {
  147. if (checkbox.checked) {
  148. if (regex.test(arguments[0].src)) {
  149.  
  150. let matrix = this.getTransform();
  151. if (coinsamount >= 500){
  152. send(new Uint8Array([17]))
  153. await sleep(60)
  154. send(new Uint8Array([17]))
  155. coinsamount = 0}
  156. setTimeout(()=>{coinsamount += 1},1);
  157. timer = Date.now();
  158. let x1 = matrix.e,
  159. y1 = matrix.f;
  160. asd = false;
  161. clearInterval(xd1);
  162. /* for(let i=0;i<positions.length;i++){
  163. if(positions[i].x==x1&&positions[i].y==y1){
  164. existed = true;
  165. break;
  166. }
  167. else{existed=false}
  168. }
  169. if(!existed)positions.push({x:x1,y:y1})
  170. mousein(positions[counter].x, positions[counter].y)*/
  171. mousein(x1,y1)
  172.  
  173. } else {
  174. let timer1 = Date.now();
  175. if ((timer1 - timer) > 100) {
  176. timer = undefined;
  177. setTimeout(()=>{asd = true},400)
  178. xd1 = setInterval(() => {
  179. split();
  180. }, 200);
  181. }
  182. }
  183. }
  184. }
  185. ordrawimage.apply(this, arguments)
  186. }
  187. };
  188. if(document.readyState === "complete" || document.readyState === "interactive"){
  189. setTimeout(afterloaded, 0)
  190. }else{
  191. document.addEventListener("DOMContentLoaded", afterloaded)
  192. };