★moomoo.io ItemCounter

Always display the count of items.

  1. // ==UserScript==
  2. // @name ★moomoo.io ItemCounter
  3. // @version 0.8
  4. // @description Always display the count of items.
  5. // @author nekosan
  6. // @match *://moomoo.io/*
  7. // @grant none
  8. // @namespace https://greasyfork.org/ja/scripts/28930-moomoo-io-itemcounter
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. // groupID:0 food limit: -
  15. // groupID:1 walls limit: 25
  16. // groupID:2 spikes limit: 15
  17. // groupID:3 mill limit: 6
  18. // groupID:4 mine limit: 1
  19. // groupID:5 trap limit: 6
  20. // groupID:6 booster limit: 12
  21.  
  22. var socket;
  23. var SID;
  24. var maxnum_wall = 25;
  25. var maxnum_spike = 15;
  26. var maxnum_mill = 6;
  27. var maxnum_mine = 1;
  28. var maxnum_trap = 6;
  29. var maxnum_boost = 12;
  30. var item = [];
  31.  
  32. var c1 = setInterval(function () {
  33. if (typeof io !== 'undefined' &&
  34. io !== null &&
  35. typeof storeBuy === 'function' &&
  36. typeof Object.keys(io.managers) [0] !== 'undefined'
  37. ) {
  38.  
  39. socket = io.managers[Object.keys(io.managers) [0]].nsps['/'];
  40. socket.on('1', function (e) {
  41. SID = e;
  42. });
  43.  
  44. var c2 = setInterval(function () {
  45. if (typeof SID !== 'undefined' && SID !== null) {
  46.  
  47. for (var i = 0; i < 9; i++) {
  48. item[i] = document.createElement('div');
  49. item[i].setAttribute('id', 'itemnum' + (i + 8));
  50. item[i].style.cssText =
  51. 'position: absolute;' +
  52. 'top: 0;' +
  53. 'padding-left: 5px;' +
  54. 'font-size: 2em;' +
  55. 'color: #fff;';
  56. document.getElementById('actionBarItem' + (i + 8)).appendChild(item[i]);
  57. }
  58. item[0].innerHTML = maxnum_wall;
  59. item[1].innerHTML = maxnum_wall;
  60. item[2].innerHTML = maxnum_spike;
  61. item[3].innerHTML = maxnum_spike;
  62. item[4].innerHTML = maxnum_mill;
  63. item[5].innerHTML = maxnum_mill;
  64. item[6].innerHTML = maxnum_mine;
  65. item[7].innerHTML = maxnum_trap;
  66. item[8].innerHTML = maxnum_boost;
  67.  
  68. socket.on('14', function (e, t) {
  69. switch (e) {
  70. // wall
  71. case 1:
  72. document.getElementById('itemnum8').innerHTML =
  73. document.getElementById('itemnum9').innerHTML = maxnum_wall - t;
  74. break;
  75. // spikes
  76. case 2:
  77. document.getElementById('itemnum10').innerHTML =
  78. document.getElementById('itemnum1').innerHTML = maxnum_spike - t;
  79. break;
  80. // mill
  81. case 3:
  82. document.getElementById('itemnum12').innerHTML =
  83. document.getElementById('itemnum13').innerHTML = maxnum_mill - t;
  84. break;
  85. // mine
  86. case 4:
  87. document.getElementById('itemnum14').innerHTML = maxnum_mine - t;
  88. break;
  89. // pit trap
  90. case 5:
  91. document.getElementById('itemnum15').innerHTML = maxnum_trap - t;
  92. break;
  93. // boost pad
  94. case 6:
  95. document.getElementById('itemnum16').innerHTML = maxnum_boost - t;
  96. break;
  97. }
  98. });
  99.  
  100. clearInterval(c2);
  101. }
  102. }, 200);
  103. clearInterval(c1);
  104. }
  105. }, 200);
  106.  
  107. })();