您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
GUI for miniblox.io with FPS display, cursor changer, FPS unlocker, auto sprint, autoclicker, constant auto bunny hop, and ESP overlays. Right Shift toggles the GUI.
// ==UserScript== // @name Miniblox.io GUI // @namespace http://tampermonkey.net/ // @version 2.0.4-clean // @description GUI for miniblox.io with FPS display, cursor changer, FPS unlocker, auto sprint, autoclicker, constant auto bunny hop, and ESP overlays. Right Shift toggles the GUI. // @match https://miniblox.io/* // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; function createButton(text) { const btn = document.createElement('button'); btn.textContent = text; btn.style.background = "linear-gradient(45deg, #6a11cb, #2575fc)"; btn.style.border = "none"; btn.style.borderRadius = "4px"; btn.style.padding = "8px 12px"; btn.style.color = "#fff"; btn.style.cursor = "pointer"; btn.style.margin = "5px 0"; btn.style.transition = "background 0.2s ease"; btn.addEventListener('mouseover', () => { btn.style.background = "linear-gradient(45deg, #2575fc, #6a11cb)"; }); btn.addEventListener('mouseout', () => { btn.style.background = "linear-gradient(45deg, #6a11cb, #2575fc)"; }); return btn; } if (!document.body) return; const guiContainer = document.createElement('div'); guiContainer.id = "customGuiContainer"; guiContainer.style.position = "fixed"; guiContainer.style.top = "10px"; guiContainer.style.right = "10px"; guiContainer.style.width = "280px"; guiContainer.style.height = "380px"; guiContainer.style.minWidth = "150px"; guiContainer.style.minHeight = "150px"; guiContainer.style.background = "rgba(20,20,20,0.8)"; guiContainer.style.backdropFilter = "blur(8px)"; guiContainer.style.border = "1px solid rgba(255,255,255,0.2)"; guiContainer.style.borderRadius = "10px"; guiContainer.style.boxShadow = "0 6px 12px rgba(0,0,0,0.5)"; guiContainer.style.fontFamily = "'Segoe UI', Tahoma, Geneva, Verdana, sans-serif"; guiContainer.style.color = "#fff"; guiContainer.style.padding = "15px"; guiContainer.style.overflow = "auto"; guiContainer.style.transition = "all 0.3s ease"; guiContainer.style.zIndex = "100000"; document.body.appendChild(guiContainer); const header = document.createElement('div'); header.textContent = "Miniblox.io GUI"; header.style.cursor = "move"; header.style.background = "rgba(255,255,255,0.1)"; header.style.padding = "10px"; header.style.borderRadius = "6px"; header.style.fontWeight = "bold"; header.style.fontSize = "16px"; header.style.textAlign = "center"; header.style.marginBottom = "15px"; guiContainer.appendChild(header); header.addEventListener('mousedown', startDrag); function startDrag(e) { e.preventDefault(); let startX = e.clientX, startY = e.clientY; const rect = guiContainer.getBoundingClientRect(); const offsetX = startX - rect.left, offsetY = startY - rect.top; function onMouseMove(e) { guiContainer.style.left = (e.clientX - offsetX) + "px"; guiContainer.style.top = (e.clientY - offsetY) + "px"; guiContainer.style.right = "auto"; } function onMouseUp() { document.removeEventListener('mousemove', onMouseMove); document.removeEventListener('mouseup', onMouseUp); } document.addEventListener('mousemove', onMouseMove); document.addEventListener('mouseup', onMouseUp); } const resizeHandle = document.createElement('div'); resizeHandle.style.width = "15px"; resizeHandle.style.height = "15px"; resizeHandle.style.background = "rgba(255,255,255,0.4)"; resizeHandle.style.position = "absolute"; resizeHandle.style.right = "5px"; resizeHandle.style.bottom = "5px"; resizeHandle.style.cursor = "se-resize"; resizeHandle.style.borderRadius = "3px"; guiContainer.appendChild(resizeHandle); resizeHandle.addEventListener('mousedown', startResize); function startResize(e) { e.preventDefault(); e.stopPropagation(); let startX = e.clientX, startY = e.clientY; const startWidth = guiContainer.offsetWidth, startHeight = guiContainer.offsetHeight; function onMouseMove(e) { let newWidth = startWidth + (e.clientX - startX); let newHeight = startHeight + (e.clientY - startY); if(newWidth < 150) newWidth = 150; if(newHeight < 150) newHeight = 150; guiContainer.style.width = newWidth + "px"; guiContainer.style.height = newHeight + "px"; } function onMouseUp() { document.removeEventListener('mousemove', onMouseMove); document.removeEventListener('mouseup', onMouseUp); } document.addEventListener('mousemove', onMouseMove); document.addEventListener('mouseup', onMouseUp); } const content = document.createElement('div'); content.style.fontSize = "14px"; guiContainer.appendChild(content); const fpsDisplay = document.createElement('div'); fpsDisplay.textContent = "FPS: Calculating..."; fpsDisplay.style.marginBottom = "10px"; content.appendChild(fpsDisplay); let lastFrameTime = performance.now(), frameCount = 0; function updateFPS() { const now = performance.now(); frameCount++; if (now - lastFrameTime >= 1000) { fpsDisplay.textContent = "FPS: " + frameCount; frameCount = 0; lastFrameTime = now; } requestAnimationFrame(updateFPS); } requestAnimationFrame(updateFPS); const cursorLabel = document.createElement('label'); cursorLabel.textContent = "Cursor URL:"; content.appendChild(cursorLabel); const cursorInput = document.createElement('input'); cursorInput.type = "text"; cursorInput.placeholder = "Paste image URL here"; cursorInput.style.width = "100%"; cursorInput.style.margin = "5px 0 10px 0"; cursorInput.style.padding = "6px"; cursorInput.style.borderRadius = "4px"; cursorInput.style.border = "1px solid #ccc"; content.appendChild(cursorInput); const setCursorButton = createButton("Set Cursor"); setCursorButton.addEventListener('click', function() { const url = cursorInput.value.trim(); if(url) { document.body.style.cursor = `url(${url}), auto`; } else { alert("Please enter a valid URL"); } }); content.appendChild(setCursorButton); const resetCursorButton = createButton("Reset Cursor"); resetCursorButton.style.marginLeft = "5px"; resetCursorButton.addEventListener('click', function() { document.body.style.cursor = "auto"; cursorInput.value = ""; }); content.appendChild(resetCursorButton); const fpsUnlockerLabel = document.createElement('div'); fpsUnlockerLabel.textContent = "FPS Unlocker:"; fpsUnlockerLabel.style.marginTop = "15px"; content.appendChild(fpsUnlockerLabel); const fpsUnlockerToggle = createButton("Enable FPS Unlocker"); content.appendChild(fpsUnlockerToggle); let fpsUnlockerEnabled = false; const originalRAF = window.requestAnimationFrame; fpsUnlockerToggle.addEventListener('click', function() { fpsUnlockerEnabled = !fpsUnlockerEnabled; if(fpsUnlockerEnabled) { fpsUnlockerToggle.textContent = "Disable FPS Unlocker"; window.requestAnimationFrame = function(callback) { return setTimeout(function() { callback(performance.now()); }, 0); }; } else { fpsUnlockerToggle.textContent = "Enable FPS Unlocker"; window.requestAnimationFrame = originalRAF; } }); const autoSprintLabel = document.createElement('div'); autoSprintLabel.textContent = "Auto Sprint:"; autoSprintLabel.style.marginTop = "15px"; content.appendChild(autoSprintLabel); const autoSprintToggle = createButton("Enable Auto Sprint"); content.appendChild(autoSprintToggle); let autoSprintEnabled = false, autoSprintInterval = null; autoSprintToggle.addEventListener('click', function() { autoSprintEnabled = !autoSprintEnabled; if(autoSprintEnabled) { autoSprintToggle.textContent = "Disable Auto Sprint"; autoSprintInterval = setInterval(function() { const event = new KeyboardEvent('keydown', { key: 'Shift', code: 'ShiftLeft', keyCode: 16, bubbles: true }); document.dispatchEvent(event); }, 100); } else { autoSprintToggle.textContent = "Enable Auto Sprint"; clearInterval(autoSprintInterval); const event = new KeyboardEvent('keyup', { key: 'Shift', code: 'ShiftLeft', keyCode: 16, bubbles: true }); document.dispatchEvent(event); } }); const autoclickerLabel = document.createElement('div'); autoclickerLabel.textContent = "Autoclicker:"; autoclickerLabel.style.marginTop = "15px"; content.appendChild(autoclickerLabel); const autoclickerToggle = createButton("Enable Autoclicker"); content.appendChild(autoclickerToggle); let autoclickerEnabled = false; autoclickerToggle.addEventListener('click', function() { autoclickerEnabled = !autoclickerEnabled; if (autoclickerEnabled) { autoclickerToggle.textContent = "Disable Autoclicker"; autoClicker(); } else { autoclickerToggle.textContent = "Enable Autoclicker"; } }); function autoClicker() { if (!autoclickerEnabled) return; const canvas = document.querySelector('canvas'); if (canvas) { const mousedownEvent = new MouseEvent('mousedown', { bubbles: true, cancelable: true, view: window }); canvas.dispatchEvent(mousedownEvent); setTimeout(() => { const mouseupEvent = new MouseEvent('mouseup', { bubbles: true, cancelable: true, view: window }); canvas.dispatchEvent(mouseupEvent); }, 20); } const randomDelay = Math.random() * (150 - 80) + 80; setTimeout(autoClicker, randomDelay); } const bunnyHopLabel = document.createElement('div'); bunnyHopLabel.textContent = "Auto Bunny Hop:"; bunnyHopLabel.style.marginTop = "15px"; content.appendChild(bunnyHopLabel); const bunnyHopToggle = createButton("Enable Auto Bunny Hop"); content.appendChild(bunnyHopToggle); let autoBunnyHopEnabled = false; let bunnyHopInterval = null; bunnyHopToggle.addEventListener('click', function() { autoBunnyHopEnabled = !autoBunnyHopEnabled; if (autoBunnyHopEnabled) { bunnyHopToggle.textContent = "Disable Auto Bunny Hop"; bunnyHopInterval = setInterval(() => { const jumpKeyDown = new KeyboardEvent('keydown', { key: ' ', code: 'Space', keyCode: 32, bubbles: true }); document.dispatchEvent(jumpKeyDown); setTimeout(() => { const jumpKeyUp = new KeyboardEvent('keyup', { key: ' ', code: 'Space', keyCode: 32, bubbles: true }); document.dispatchEvent(jumpKeyUp); }, 20); }, 50); } else { bunnyHopToggle.textContent = "Enable Auto Bunny Hop"; clearInterval(bunnyHopInterval); } }); const espLabel = document.createElement('div'); espLabel.textContent = "ESP:"; espLabel.style.marginTop = "15px"; content.appendChild(espLabel); const espToggle = createButton("Enable ESP"); content.appendChild(espToggle); let espEnabled = false; espToggle.addEventListener('click', function() { espEnabled = !espEnabled; if (espEnabled) { espToggle.textContent = "Disable ESP"; updateESP(); } else { espToggle.textContent = "Enable ESP"; document.querySelectorAll('.esp-overlay').forEach(el => el.remove()); } }); function updateESP() { if (!espEnabled) return; document.querySelectorAll('.esp-overlay').forEach(el => el.remove()); const enemies = document.querySelectorAll('.player'); enemies.forEach(enemy => { const rect = enemy.getBoundingClientRect(); if (rect.width && rect.height) { const overlay = document.createElement('div'); overlay.className = "esp-overlay"; overlay.style.position = "fixed"; overlay.style.left = rect.left + "px"; overlay.style.top = rect.top + "px"; overlay.style.width = rect.width + "px"; overlay.style.height = rect.height + "px"; overlay.style.border = "2px solid lime"; overlay.style.zIndex = "1000000"; overlay.style.pointerEvents = "none"; document.body.appendChild(overlay); } }); requestAnimationFrame(updateESP); } document.addEventListener('keydown', function(e) { if (e.code === 'ShiftRight') { guiContainer.style.display = (guiContainer.style.display === 'none') ? 'block' : 'none'; } }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址