您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Spam Left (Q) and Right (X) Wing Dashes in GoBattle.io
// ==UserScript== // @name GoBattle.io Wing Dash Spam // @namespace http://tampermonkey.net/ // @version 1.1 // @description Spam Left (Q) and Right (X) Wing Dashes in GoBattle.io // @author GoBattle Hacks Official (Nightwave) // @match *://gobattle.io/* // @match *://*.gobattle.io/* // @icon https://gobattle.io/favicon.ico // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // ====== KEYBINDS ====== const dash_left_button = "q"; const dash_right_button = "x"; const dash_frequency = 150; let dashLeftInterval = null; let dashRightInterval = null; let textfield = null; function getTextField() { if (!textfield) { textfield = document.getElementById("shinobit-textfield"); } return textfield; } function tapKey(key, code, keyCode) { const eventOptionsDown = { key: key, code: code, keyCode: keyCode, which: keyCode, location: 0, repeat: false, bubbles: true }; const eventOptionsUp = { ...eventOptionsDown }; document.dispatchEvent(new KeyboardEvent("keydown", eventOptionsDown)); document.dispatchEvent(new KeyboardEvent("keyup", eventOptionsUp)); } // ====== WING DASHES ====== function dashLeft() { tapKey("c", "KeyC", 67); tapKey("w", "KeyW", 87); tapKey("a", "KeyA", 65); tapKey("a", "KeyA", 65); } function dashRight() { tapKey("c", "KeyC", 67); tapKey("w", "KeyW", 87); tapKey("d", "KeyD", 68); tapKey("d", "KeyD", 68); } // ====== EVENT LISTENERS ====== document.addEventListener("keydown", event => { const currentTextField = getTextField(); if (currentTextField === document.activeElement) return; switch(event.key) { case dash_left_button: if (!dashLeftInterval) { dashLeft(); dashLeftInterval = setInterval(dashLeft, dash_frequency); } break; case dash_right_button: if (!dashRightInterval) { dashRight(); dashRightInterval = setInterval(dashRight, dash_frequency); } break; } }); document.addEventListener("keyup", event => { const currentTextField = getTextField(); if (currentTextField === document.activeElement) return; switch(event.key) { case dash_left_button: clearInterval(dashLeftInterval); dashLeftInterval = null; break; case dash_right_button: clearInterval(dashRightInterval); dashRightInterval = null; break; } }); })();