// ==UserScript== // @name Cube Client // @namespace http://tampermonkey.net/ // @version 0.1 // @description Cliente PvP para Bloxd.io con hitboxes, keystrokes, contador de CPS, crosshair personalizado, FPS Boost y barra de salud. // @author TuNombre // @match https://*.bloxd.io/* // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Configuración inicial const config = { hitboxes: false, customCrosshair: false, fpsBoost: true, // FPS Boost activado healthBar: false, keystrokes: true, // Keystrokes activado por defecto cpsCounter: true, // CPS activado por defecto keystrokeColor: '#00ff00', // Color de keystrokes keystrokeBackgroundColor: '#333333', // Fondo predeterminado de las teclas healthBarColor: '#ff0000', // Color de la barra de salud keystrokeSize: '50px', // Tamaño de las teclas keystrokeFontSize: '25px', // Tamaño de fuente para las letras en las teclas keystrokeBorderColor: '#ffffff', // Color del borde (no editable) }; // Crear el contenedor de Keystrokes y CPS const keystrokesContainer = document.createElement('div'); keystrokesContainer.id = 'keystrokes'; keystrokesContainer.style.position = 'fixed'; keystrokesContainer.style.bottom = '100px'; keystrokesContainer.style.left = '10px'; keystrokesContainer.style.zIndex = '10000'; keystrokesContainer.style.fontFamily = 'Arial, sans-serif'; keystrokesContainer.style.color = 'white'; keystrokesContainer.style.display = config.keystrokes ? 'block' : 'none'; keystrokesContainer.style.textAlign = 'center'; keystrokesContainer.style.cursor = 'move'; keystrokesContainer.innerHTML = `
W
A
S
D
Shift
Space
LMB CPS: 0
RMB CPS: 0
`; document.body.appendChild(keystrokesContainer); // Variables para el manejo de clics let lastLeftClickTime = 0; let lastRightClickTime = 0; const clickCooldown = 1; // 1ms de espera entre clics let leftClickCount = 0; let rightClickCount = 0; // Actualizar los CPS cada milisegundo setInterval(() => { document.getElementById('leftCPS').textContent = `LMB CPS: ${leftClickCount}`; document.getElementById('rightCPS').textContent = `RMB CPS: ${rightClickCount}`; leftClickCount = 0; rightClickCount = 0; }, 100); // Se actualiza cada 100ms para reflejar un retraso leve antes de resetear el contador // Función para manejar los clics y contar los CPS document.addEventListener('mousedown', (e) => { const currentTime = Date.now(); if (e.button === 0 && currentTime - lastLeftClickTime > clickCooldown) { lastLeftClickTime = currentTime; setTimeout(() => leftClickCount++, 10); // Retraso de 10ms para que el contador no se reinicie inmediatamente } if (e.button === 2 && currentTime - lastRightClickTime > clickCooldown) { lastRightClickTime = currentTime; setTimeout(() => rightClickCount++, 10); // Retraso de 10ms para que el contador no se reinicie inmediatamente } }); // Actualizar los keystrokes al presionar teclas document.addEventListener('keydown', (e) => { const keyElement = document.getElementById(`key-${e.key}`); if (keyElement) { keyElement.style.background = '#00ff00'; // Color configurable cuando está presionado } }); document.addEventListener('keyup', (e) => { const keyElement = document.getElementById(`key-${e.key}`); if (keyElement) { keyElement.style.background = '#333333'; // Color de fondo predeterminado cuando se suelta } }); // Menú para activar/desactivar funcionalidades const menu = document.createElement('div'); menu.style.position = 'fixed'; menu.style.top = '50px'; menu.style.left = '50px'; menu.style.backgroundColor = '#000'; menu.style.color = '#fff'; menu.style.padding = '10px'; menu.style.border = '2px solid #fff'; menu.style.borderRadius = '5px'; menu.style.zIndex = '10001'; menu.style.display = 'none'; menu.style.fontFamily = 'Arial, sans-serif'; menu.innerHTML = `

Cube Client - Configuración







`; document.body.appendChild(menu); // Función para abrir/cerrar el menú con Shift izquierdo document.addEventListener('keydown', (e) => { if (e.key === 'Shift') { menu.style.display = menu.style.display === 'none' ? 'block' : 'none'; } }); // Función para cerrar el menú document.getElementById('closeMenu').addEventListener('click', () => { menu.style.display = 'none'; }); // Función para activar/desactivar modo de edición de posiciones let isEditing = false; document.getElementById('pencilButton').addEventListener('click', () => { isEditing = !isEditing; if (isEditing) { menu.style.display = 'none'; alert('Modo de edición activado. Mueve los elementos.'); } else { alert('Modo de edición desactivado. Posiciones guardadas.'); } }); // Función para guardar las posiciones document.getElementById('editPositions').addEventListener('click', () => { // Aquí podrías agregar la lógica para editar posiciones. alert('Posiciones editadas y guardadas!'); }); // Habilitar FPS Boost if (config.fpsBoost) { let originalRequestAnimationFrame = window.requestAnimationFrame; window.requestAnimationFrame = function(callback) { setTimeout(callback, 0); // Desactiva cualquier retraso de renderizado }; } })();