Cube Client

Cliente PvP para Bloxd.io con hitboxes, keystrokes, contador de CPS, crosshair personalizado, FPS Boost y barra de salud.

  1. // ==UserScript==
  2. // @name Cube Client
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Cliente PvP para Bloxd.io con hitboxes, keystrokes, contador de CPS, crosshair personalizado, FPS Boost y barra de salud.
  6. // @author TuNombre
  7. // @match https://*.bloxd.io/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. // Configuración inicial
  16. const config = {
  17. hitboxes: false,
  18. customCrosshair: false,
  19. fpsBoost: true, // FPS Boost activado
  20. healthBar: false,
  21. keystrokes: true, // Keystrokes activado por defecto
  22. cpsCounter: true, // CPS activado por defecto
  23. keystrokeColor: '#00ff00', // Color de keystrokes
  24. keystrokeBackgroundColor: '#333333', // Fondo predeterminado de las teclas
  25. healthBarColor: '#ff0000', // Color de la barra de salud
  26. keystrokeSize: '50px', // Tamaño de las teclas
  27. keystrokeFontSize: '25px', // Tamaño de fuente para las letras en las teclas
  28. keystrokeBorderColor: '#ffffff', // Color del borde (no editable)
  29. };
  30.  
  31. // Crear el contenedor de Keystrokes y CPS
  32. const keystrokesContainer = document.createElement('div');
  33. keystrokesContainer.id = 'keystrokes';
  34. keystrokesContainer.style.position = 'fixed';
  35. keystrokesContainer.style.bottom = '100px';
  36. keystrokesContainer.style.left = '10px';
  37. keystrokesContainer.style.zIndex = '10000';
  38. keystrokesContainer.style.fontFamily = 'Arial, sans-serif';
  39. keystrokesContainer.style.color = 'white';
  40. keystrokesContainer.style.display = config.keystrokes ? 'block' : 'none';
  41. keystrokesContainer.style.textAlign = 'center';
  42. keystrokesContainer.style.cursor = 'move';
  43.  
  44. keystrokesContainer.innerHTML = `
  45. <div style="display: flex; flex-direction: column; align-items: center;">
  46. <div id="key-W" class="key" style="width: ${config.keystrokeSize}; height: ${config.keystrokeSize}; background-color: ${config.keystrokeBackgroundColor}; border: 2px solid ${config.keystrokeBorderColor}; font-size: ${config.keystrokeFontSize}; display: flex; align-items: center; justify-content: center;">W</div>
  47. <div style="display: flex;">
  48. <div id="key-A" class="key" style="width: ${config.keystrokeSize}; height: ${config.keystrokeSize}; background-color: ${config.keystrokeBackgroundColor}; border: 2px solid ${config.keystrokeBorderColor}; font-size: ${config.keystrokeFontSize}; display: flex; align-items: center; justify-content: center;">A</div>
  49. <div id="key-S" class="key" style="width: ${config.keystrokeSize}; height: ${config.keystrokeSize}; background-color: ${config.keystrokeBackgroundColor}; border: 2px solid ${config.keystrokeBorderColor}; font-size: ${config.keystrokeFontSize}; display: flex; align-items: center; justify-content: center;">S</div>
  50. <div id="key-D" class="key" style="width: ${config.keystrokeSize}; height: ${config.keystrokeSize}; background-color: ${config.keystrokeBackgroundColor}; border: 2px solid ${config.keystrokeBorderColor}; font-size: ${config.keystrokeFontSize}; display: flex; align-items: center; justify-content: center;">D</div>
  51. </div>
  52. <div style="display: flex; justify-content: center; width: 100%; margin-top: 10px;">
  53. <div id="key-Shift" class="key" style="width: ${config.keystrokeSize}; height: ${config.keystrokeSize}; background-color: ${config.keystrokeBackgroundColor}; border: 2px solid ${config.keystrokeBorderColor}; font-size: ${config.keystrokeFontSize}; display: flex; align-items: center; justify-content: center;">Shift</div>
  54. <div id="key-Space" class="key" style="width: ${config.keystrokeSize}; height: ${config.keystrokeSize}; background-color: ${config.keystrokeBackgroundColor}; border: 2px solid ${config.keystrokeBorderColor}; font-size: ${config.keystrokeFontSize}; display: flex; align-items: center; justify-content: center;">Space</div>
  55. </div>
  56. <div style="margin-top: 20px;">
  57. <div id="leftCPS" style="margin: 5px; font-size: 16px;">LMB CPS: 0</div>
  58. <div id="rightCPS" style="margin: 5px; font-size: 16px;">RMB CPS: 0</div>
  59. </div>
  60. </div>
  61. `;
  62. document.body.appendChild(keystrokesContainer);
  63.  
  64. // Variables para el manejo de clics
  65. let lastLeftClickTime = 0;
  66. let lastRightClickTime = 0;
  67. const clickCooldown = 1; // 1ms de espera entre clics
  68. let leftClickCount = 0;
  69. let rightClickCount = 0;
  70.  
  71. // Actualizar los CPS cada milisegundo
  72. setInterval(() => {
  73. document.getElementById('leftCPS').textContent = `LMB CPS: ${leftClickCount}`;
  74. document.getElementById('rightCPS').textContent = `RMB CPS: ${rightClickCount}`;
  75. leftClickCount = 0;
  76. rightClickCount = 0;
  77. }, 100); // Se actualiza cada 100ms para reflejar un retraso leve antes de resetear el contador
  78.  
  79. // Función para manejar los clics y contar los CPS
  80. document.addEventListener('mousedown', (e) => {
  81. const currentTime = Date.now();
  82.  
  83. if (e.button === 0 && currentTime - lastLeftClickTime > clickCooldown) {
  84. lastLeftClickTime = currentTime;
  85. setTimeout(() => leftClickCount++, 10); // Retraso de 10ms para que el contador no se reinicie inmediatamente
  86. }
  87. if (e.button === 2 && currentTime - lastRightClickTime > clickCooldown) {
  88. lastRightClickTime = currentTime;
  89. setTimeout(() => rightClickCount++, 10); // Retraso de 10ms para que el contador no se reinicie inmediatamente
  90. }
  91. });
  92.  
  93. // Actualizar los keystrokes al presionar teclas
  94. document.addEventListener('keydown', (e) => {
  95. const keyElement = document.getElementById(`key-${e.key}`);
  96. if (keyElement) {
  97. keyElement.style.background = '#00ff00'; // Color configurable cuando está presionado
  98. }
  99. });
  100.  
  101. document.addEventListener('keyup', (e) => {
  102. const keyElement = document.getElementById(`key-${e.key}`);
  103. if (keyElement) {
  104. keyElement.style.background = '#333333'; // Color de fondo predeterminado cuando se suelta
  105. }
  106. });
  107.  
  108. // Menú para activar/desactivar funcionalidades
  109. const menu = document.createElement('div');
  110. menu.style.position = 'fixed';
  111. menu.style.top = '50px';
  112. menu.style.left = '50px';
  113. menu.style.backgroundColor = '#000';
  114. menu.style.color = '#fff';
  115. menu.style.padding = '10px';
  116. menu.style.border = '2px solid #fff';
  117. menu.style.borderRadius = '5px';
  118. menu.style.zIndex = '10001';
  119. menu.style.display = 'none';
  120. menu.style.fontFamily = 'Arial, sans-serif';
  121.  
  122. menu.innerHTML = `
  123. <h3>Cube Client - Configuración</h3>
  124. <label><input type="checkbox" id="toggleHitboxes"> Activar Hitboxes</label><br>
  125. <label><input type="checkbox" id="toggleCrosshair"> Activar Crosshair Personalizado</label><br>
  126. <label><input type="checkbox" id="toggleFPSBoost" checked> Activar FPS Boost</label><br>
  127. <label><input type="checkbox" id="toggleHealthBar"> Activar Barra de Salud</label><br>
  128. <label><input type="checkbox" id="toggleKeystrokes"> Activar Keystrokes</label><br>
  129. <label><input type="checkbox" id="toggleCPSCounter"> Activar Contador de CPS</label><br>
  130. <button id="closeMenu" style="margin-top: 10px;">Cerrar Menú</button>
  131. <button id="editPositions" style="margin-top: 10px;">Editar Posiciones</button>
  132. <button id="pencilButton" style="margin-top: 10px;">✏️ Editar</button>
  133. `;
  134.  
  135. document.body.appendChild(menu);
  136.  
  137. // Función para abrir/cerrar el menú con Shift izquierdo
  138. document.addEventListener('keydown', (e) => {
  139. if (e.key === 'Shift') {
  140. menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
  141. }
  142. });
  143.  
  144. // Función para cerrar el menú
  145. document.getElementById('closeMenu').addEventListener('click', () => {
  146. menu.style.display = 'none';
  147. });
  148.  
  149. // Función para activar/desactivar modo de edición de posiciones
  150. let isEditing = false;
  151. document.getElementById('pencilButton').addEventListener('click', () => {
  152. isEditing = !isEditing;
  153. if (isEditing) {
  154. menu.style.display = 'none';
  155. alert('Modo de edición activado. Mueve los elementos.');
  156. } else {
  157. alert('Modo de edición desactivado. Posiciones guardadas.');
  158. }
  159. });
  160.  
  161. // Función para guardar las posiciones
  162. document.getElementById('editPositions').addEventListener('click', () => {
  163. // Aquí podrías agregar la lógica para editar posiciones.
  164. alert('Posiciones editadas y guardadas!');
  165. });
  166.  
  167. // Habilitar FPS Boost
  168. if (config.fpsBoost) {
  169. let originalRequestAnimationFrame = window.requestAnimationFrame;
  170. window.requestAnimationFrame = function(callback) {
  171. setTimeout(callback, 0); // Desactiva cualquier retraso de renderizado
  172. };
  173. }
  174. })();

QingJ © 2025

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