ProutexMacro v6 Return

I'm sorry, but I won't update this macro! I'm going to create a cheat and post it on GreasyFork soon!

  1. // ==UserScript==
  2. // @name ProutexMacro v6 Return
  3. // @namespace -
  4. // @version 6.0
  5. // @description I'm sorry, but I won't update this macro! I'm going to create a cheat and post it on GreasyFork soon!
  6. // @author Discord: GoblinTime#2714 : Greasy Fork镜像: ♡⚠♡GoblinTime♡⚠♡
  7. // @match *://*.moomoo.io/*
  8. // @match *://moomoo.io/*
  9. // @grant none
  10. // @require https://cdn.jsdelivr.net/npm/msgpack-lite@0.1.26/dist/msgpack.min.js
  11. // @require http://code.jquery.com/jquery-3.3.1.min.js
  12. // @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js
  13. // ==/UserScript==
  14. var title = document.title;
  15. if(title === "Moo Moo") {
  16. console.log("You play moomoo.io");
  17. window.location.native_resolution = true;
  18. } else {
  19. console.log("You not play moomoo.io");
  20. }
  21.  
  22. var pi = Math.PI,
  23. date = new Date(),
  24. old = Date.now(),
  25. cos = Math.cos,
  26. sin = Math.sin,
  27. abs = Math.abs,
  28. pow = Math.pow,
  29. min = Math.min,
  30. max = Math.max,
  31. atan2 = Math.atan2,
  32. sqrt = Math.sqrt,
  33. random = Math.random,
  34. floor = Math.floor;
  35. function rdm(a,b) {
  36. return Math.floor(Math.random() *(b - a + 1)) + a;
  37. }
  38. /* Add new colors for health bars */
  39. var ctxx = CanvasRenderingContext2D;
  40. if(ctxx.prototype.roundRect) {
  41. ctxx.prototype.roundRect = ((func) => function() {
  42. if (this.fillStyle == "#8ecc51"){ //All allys
  43. this.fillStyle = "rgba(0, 66, 0, 0.47)";
  44. } else if(this.fillStyle == "#cc5151") { // All enemy
  45. this.fillStyle = "rgba(112, 6, 0, 0.47)";
  46. } else if(this.fillStyle == "#3d3f42") { // Background health bar
  47. this.fillStyle = "rgba(82, 82, 82, 0.47)";
  48. }
  49. return(func.call(this, ...arguments));
  50. })
  51. (ctxx.prototype.roundRect);
  52. }
  53. // Start Resource
  54. function StartRes() {
  55. window.follmoo("moofoll", 1);
  56. }
  57. StartRes();
  58.  
  59. // Menu
  60. $("body").after(`
  61.  
  62. <button onclick="InfoMenu()" class="NameMacro">ProutexMacro v6</button>
  63. <div id="infomenu">
  64. <div class="nameblock">Ping and Fps:</div>
  65. <hr>
  66. <div id="ping" class="text">.</div>
  67. <div id="fps" class="text">.</div>
  68. <hr>
  69. <div class="nameblock">Additionally:</div>
  70. <hr>
  71. <ul>
  72. <li></label><label><div class="text">Pro-Map<input type="checkbox" id="NewMap"><span class="checkmark"></div></li>
  73. <li></label><label><div class="text">Show-Cps<input type="checkbox" id="CPSTOGGLER"><span class="checkmark"></div></li>
  74. <li></label><label><div class="text">AutoHotKeys<input type="checkbox" id="AHK"><span class="checkmark"></div></li>
  75. <li></label><label><div class="text">AutoRespawn<input type="checkbox" id="autospawn"><span class="checkmark"></div></li>
  76. <li></label><label><div class="text">Soldier_Q<input type="checkbox" id="Soldier_Q"><span class="checkmark"></div></li>
  77. <li></label><label><div class="text">LeftAndRightClick<input type="checkbox" id="Clicks"><span class="checkmark"></div></li>
  78. <li><div class="text">Clan: <input type="text" class="Input_Text_style" minlength="0" maxlength="7" style ="width:60px;" placeholder="Clan Name" id="MakeClan"><button onclick="CreateClan();" class="Input_Buttob_style">Send</button><button onclick="RemoveClan();" class="Input_Buttob_style">Remove</button></div></li>
  79. </ul>
  80. <hr>
  81. <div class="nameblock">Versions:</div>
  82. <hr>
  83.  
  84. <div class="text">
  85. Version-6:
  86. <ul>
  87. <li>1. Added AutoSpawn<br>You will appear automatically after death!
  88. </li>
  89. <li>2. To put a Turret or other. Press - (H )
  90. </li>
  91. <li>3. In the menu, you can now create a clan! And also delete it!
  92. </li>
  93. <li>4. After entering the game, you will automatically write Im user ProutexMacro! I'm sorry about this, but I want it to be like this!
  94. </li>
  95. </ul>
  96. <hr>
  97. Version-5:
  98. <ul>
  99. <li>1. Added WebSocket!
  100. </li>
  101. <li>2. All switch elements are moved to the menu!
  102. </li>
  103. <li>3. Added AutoHotKey! You can enable it in the menu!<br>Key - ( N ) = x1 Mill<br>Key - ( V ) = x1 Spike<br>Key - ( F ) = x1 Trap<br>Key - ( Q ) = Heal!<br> All buildings have x5 cps!
  104. </li>
  105. <li>4. Big Map. Key - (Home) its Beta!!! (Click a second time to close!)
  106. </li>
  107. </ul>
  108. <hr>
  109. Version-4:
  110. <ul>
  111. <li>1. Menu.<br> To open the menu, click on the text (ProutexMacro)! To close it, click on any place on your screen except the menu!
  112. </li>
  113. <li>2. Remove all hats and accessories. Press - ( B )
  114. </li>
  115. <li>3. AutoReload.<br> The page will automatically reload when it crashes
  116. </li>
  117. <li>4. Big Store.<br> The store has become much bigger!
  118. </li>
  119. <li>5. Pro Map.<br> The map shows all the biomes!
  120. </li>
  121. <li>6. Show your cps.<br> Shows your CPS when clicked!
  122. </li>
  123. </ul>
  124. <hr>
  125. Version-3:
  126. <ul>
  127. <li>1. I changed the color of the health bars! Now they are semi-transparent!
  128. </li>
  129. <li>2. Made the soldier-Q switch now you need to click on ( H ) to turn it on!
  130. </li>
  131. <li>3. Now you can hide the leaderboard on ( K ) . When you press the ( K ) button again, the leaderboard will appear again!
  132. </li>
  133. <li>4. When you press ( Y ), there will be a BullTick!<br>
  134. Bulltick is when a bull helmet hat appears, and when it hits you, your shame counter resets after taking 5 points of damage!
  135. </li>
  136. </ul>
  137. <hr>
  138. Version-2:
  139. <ul>
  140. <li>1. Start Resource.
  141. </li>
  142. <li>2. Automatically sends a request to the very first clan in the list. Press - ( Up-Arrow )
  143. </li>
  144. <li>3. SoldierHelmet+XWings. Press - ( Q )
  145. </li>
  146. <li>4. I removed the "LeftAndRightClick: Off" radio button.<br>
  147. Now when you disable this feature, nothing will happen.<br>
  148. But I left the text when turning on!<br>
  149. When enabled, it will be "LeftAndRightClick: On".
  150. </li>
  151. </ul>
  152. <hr>
  153. Version-1:
  154. <ul>
  155. <li>1. Release!
  156. </li>
  157. <li>2. BullHelmet+BloodWings. Press - ( R )
  158. </li>
  159. <li>3. SoldierHelmet+XWings. Press - ( T )
  160. </li>
  161. <li>4. TankGear+BlackWings. Press - ( Z )
  162. </li>
  163. <li>5. Booster+Tail. Press - ( Shift )
  164. </li>
  165. <li>6. Responsible for the function switch! Press - ( J )<br>
  166. When you turn it on, an inscription will appear in the upper-left corner!<br>
  167. When you are enabled, you can click the left or right mouse button!<br>
  168. And they will wear hats! <=( Left ) responsible for: BullHelmet+SpikeGear+TurretGear+SoldierHelmet=><br>
  169. <=( Right ) responsible for: TankGear+SamuraiArmor+SoldierHelmet=>
  170. </li>
  171. </ul>
  172. <hr>
  173. </div>
  174.  
  175.  
  176.  
  177. </div>
  178. <style>
  179. button:active,
  180. button:focus {
  181. outline: none !important;
  182. }
  183. button::-moz-focus-inner {
  184. border: 0 !important;
  185. }
  186. .nameblock {
  187. font-size: 20px;
  188. color: #dbdbdb;
  189. text-align: center;
  190. }
  191. li {
  192. font-size: 13px;
  193. }
  194. .text {
  195. display: block;
  196. font-size: 17px;
  197. color: #fff;
  198. text-align: left;
  199. }
  200. .NameMacro{
  201. cursor: pointer;
  202. position: absolute;
  203. background: linear-gradient(to right, red, orange, yellow, green, cyan, blue, violet);
  204. background-size: 400% 400%;
  205. -webkit-background-clip: text;
  206. -webkit-text-fill-color: transparent;
  207. -webkit-animation: colorR 20s ease infinite;
  208. animation: colorR 20s ease infinite;
  209. font-family: "Hammersmith One";
  210. display: block !important;
  211. top: 5px;
  212. left: 720px;
  213. font-size: 17px;
  214. }
  215. ::-webkit-scrollbar { width: 5px; height: 3px;}
  216. ::-webkit-scrollbar-button { background-color: #000000; }
  217. ::-webkit-scrollbar-track { background-color: #999;}
  218. ::-webkit-scrollbar-track-piece { background-color: rgba(0, 0, 0, 0.50);}
  219. ::-webkit-scrollbar-thumb { height: 50px; background-color: #666; border-radius: 3px;}
  220. ::-webkit-scrollbar-corner { background-color: #999;}}
  221. ::-webkit-resizer { background-color: #666;}
  222. #infomenu {
  223. overflow-y: scroll;
  224. overflow-x: hidden;
  225. padding: 20px;
  226. position: absolute;
  227. display: none;
  228. background: rgba(102, 102, 102, 0.25);
  229. width: 310px;
  230. height: 450px;
  231. border: 2px solid black;
  232. border-radius: 4px;
  233. top: 80px;
  234. left: 20px;
  235. z-index: 1;
  236. }
  237. input {outline: 0 !important;}
  238. .Input_Text_style, .Input_Buttob_style {
  239. background: rgba(102, 102, 102);
  240. border: 2px solid black;
  241. border-radius: 10px;
  242. color: #fff;
  243. -o-transition: all 1s ease;
  244. -ms-transition: all 1s ease;
  245. -moz-transition: all 1s ease;
  246. -webkit-transition: all 1s ease;
  247. transition: all 1s ease;
  248. }
  249. .Input_Text_style:focus,.Input_Buttob_style:focus {
  250. border: 2px solid #fff;
  251. }
  252. </style>
  253. <script>
  254. function InfoMenu() {
  255. $("#infomenu").css({
  256. "display" : "block"
  257. });
  258. }
  259. $(document).mouseup(function (e) {
  260. var container = $("#infomenu");
  261. if (container.has(e.target).length === 0){
  262. container.hide();
  263. }
  264. });
  265.  
  266. (function() {
  267. var UPDATE_DELAY = 700;
  268. var lastUpdate = 0;
  269. var frames = 0;
  270. var values;
  271. function updateCounter() {
  272. var now = Date.now();
  273. var elapsed = now - lastUpdate;
  274. if (elapsed < UPDATE_DELAY) {
  275. ++frames;
  276. } else {
  277. var fps = Math.round(frames / (elapsed / 1000));
  278. document.getElementById("fps").textContent ="Fps: " + fps ;
  279. frames = 0;
  280. lastUpdate = now;
  281. }
  282. requestAnimationFrame(updateCounter);
  283. }
  284. lastUpdate = Date.now();
  285. requestAnimationFrame(updateCounter);
  286. })();
  287. setInterval(()=>{
  288. document.getElementById("ping").textContent = "Ping: " + window.pingTime;
  289. },0);
  290.  
  291. </script>
  292. `);
  293. $("body").after(`
  294. <div id="ShowMenu">
  295. </span>
  296. <div id="addtext">LeftAndRightClick: On</div>
  297. <div id="addtext3">AutoHotKey: On</div>
  298. <div id="addtext0">Soldier-Q: On</div>
  299. <div id="addtext4">AutoSpawn: On</div>
  300. <div id="addtext1">Left-Click</div>
  301. <div id="addtext2">Right-Click</div>
  302. <style>
  303. #ShowMenu {
  304. position:absolute !important;
  305. display:block;
  306. top: 5px;
  307. left: 5px;
  308. width: auto;
  309. height: auto;
  310. text-align: center;
  311. }
  312. #addtext,#addtext1,#addtext2,#addtext0,#addtext3,#addtext4{
  313. display: none;
  314. color: #fff;
  315. background: linear-gradient(to right, red, orange, yellow, green, cyan, blue, violet);
  316. background-size: 400% 400%;
  317. font-size: 20px;
  318. -webkit-background-clip: text;
  319. -webkit-text-fill-color: transparent;
  320. -webkit-animation: colorR 20s ease infinite;
  321. animation: colorR 20s ease infinite;
  322. }
  323. @-webkit-keyframes colorR {
  324. 0% { background-position: 0% 50% }
  325. 50% { background-position: 100% 50% }
  326. 100% { background-position: 0% 50% }
  327. }
  328. @keyframes colorR {
  329. 0% { background-position: 0% 50% }
  330. 50% { background-position: 100% 50% }
  331. 100% { background-position: 0% 50% }
  332. }
  333. </style>
  334. <script>
  335. let tm;
  336. let t = "Moo Moo";
  337. function change(icon, text) {
  338. document.querySelector('head title').innerHTML = text;
  339. document.querySelector('link[rel="shortcut icon"]').setAttribute('href',
  340. icon);
  341. }
  342. window.onblur = () => {
  343. tm = setTimeout(() => {
  344. change("https://cdn.discordapp.com/attachments/837884067822436382/838321077775237140/w16h161372343790hearts16.png",
  345. "😓COMEBACK!😓");
  346. }, 5000);
  347. }
  348. window.onfocus = () => {
  349. change("https://sandbox.moomoo.io/img/favicon.png?v=1", t);
  350. }
  351. </script>
  352. `);
  353. var AutoReload = setInterval(() => {
  354. if(document.getElementById("loadingText").textContent=="disconnectedreload"){
  355. window.onbeforeunload = null;
  356. clearInterval(AutoReload);
  357. window.location.reload();
  358. }
  359. });
  360. document.querySelector("#MakeClan").oninput = function(){
  361. if (this.value.length === 0) {
  362. $(".Input_Text_style").css("border","2px solid red");
  363. } else {
  364. $(".Input_Text_style").css("border","2px solid #fff");
  365. }
  366. }
  367. var Clan = true;
  368. var Removec = true;
  369. const removeClan = RemoveClan = (() => {
  370. if(Removec == true) {
  371. emit("9", );
  372. }
  373. });
  374. const clanMake = CreateClan = (() => {
  375. if(Clan == true) {
  376. emit("8", document.getElementById("MakeClan").value);
  377. }
  378. })
  379. $("#enterGame").click( () => {
  380. setTimeout(() => {
  381. emit('ch', 'Im user ProutexMacro');
  382. },250);
  383. });
  384. let mouseX, mouseY, width,height;
  385. let url = new URL(window.location.href);
  386. window.sessionStorage.force = url.searchParams.get("fc");
  387. var pr,sec,st,bt,ft,mt,tr;
  388. var AHK = false;
  389. var autospawn = false;
  390. let myPlayer = {
  391. id: null,
  392. x: null,
  393. y: null,
  394. dir: null,
  395. object: null,
  396. weapon: null,
  397. clan: null,
  398. isLeader: null,
  399. hat: null,
  400. accessory: null,
  401. isSkull: null
  402. };
  403. var websocket;
  404. var MsgPack = msgpack;
  405. document.msgpack = msgpack;
  406. WebSocket.prototype.OldSend = WebSocket.prototype.send;
  407. WebSocket.prototype.send = function(e) {
  408. if(!websocket){
  409. Greasy(this);
  410. websocket = this;
  411. document.websocket = this;
  412. }
  413. this.OldSend(e);
  414. }
  415. function Greasy(msg){
  416. msg.addEventListener('message', function(cd){
  417. Handler(cd);
  418. });
  419. }
  420. function Handler(e) {
  421. let tmp = MsgPack.decode(new Uint8Array(e.data));
  422. let data;
  423. if(tmp.length >= 1) {
  424. data = [tmp[0], ...tmp[1]];
  425. if (data[1] instanceof Array){
  426. data = data;
  427. }
  428. } else {
  429. data = tmp;
  430. }
  431. let item = data[0];
  432. if(!data) {
  433. return;
  434. }
  435. if (item == "33") {
  436. for(let e = 0; e < data[1].length / 13; e++) {
  437. let Arr = data[1].slice(13*e, 13*e+13);
  438. if(Arr[0] == myPlayer.id) {
  439. myPlayer.x = Arr[1];
  440. myPlayer.y = Arr[2];
  441. myPlayer.dir = Arr[3];
  442. myPlayer.object = Arr[4];
  443. myPlayer.weapon = Arr[5];
  444. myPlayer.clan = Arr[7];
  445. myPlayer.isLeader = Arr[8];
  446. myPlayer.hat = Arr[9];
  447. myPlayer.accessory = Arr[10];
  448. myPlayer.isSkull = Arr[11];
  449. }
  450. }
  451. }
  452. if (item == "1" && myPlayer.id == null){
  453. myPlayer.id = data[1];
  454. }
  455. if (item == "io-init") {
  456. let cvs = document.getElementById("gameCanvas");
  457. width = cvs.clientWidth;
  458. height = cvs.clientHeight;
  459. $(window).resize(function() {
  460. width = cvs.clientWidth;
  461. height = cvs.clientHeight;
  462. });
  463. cvs.addEventListener("mousemove", (e) => {
  464. mouseX = e.clientX;
  465. mouseY = e.clientY;
  466. });
  467. }
  468. UpdateItems();
  469. if(autospawn == true){
  470. item == "11" &&
  471. setTimeout(() => {
  472. emit('sp', {name:localStorage.getItem("moo_name"), moofoll: "1", skin: rdm(8,1)});
  473. },3000);
  474. }
  475. }
  476. function acc(id) {
  477. emit("13c", 1,id, 1);
  478. emit("13c", 0,id, 1);
  479. }
  480.  
  481. function hat(id) {
  482. emit("13c", 1,id, 0);
  483. emit("13c", 0,id, 0);
  484. }
  485. function Sender(e) {
  486. websocket.send(new Uint8Array(Array.from(MsgPack.encode(e))));
  487. }
  488. function emit(e,a,b,c,m,r) {
  489. Sender([e, [a,b,c,m,r]]);
  490. }
  491. function use(e, a = atan2(mouseY - height / 2, mouseX - width / 2)) {
  492. emit("5", e, null);
  493. emit("c", 1, a);
  494. emit("c", 0, a);
  495. emit("5", myPlayer.weapon, true);
  496. }
  497. function useQ(e, a = atan2(mouseY - height / 2, mouseX - width / 2)) {
  498. emit("5", e, null);
  499. emit("c", 1, null);
  500. emit("c", 0, null);
  501. emit("5", myPlayer.weapon, true);
  502. }
  503. var rptr = function(key, action, interval) { let _isKeyDown = false; let _intervalId = undefined; return { start(keycode) { if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') { _isKeyDown = true; if(_intervalId === undefined) { _intervalId = setInterval(() => { action(); if(!_isKeyDown){ clearInterval(_intervalId); _intervalId = undefined; } }, interval); } } }, stop(keycode) { if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') { _isKeyDown = false; } } };}
  504. const KeyHeal_3 = rptr(51, () => {
  505. useQ(ft, null)
  506. },25);
  507. const KeyHeal_Q = rptr(81, () => {
  508. useQ(ft, null)
  509. },25);
  510. const Put_Boost = rptr(70, () => {
  511. for(let i=0;i<3;i++)use(bt)
  512. },0);
  513. const Put_Spike = rptr(86, () => {
  514. for(let i=0;i<3;i++)use(st)
  515. },0);
  516. const Put_Mills = rptr(78, () => {
  517. for(let i=0;i<3;i++)use(mt)
  518. },0);
  519. const Put_Turret = rptr(72, () => {
  520. for(let i=0;i<3;i++)use(tr);
  521. },0);
  522. document.addEventListener('keydown', (e)=>{
  523. if(AHK == true){
  524. KeyHeal_3.start(e.keyCode);
  525. KeyHeal_Q.start(e.keyCode);
  526. Put_Boost.start(e.keyCode);
  527. Put_Spike.start(e.keyCode);
  528. Put_Mills.start(e.keyCode);
  529. Put_Turret.start(e.keyCode);
  530. }
  531. });
  532. document.addEventListener('keyup', (e)=>{
  533. if(AHK == true){
  534. KeyHeal_3.stop(e.keyCode);
  535. KeyHeal_Q.stop(e.keyCode);
  536. Put_Boost.stop(e.keyCode);
  537. Put_Spike.stop(e.keyCode);
  538. Put_Mills.stop(e.keyCode);
  539. Put_Turret.stop(e.keyCode);
  540. }
  541. });
  542. function Element_Visible(e) {
  543. return e.offsetParent !== null;
  544. }
  545. function UpdateItems() {
  546. for (let i=0;i<9;i++){
  547. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  548. pr = i;
  549. }
  550. }
  551. for (let i=9;i<16;i++){
  552. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  553. sec = i;
  554. }
  555. }
  556. for (let i=16;i<19;i++){
  557. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  558. ft = i - 16;
  559. }
  560. }
  561. for (let i=22;i<26;i++){
  562. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  563. st = i - 16;
  564. }
  565. }
  566. for (let i=26;i<29;i++){
  567. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  568. mt = i - 16;
  569. }
  570. }
  571. for (let i=31;i<33;i++){
  572. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  573. bt = i - 16;
  574. }
  575. }
  576. for (let i=33;i<36;i++){
  577. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  578. tr = i - 16;
  579. }
  580. }
  581. for (let i=33;i<36;i++){
  582. if (Element_Visible(document.getElementById("actionBarItem" + i.toString()))){
  583. tr = i - 16;
  584. }
  585. }
  586. }
  587. var Soldier_Q = false;
  588. var Clicks = false;
  589. const cvs = document.getElementById("gameCanvas");
  590. cvs.addEventListener("mousedown", clicks, false);
  591. function clicks(e) {
  592. if (e.button == 0) { // Left Click
  593.  
  594. if (Clicks == true) {
  595. document.getElementById('addtext1').style
  596. .display = "block";
  597. window.storeEquip(0, 1);
  598. window.storeEquip(7);
  599. window.storeEquip(18, 1);
  600. setTimeout(function() {
  601. window.storeEquip(11);
  602. window.storeEquip(21, 1);
  603. }, 100);
  604. setTimeout(function() {
  605. window.storeEquip(53);
  606. window.storeEquip(21, 1);
  607. }, 180);
  608. setTimeout(function() {
  609. window.storeEquip(6);
  610. window.storeEquip(13, 1);
  611. }, 260);
  612. setTimeout(function() {
  613. document.getElementById('addtext1').style
  614. .display = "none";
  615. }, 600);
  616. }
  617. }
  618. if (e.button == 2) { // Right Click
  619. if (Clicks == true) {
  620. document.getElementById('addtext2').style
  621. .display = "block";
  622. window.storeEquip(0, 1);
  623. window.storeEquip(20);
  624. window.storeEquip(19, 1);
  625. setTimeout(function() {
  626. window.storeEquip(40);
  627. window.storeEquip(19, 1);
  628. }, 120);
  629. setTimeout(function() {
  630. window.storeEquip(6);
  631. window.storeEquip(19, 1);
  632. }, 200);
  633. setTimeout(function() {
  634. document.getElementById('addtext2').style
  635. .display = "none";
  636. }, 600);
  637. }
  638. }
  639. }
  640. var bigMap = false;
  641. var leaderBlock = document.getElementById("leaderboard");
  642. document.addEventListener('keydown', (e) => { // Add event
  643. switch (e.keyCode) {
  644. case 36: // [Button]- Home
  645. if (bigMap == false) {
  646. bigMap = true;
  647. $("#mapDisplay").css({"background-size": "420px"});
  648. $("#mapDisplay").css({
  649. "position": "absolute",
  650. "top": "150px",
  651. "left": "585px",
  652. "background-color":"rgba(0,0,0,0.65)",
  653. "height": "420px",
  654. "width": "420px",
  655. "box-shadow": "rgba(0,0,0,.5) 0 0 0 1000px",
  656. "border": "6px solid black"
  657. });
  658. } else {
  659. bigMap = false;
  660. $("#mapDisplay").css({"background-size": "130px"});
  661. $("#mapDisplay").css({
  662. "position": "absolute",
  663. "bottom": "20px",
  664. "left": "20px",
  665. "top": "638px",
  666. "background-color":"rgba(0,0,0,0.25)",
  667. "height": "130px",
  668. "width": "130px",
  669. "box-shadow": "none",
  670. "border": "none"
  671. });
  672. }
  673. break;
  674. case 75: // [Button]- K
  675. if (leaderBlock.style.display == "block") {
  676. $("#killCounter").css({"margin": "0"});
  677. $("#killCounter").css({"top": "0px"});
  678. leaderBlock.style.display = "none";
  679. } else {
  680. $("#killCounter").css({"top": "230px"});
  681. leaderBlock.style.display = "block";
  682. }
  683. break;
  684. case 66: // [Button]- B
  685. window.storeEquip(0,1); // [Equip, Acc]- 0
  686. window.storeEquip(0); // [Equip, Hat]- 0
  687. break;
  688. // Bull Tick::
  689. case 89: // [Button]- Y
  690. console.log("Bull Tick");
  691. window.storeEquip(7); // [Equip, Hat]- BullHelmet
  692. setTimeout(() => {
  693. window.storeEquip(6); // [Equip, Hat]- SoldierGear
  694. },800);
  695. break;
  696. case 38: // [Button]- Up Arrow
  697. window.sendJoin(0); // Send a request to the very first clan
  698. break;
  699. case 82: // [Button]- R
  700. console.log("Bull, Blood[Wings]");
  701. window.storeEquip(0, 1);
  702. window.storeBuy(7); // [Buy, Hat]- BullHelmet
  703. window.storeBuy(18, 1); // [Buy, Acc]- Blood Wings
  704. window.storeEquip(7); // [Equip, Hat]- BullHelmet
  705. window.storeEquip(21, 1); // [Equip, Acc]- Blood Wings
  706. break;
  707. case 81: // [Button]- Q
  708. if(Soldier_Q == true){
  709. console.log("Soldier, X[Wings]");
  710. window.storeEquip(0, 1);
  711. window.storeBuy(6); // [Buy, Hat]- SoldierGear
  712. window.storeBuy(21, 1); // [Buy, Acc]- X Wings
  713. window.storeEquip(6); // [Equip, Hat]- SoldierGear
  714. window.storeEquip(21, 1); // [Equip, Acc]- X Wings
  715. }
  716. break;
  717. case 16: // [Button]- Shift
  718. if (myPlayer.y < 2400) {
  719. acc(11);
  720. hat(15);
  721. } else if (myPlayer.y > 6850 && myPlayer.y < 7550) {
  722. acc(11);
  723. hat(31);
  724. } else {
  725. acc(11);
  726. hat(12);
  727. }
  728. break;
  729. case 84: // [Button]- T
  730. console.log("Soldier, X[Wings]");
  731. window.storeEquip(0, 1);
  732. window.storeBuy(6); // [Buy, Hat]- Soldier
  733. window.storeBuy(21, 1); // [Buy, Acc]- X Wings
  734. window.storeEquip(6); // [Equip, Hat]- Soldier
  735. window.storeEquip(21, 1); // [Equip, Acc]- X Wings
  736. break;
  737. case 90: // [Button]- Z
  738. console.log("Tank, Black[Wings]");
  739. window.storeEquip(0, 1);
  740. window.storeBuy(40); // [Buy, Hat]- Tank
  741. window.storeBuy(19, 1); // [Buy, Acc]- Black Wings
  742. window.storeEquip(40); // [Equip, Hat]- Tank
  743. window.storeEquip(19, 1); // [Equip, Acc]- Black Wings
  744. break;
  745. }
  746. });
  747. // AutoSpawn
  748. var AutoSpawn = document.querySelector("#autospawn")
  749. AutoSpawn.addEventListener('change', function() {
  750. if (this.checked) {
  751. document.getElementById('addtext4').style.display = "block";
  752. autospawn = true;
  753. } else {
  754. document.getElementById('addtext4').style.display = "none";
  755. autospawn = false;
  756. }
  757. })
  758. // Toggler Cps
  759. var cpsss = document.querySelector("#CPSTOGGLER")
  760. cpsss.addEventListener('change', function() {
  761. if (this.checked) {
  762. $("#cpss").css("display", "block");
  763. } else {
  764. $("#cpss").css("display", "none");
  765. }
  766. });
  767. var AHKK = document.querySelector("#AHK")
  768. AHKK.addEventListener('change', function() {
  769. if (this.checked) {
  770. document.getElementById('addtext3').style.display = "block";
  771. AHK = true;
  772. } else {
  773. document.getElementById('addtext3').style.display = "none";
  774. AHK = false;
  775. }
  776. });
  777. var soldierQQ = document.querySelector("#Soldier_Q")
  778. soldierQQ.addEventListener('change', function() {
  779. if (this.checked) {
  780. Soldier_Q = true;
  781. document.getElementById('addtext0').style.display = "block";
  782. } else {
  783. Soldier_Q = false;
  784. document.getElementById('addtext0').style.display = "none";
  785. }
  786. });
  787. var cl = document.querySelector("#Clicks")
  788. cl.addEventListener('change', function() {
  789. if (this.checked) {
  790. document.getElementById('addtext').style.display = "block";
  791. Clicks = true;
  792. } else {
  793. document.getElementById('addtext').style.display = "none";
  794. Clicks = false;
  795. }
  796. });
  797.  
  798. // Toggler Map
  799. var NewMapp = document.querySelector("#NewMap")
  800. NewMapp.addEventListener('change', function() {
  801. if (this.checked) {
  802. $("#mapDisplay").css("background", "url('https://wormax.org/chrome3kafa/moomooio-background.png')");
  803. } else {
  804. $("#mapDisplay").css("background", "rgba(0, 0, 0, 0.25)");
  805. }
  806. })
  807. $("killCounter").css({"top": "230px"});
  808. /* Instructions for adding items: You need to put this code in a comment here is how I commented out this text */
  809. // /*
  810. document.getElementById("storeHolder").style = "height: 1500px; width: 450px;"
  811. document.getElementById('gameName').innerText = 'ProutexMacro';
  812. document.getElementById("moomooio_728x90_home").style.display = "none";
  813. $("#moomooio_728x90_home").parent().css({display: "none"});
  814. $("#moomooio_728x90_home").parent().css({"display" : "none"});
  815. document.getElementById("promoImg").remove();
  816. document.getElementById('adCard').remove();
  817. $("#youtuberOf").remove();
  818. $("#followText").remove();
  819. $("#promoImgHolder").remove();
  820. $("#twitterFollow").remove();
  821. $("#joinPartyButton").remove();
  822. $("#linksContainer2").remove();
  823. $("#partyButton").remove();
  824. $("#youtubeFollow").remove();
  825. $("#adCard").remove();
  826. $("#adBlock").remove();
  827. $("#mobileInstructions").remove();
  828. $("#downloadButtonContainer").remove();
  829. $("#mobileDownloadButtonContainer").remove();
  830. $(".downloadBadge").remove();
  831. // */
  832. setTimeout(() => {
  833. document.getElementById('ot-sdk-btn-floating').remove();
  834. document.getElementById('pre-content-container').remove();
  835. }, 2000);
  836. var cps = 0;
  837. var click = 1;
  838. $("#gameCanvas").mousedown(function(e){
  839. if(e.which == 1 && click == 1){
  840. cps = (cps + 1)
  841. setTimeout( () => {
  842. cps = (cps - 1)
  843. }, 950);
  844. }
  845. });
  846. $("#gameCanvas").mousedown(function(e){
  847. if(e.which == 3 && click == 1){
  848. cps = (cps + 1)
  849. setTimeout( () => {
  850. cps = (cps - 1)
  851. }, 950);
  852. }
  853. });
  854. document.addEventListener("mousedown", buttonPress, false);
  855. function buttonPress(e) {
  856. if(e.button == 1 && click == 1){
  857. cps = (cps + 1)
  858. setTimeout( () => {
  859. cps = (cps - 1)
  860. }, 950);
  861. }
  862. }
  863.  
  864. var cpsM = document.createElement("div");
  865. cpsM.style.padding = "5px";
  866. cpsM.id = "cpss";
  867. cpsM.style.font = "30px Arial";
  868. cpsM.style.display = "none";
  869. cpsM.style.position = "fixed";
  870. cpsM.style.top = "40%";
  871. cpsM.style.left = "0%";
  872. cpsM.style.color = "#fff";
  873. document.body.appendChild(cpsM);
  874. setInterval(()=>{
  875. cpsM.textContent = "Cps: " + cps;
  876. }, 0);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址