您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
sad emoji :(
当前为
// ==UserScript== // @name Sandbox hacks without wasm Hook!!! // @namespace http://tampermonkey.net/ // @version 0.1 // @description sad emoji :( // @author MI300#4401 // @match https://diep.io/ // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @license MIT // ==/UserScript== var x; var y; var angle = 0 var inUpgrade = false; var effective = false; var frameRequest; var canvas = window.document.getElementById("canvas"); var mouseX; var mouseY; var artificialMouseMove = false; var disabled = false; var guiX; var guiY; function onMouseMove(e){ guiX = e.clientX; guiY = e.clientY; if(effective){ if(!artificialMouseMove){ e.stopPropagation(); mouseX = e.clientX; mouseY = e.clientY; } }else{ mouseX = e.clientX; mouseY = e.clientY; } } function update(_a){ frameRequest = window.requestAnimationFrame(update); if(effective){ console.log(angle)//0.7853981633974483 45 degrees Math.PI 2.356194490192345 135 degrees if (!inUpgrade) { var cx = window.innerWidth / 2; var cy = window.innerHeight / 2; var sin = Math.sin(angle); var cos = Math.cos(angle); x = mouseX - cx; y = mouseY - cy; var _x = cos * x - sin * y; var _y = sin * x + cos * y; x = _x + cx; y = _y + cy; } artificialMouseMove = true; canvas.dispatchEvent(new MouseEvent("mousemove", {clientX: x, clientY: y})); artificialMouseMove = false; } } window.addEventListener("mousemove", onMouseMove, true); frameRequest = window.requestAnimationFrame(update); var modes = ['Gunner Trapper', 'Deathstar', 'Tri-Flank', 'TwinTriplet']; var pos = 0; var currentMode = 'Gunner Trapper'; function changeMode(){ pos = pos + 1; currentMode = modes[Math.abs(pos) % modes.length]; } var currentTank = ''; var isActive = false; var currentXY = [0, 0]; CanvasRenderingContext2D.prototype.fillText = new Proxy(CanvasRenderingContext2D.prototype.fillText, { apply(fillRect, ctx, [text, x, y, ...blah]) { if (text.startsWith('Gunner Trapper')){ currentXY = [x, y]}; fillRect.call(ctx, text, x, y, ...blah); } }); function mainLoop() { if (!isActive) return; if (currentMode == 'Gunner Trapper') { if (currentTank.includes('Trapper')) { angle = Math.PI setTimeout(()=>{input.keyDown(67); input.keyUp(67)},10); setTimeout(()=>{angle = 0},20); setTimeout(()=>{inUpgrade = true},24); setTimeout(()=>{x = 150},26); setTimeout(()=>{y = 100},26); setTimeout(()=>{canvas.dispatchEvent(new MouseEvent("mousedown", {clientX: 150, clientY: 100}))},30); setTimeout(()=>{canvas.dispatchEvent(new MouseEvent("mouseup", {clientX: 150, clientY: 100}))},30); setTimeout(()=>{inUpgrade = false},100); setTimeout(()=>{angle = 0},110); setTimeout(()=>{input.keyDown(67); input.keyUp(67)},120); } setTimeout(() => { if (currentTank.includes('Gunner Trapper')) input.keyDown(220); input.keyUp(220); },170); } else if (currentMode == 'Deathstar') { if (currentTank.includes('Quad Tank')) { inUpgrade = true; input.keyDown(67); input.keyUp(67); x = 45; y = 100; canvas.dispatchEvent(new MouseEvent("mousedown", {clientX: x, clientY: y})); canvas.dispatchEvent(new MouseEvent("mouseup", {clientX: x, clientY: y})); setTimeout(()=>{ x = mouseX y = mouseY input.keyDown(67); input.keyUp(67); inUpgrade = false; }, 20); } setTimeout(() => { if (currentTank.includes('Octo Tank')) input.keyDown(220); input.keyUp(220); },150); } else if (currentMode == 'Tri-Flank') { if (currentTank.includes('Flank Guard')) { inUpgrade = true; input.keyDown(67); input.keyUp(67); x = 45; y = 100; canvas.dispatchEvent(new MouseEvent("mousedown", {clientX: x, clientY: y})); canvas.dispatchEvent(new MouseEvent("mouseup", {clientX: x, clientY: y})); setTimeout(()=>{ x = mouseX y = mouseY input.keyDown(67); input.keyUp(67); inUpgrade = false; }, 20); } setTimeout(() => { if (currentTank.includes('Tri-Angle')) input.keyDown(220); input.keyUp(220); },150); } else if (currentMode == 'TwinTriplet') { if(currentTank.includes('Triple Twin')) return; // make sure the thing doesn't do anything at triple twin if (currentTank.includes('Triplet')) { setTimeout(()=>{input.keyDown(220); input.keyUp(220)},50); } if (currentTank.includes('Twin')) { setTimeout(()=>{ inUpgrade = true; input.keyDown(67); input.keyUp(67); x = 45; y = 100; canvas.dispatchEvent(new MouseEvent("mousedown", {clientX: x, clientY: y})); canvas.dispatchEvent(new MouseEvent("mouseup", {clientX: x, clientY: y})); setTimeout(()=>{ x = mouseX y = mouseY input.keyDown(67); input.keyUp(67); inUpgrade = false; }, 20); },200); } setTimeout(()=>{ if (currentTank.includes('Triple Shot')) input.keyDown(220); input.keyUp(220); },325); } else if (currentMode == 'Bomber') { if (currentTank.includes('Machine Gun')) { // upgrade } if (currentTank.includes('Destroyer')) { // switch tank } } } document.addEventListener('keydown', (kc) => { effective = true; if (kc.keyCode == 88) isActive = !isActive; if (kc.keyCode == 80) changeMode(); }); CanvasRenderingContext2D.prototype.fillText = new Proxy(CanvasRenderingContext2D.prototype.fillText, { apply(fillRect, ctx, [text, x, y, ...blah]) { if (text.startsWith('Lvl ')){ currentTank = text} fillRect.call(ctx, text, x, y, ...blah); } }); setInterval(mainLoop, 500); const ctx = canvas.getContext("2d"); setTimeout(() => { let gui = () => { ctx.fillStyle = "dark blue"; ctx.lineWidth = 4; ctx.font = 1 + "em Ubuntu"; ctx.strokeStyle = "blue"; ctx.strokeText('Current Mode: ' + currentMode, 100, 300); ctx.fillText('Current Mode: ' + currentMode, 100, 300); window.requestAnimationFrame(gui); } gui(); setInterval(gui,1000) }, 1000);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址