MooMoo.js anticheat calculator (improved)

Sort of calculating kick level

当前为 2022-12-31 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name MooMoo.js anticheat calculator (improved)
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.1
  5. // @description Sort of calculating kick level
  6. // @require https://greasyfork.org/scripts/456235-moomoo-js/code/MooMoojs.js?version=1132127
  7. // @author Lovou#4725 & ▄︻デW4IT?̷══━一#1814(added PPS)
  8. // @match *://*.moomoo.io/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. const MooMoo = (function MooMooJS_beta() {})[69]
  13.  
  14. let kickCount = 0;
  15. let kickCountSec = 0;
  16. let intervalStarted = false;
  17. const resetInterval = 60000;
  18. const resetIntervalSec = 1000;
  19. let resetTime = Date.now() + resetInterval;
  20. let resetSecTime =Date.now() + resetIntervalSec;
  21.  
  22. const resetKickCount = () => {
  23. kickCount = 0;
  24. resetTime = Date.now() + resetInterval;
  25. };
  26.  
  27. const resetSecKickCount = () => {
  28. kickCountSec = 0;
  29. resetSecTime =Date.now() + resetIntervalSec;
  30. };
  31.  
  32. MooMoo.addEventListener("packet", () => {
  33. if (!intervalStarted) {
  34. intervalStarted = true;
  35. setInterval(() => {
  36. const currentTime = Date.now();
  37. if (currentTime >= resetTime) {
  38. resetKickCount();
  39. }
  40. if (currentTime >= resetSecTime) {
  41. resetSecKickCount();
  42. }
  43. }, 100);
  44. }
  45. });
  46.  
  47. const incrementKickCount = () => {
  48. kickCount++;
  49. kickCountSec++;
  50. };
  51.  
  52. const calculateKickPercentage = (kicks, goal) => (kicks / goal) * 100;
  53.  
  54. const setStyles = element => {
  55. const styles = {
  56. position: "absolute",
  57. top: "0px",
  58. left: "0px",
  59. color: "white",
  60. fontFamily: "monospace",
  61. fontSize: "24px"
  62. };
  63.  
  64. Object.entries(styles).forEach(([key, value]) => {
  65. element.style[key] = value;
  66. });
  67. };
  68.  
  69. const displayGameInfo = () => {
  70. const gameInfoElement = document.createElement("div");
  71. setStyles(gameInfoElement);
  72. gameInfoElement.id = "playerPosition";
  73.  
  74. document.body.appendChild(gameInfoElement);
  75.  
  76. const updateGameInfo = () => {
  77. const currentTime = Date.now();
  78. const timeRemaining = resetTime - currentTime;
  79. const timeRemainingSec = resetSecTime - currentTime;
  80. document.getElementById("playerPosition").innerText = `Kick (PPM): ${Math.round(
  81. calculateKickPercentage(kickCount, 5400)
  82. )}% | Kick (PPS): ${Math.round(
  83. calculateKickPercentage(kickCountSec, 90)
  84. )}% \n Reset PPM: ${(timeRemaining / 1000).toFixed(1)} | PPM: ${kickCount}\n Reset PPS: ${(timeRemainingSec / 1000).toFixed(1)} | PPS: ${kickCountSec}`;
  85. };
  86.  
  87. setInterval(updateGameInfo, 100);
  88. };
  89.  
  90. MooMoo.onClientPacket = incrementKickCount;
  91. MooMoo.onGameLoad = displayGameInfo;