返回首頁 

Greasy Fork is available in English.

DigDig.IO Tag Bot

A simple bot that tags people in digdig.io


Installer dette script?
// ==UserScript==// @name         DigDig.IO Tag Bot// @namespace    https://tampermonkey.net/// @version      0.0.1// @description  A simple bot that tags people in digdig.io// @author       Zertalious (Zert)// @match        *://digdig.io/*// @icon         https://www.google.com/s2/favicons?domain=digdig.io// @grant        none// @run-at       document-end// ==/UserScript==let inDeathScreen = false;let health = 0;const healthX = [];let border = null;let waitingText;let isWaiting = false;let seekerText, hiderText;let isSeeker = false;const hiders = [];let angle = 0;let lastTime = 0;let canBoost = true;let isRunning = true;Object.defineProperty( window, 'localStorage', {value: new Proxy( window.localStorage, {get( target, prop, receiver ) {if ( prop === 'digdig_gamemode' ) {return '2';}return Reflect.get( ...arguments );}} )} );window.requestAnimationFrame = new Proxy( window.requestAnimationFrame, {apply( target, thisArgs, args ) {if ( isRunning === true ) {args[ 0 ] = new Proxy( args[ 0 ], {apply( target, thisArgs, args ) {inDeathScreen = false;health = 0;isWaiting = false;hiders.length = 0;healthX.length = 0;health = 0;border = null;Reflect.apply( ...arguments );if ( inDeathScreen === true || health <= 0 ) {pressEnter();console.log( 'spam enter' );return;}if ( isWaiting === true ) {return;}if ( isSeeker === false ) {cp6.disconnect();return;}if ( health <= 0.05 ) {canBoost = false;setAttack( false );} else if ( health > 0.15 ) {canBoost = true;}if ( hiders.length > 0 ) {const [ x, y ] = hiders[ 0 ];setAttack( canBoost );angle = Math.atan2( y - window.innerHeight / 2, x - window.innerWidth / 2 );mouseMove( x, y );lastTime = Date.now() + 5000;return;}setAttack( false );const now = Date.now();if ( now - lastTime > 1000 ) {angle += ( Math.random() * 2 - 1 ) * Math.PI / 4;lastTime = now;}if ( border !== null ) {const x = border[ 0 ] - window.innerWidth / 2;const y = border[ 1 ] - window.innerHeight / 2;if ( Math.hypot( x, y ) > border[ 2 ] - 500 ) {angle = Math.atan2( y, x );}}mouseMove(( Math.cos( angle ) * 0.5 + 0.5 ) * window.innerWidth,( Math.sin( angle ) * 0.5 + 0.5 ) * window.innerHeight);}} );}return Reflect.apply( ...arguments );}} );const Context = CanvasRenderingContext2D.prototype;Context.arc = new Proxy( Context.arc, {apply( target, thisArgs, [ x, y, r ] ) {if ( r === 25 ) {if ( thisArgs.fillStyle === '#6096b5' ) {const { e, f } = thisArgs.getTransform();if ( Math.hypot( e - window.innerWidth, f - window.innerHeight ) > 10 ) {hiders.push( [ e, f ] );}}} else if ( thisArgs.fillStyle === '#222222' && x !== 0 && y !== 0 ) {border = [ x, y, r ];}return Reflect.apply( ...arguments );}} );const params = {apply( target, thisArgs, [ x ] ) {healthX[ target.name === 'moveTo' ? 0 : 1 ] = x;return Reflect.apply( ...arguments );}};Context.moveTo = new Proxy( Context.moveTo, params );Context.lineTo = new Proxy( Context.lineTo, params );Context.stroke = new Proxy( Context.stroke, {apply( target, thisArgs, args ) {if ( thisArgs.strokeStyle === '#75dd34' ) {health = ( healthX[ 0 ] - healthX[ 1 ] ) / ( 2 * healthX[ 0 ] );}return Reflect.apply( ...arguments );}} );const OffscreenContext = typeof OffscreenCanvasRenderingContext2D !== 'undefined' ?OffscreenCanvasRenderingContext2D.prototype : Context;OffscreenContext.fillRect = new Proxy( OffscreenContext.fillRect, {apply( target, thisArgs, args ) {if ( thisArgs.fillStyle === '#000000' ) {inDeathScreen = true;}return Reflect.apply( ...arguments );}} );OffscreenContext.fillText = new Proxy( OffscreenContext.fillText, {apply( target, { canvas }, [ text ] ) {if ( text.indexOf( 'Starting in' ) > - 1 && text.indexOf( 'Waiting for' ) > - 1 ) {waitingText = canvas;} else if ( text.indexOf( 'You are a seeker' ) > - 1 ) {seekerText = canvas;} else if ( text.indexOf( 'You are a hider' ) > - 1 ) {hiderText = canvas;}return Reflect.apply( ...arguments );}} );OffscreenContext.drawImage = new Proxy( OffscreenContext.drawImage, {apply( target, thisArgs, [ image ] ) {switch ( image ) {case waitingText : isWaiting = true; break;case seekerText : isSeeker = true; break;case hiderText : isSeeker = false; break;}return Reflect.apply( ...arguments );}} );function pressEnter() {keyEvent( 'keydown', 13 );keyEvent( 'keyup', 13 );}function setAttack( bool ) {keyEvent( bool !== false ? 'keydown' : 'keyup', 32 );}function setHeal( bool ) {keyEvent( bool !== false ? 'keydown' : 'keyup', 16 );}function keyEvent( type, keyCode ) {window.dispatchEvent( new KeyboardEvent( type, { keyCode } ) );}function mouseMove( clientX, clientY ) {window.Module.canvas.dispatchEvent(new MouseEvent( 'mousemove', {clientX,clientY} ));}