// ==UserScript== // @name Multibox script UPDATED // @namespace http://tampermonkey.net/ // @version 3 // @description multibox after 2023 patch // @author Mi300#4401 // @match https://diep.io/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @license dont copy pls thx // @grant GM_getValue // @grant GM_setValue // @downloadURL none // ==/UserScript== let WTF = setInterval (function() { if (!document.querySelector('d-base').shadowRoot.children[0].shadowRoot.getElementById('username-input')) { return; } clearInterval (WTF) const p = CanvasRenderingContext2D.prototype const _fill = p.fill, _beginPath = p.beginPath, _lineTo = p.lineTo, _moveTo = p.moveTo, _getGamepads = window.navigator.getGamepads, _strokeRect = p.strokeRect, _toString = Function.prototype.toString; let fill, beginPath, lineTo, moveTo, getGamepads, strokeRect; let canRespawn = false; let worldPosition = [0, 0]; let overlay; let mouseOffset = [0, 0]; let gui = true; let test = 1; let gamepadConnected = false; let gamepadAxes = [0, 0, 0, 0] let gamepadButtons = [ ...Array(17)].map((x) => { return { pressed: false }; }); const fetchGamepad = () => { return { axes: gamepadAxes, buttons: gamepadButtons, mapping: 'standard', } } getGamepads = function(...args) { if (gamepadConnected) { return [fetchGamepad()] } return false; } let cameraZoom = 0.5; const canvas = document.getElementById ('canvas'); let dgg = 'i'; function hookMinimapArrow () { let drawInstructions = 0; let minimapArrowVertex = []; beginPath = function(...args) { drawInstructions = 1; minimapArrowVertex = []; _beginPath.call(this, ...args); } moveTo = function(...args) { drawInstructions = 2; minimapArrowVertex.push (args); _moveTo.call(this, ...args) } lineTo = function(...args) { if (drawInstructions >= 2 && drawInstructions <= 5) { drawInstructions ++; minimapArrowVertex.push (args); } else { drawInstructions = 0; } _lineTo.call(this, ...args) } fill = function(...args) { if (this.globalAlpha != 1) { _fill.call(this, ...args) return; } if (this.fillStyle != '#000000') { _fill.call(this, ...args) return; } if (drawInstructions === 4) { const pos = getAverage (minimapArrowVertex); worldPosition = getWorldPosition (pos); } _fill.call(this, ...args) } } let minimapPosition = [0, 0]; let minimapDim = [0, 0]; function hookMinimap () { strokeRect = function(...args) { const transform = this.getTransform (); minimapPosition = [transform.e, transform.f]; minimapDim = [transform.a, transform.d]; _strokeRect.call(this, ...args) } } function getWorldPosition (position) { const ret = [ parseFloat((((position[0] - minimapPosition[0] - minimapDim[0] / 2) / minimapDim[0] * 100) * 460).toFixed (3)), parseFloat((((position[1] - minimapPosition[1] - minimapDim[1] / 2) / minimapDim[1] * 100) * 460).toFixed (3)), ] return ret; } const Mi = ''; function getAverage (points) { let ret = [0, 0]; points.forEach (point => { ret[0] += point[0]; ret[1] += point[1]; }); ret[0] /= points.length; ret[1] /= points.length; return ret; } let dgh = 'M'; const getDist = (t1, t2) => { const distX = t1[0] - t2[0]; const distY = t1[1] - t2[1]; return [Math.hypot(distX, distY), distX, distY]; }; function moveBot () { input.execute('game_stats_build 565656565656567878787878784478422') const dangerRadius = Boolean(parseInt(localStorage.followCursor)) ? 750 : 250 gamepadButtons[7].pressed = Boolean(parseInt(localStorage.autoShoot)) if (Boolean(parseInt(localStorage.autoRespawn))) { if (canRespawn) { input.try_spawn (localStorage.name) } } if (input.should_prevent_unload()) { canRespawn = true; } let masterMouse = GM_getValue('multiboxMouse'); let masterMove = GM_getValue ('multiboxWorld'); if (Boolean(parseInt(localStorage.followCursor))) { masterMove = masterMouse; } const distanceMouse = getDist (masterMouse, worldPosition); const distanceMove = getDist (masterMove, worldPosition); if (!masterMouse[0] || !masterMouse[1] || !masterMove[0] || !masterMove[1]) { return; } if (Boolean(parseInt(localStorage.copyMovement))) { gamepadAxes[0] = masterMove[0] + distanceMove[1] * 100; gamepadAxes[1] = masterMove[1] + distanceMove[2] * 100; } else { gamepadAxes[0] = worldPosition[0]; gamepadAxes[1] = worldPosition[1]; } gamepadAxes[2] = masterMouse[0] + distanceMouse[1] * 100; gamepadAxes[3] = masterMouse[1] + distanceMouse[2] * 100; gamepadConnected = true; } function frame () { overlay.innerHTML = `