您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
XP Free
当前为
// ==UserScript== // @name XP Involker // @namespace http://tampermonkey.net/ // @version 1.3 // @description XP Free // @author MrBonkeiro // @match https://bonk.io/ // @icon https://www.google.com/s2/favicons?sz=64&domain=bonk.io // @grant none // ==/UserScript== function getBonk() { const iframe = document.getElementById('maingameframe'); if (!iframe) { console.error('[MrMenu] Iframe not found'); return null; } const iframeDoc = iframe.contentDocument || iframe.contentWindow.document; if (!iframeDoc) { console.error('[MrMenu] Iframe document not found'); return null; } return iframeDoc; } function isRoom() { const bonkDoc = getBonk(); if (!bonkDoc) return false; const element = bonkDoc.getElementById('gamerenderer'); if (element) { return window.getComputedStyle(element).visibility === 'inherit'; } return false; } function Init() { let getWS; let timer = null; let deletePressed = false; function XP() { if (isRoom && getWS != null) { getWS.send('42[38]');} console.log('42[38]'); } function handleDeleteKey(event) { if (event.key === "Delete"|| event.key === "L" || event.key === "l") { if (!deletePressed) { deletePressed = true; timer = setInterval(XP, 6000); getBonk().getElementById('xpbarfill').style.backgroundColor = 'lightgreen'; } else { clearInterval(timer); deletePressed = false; getBonk().getElementById('xpbarfill').style.backgroundColor = '#473aaf'; } } } getBonk().addEventListener("keydown", handleDeleteKey); const originalSend = getBonk().defaultView.WebSocket.prototype.send; getBonk().defaultView.WebSocket.prototype.send = function (...args) { if (this.url.includes('socket.io')) { getWS = this; const originalOnMessage = this.onmessage; this.onmessage = function (msg) { return originalOnMessage.call(this, msg); }; const originalOnClose = this.onclose; this.onclose = function () { getWS = null; return originalOnClose.call(this); }; } return originalSend.apply(this, args); }; } function ScriptInjector(f) { if (window.location === window.parent.location) { if (document.readyState === 'complete') { setTimeout(f, 1200); } else { document.addEventListener('readystatechange', function () { setTimeout(f, 3500); }); } } } ScriptInjector(Init);