ProutexMacro v5 {Leading MooMoo.io Macro 2021}

Read the description in GreasyFork!

目前为 2021-05-09 提交的版本。查看 最新版本

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

QingJ © 2025

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