您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Mouse-following auto clicker with both smooth and burst modes. Max CPS 10,000. Toggle with Q.
// ==UserScript== // @name Mouse-Follow Auto Clicker (Smooth + Burst, Max 10k CPS) // @namespace http://tampermonkey.net/ // @version 8.0 // @description Mouse-following auto clicker with both smooth and burst modes. Max CPS 10,000. Toggle with Q. // @author LigHT (modified by TheHackerClient and gpt) // @match *://*/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; let running = false; let cps = 100; let smoothInterval = null; let burstInterval = null; let lastMouseX = 0, lastMouseY = 0; // Track mouse document.addEventListener("mousemove", e => { lastMouseX = e.clientX; lastMouseY = e.clientY; }); // Toggle with Q document.addEventListener("keyup", function(evt) { if (evt.key.toLowerCase() === "q") { if (!running) { // Turn ON running = true; let inp = prompt("Enter CPS (1–10000, default 100):", cps); if (!isNaN(inp) && inp.trim().length > 0) { inp = parseInt(inp); if (inp > 10000) cps = 10000; else if (inp < 1) cps = 1; else cps = inp; } alert(`Auto Clicker started at ${cps} CPS. Press Q again to stop.`); // --- Smooth clicks (evenly spaced) --- let smoothIntervalMs = 1000 / cps; smoothInterval = setInterval(() => { simulateClick(lastMouseX, lastMouseY); }, smoothIntervalMs); // --- Burst clicks (chunked every 100ms) --- burstInterval = setInterval(() => { let clicksPerBurst = Math.ceil(cps / 10); for (let i = 0; i < clicksPerBurst; i++) { simulateClick(lastMouseX, lastMouseY); } }, 100); } else { // Turn OFF running = false; clearInterval(smoothInterval); clearInterval(burstInterval); alert("Auto Clicker stopped."); } } }); function simulateClick(x, y) { let el = document.elementFromPoint(x, y); if (!el) return; let ev = new MouseEvent("click", { view: window, bubbles: true, cancelable: true, clientX: x, clientY: y }); el.dispatchEvent(ev); } })();