flip diep.io

press F to disable/enable flip, press G to change flip mode

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name flip diep.io
// @description press F to disable/enable flip, press G to change flip mode
// @version 1
// @author nimdac
// @match *://*.diep.io/*
// @grant none
// @namespace https://greasyfork.org/users/668919
// ==/UserScript==

(() => {
  
  	let s = true, v = false;

  	for(let x of ["mousemove", "mousedown", "mouseup"]) document.addEventListener(x, e => e.isTrusted && c.dispatchEvent(new MouseEvent(x, e)));
  
  	document.addEventListener('contextmenu', e => e.preventDefault());
  	document.addEventListener("keydown", e => {
		e.code === "KeyF" && !(s ^= true) && body.appendChild(c2) && loop();
        e.code === "KeyG" && (v ^= true);
    });
  
 	let c = document.getElementById("canvas"),
        body = document.getElementsByTagName('body')[0],
    	c2 = document.createElement("canvas"), ctx2 = c2.getContext("2d");
  
    c2.width = c.width;
    c2.height = c.height;
  
    c2.style.position = "absolute";
    c2.style.top = "0px";
    c2.style.left = "0px";
    c2.style.zIndex = 3;
  
    window.addEventListener("resize", () => (c2.width = c.width) && (c2.height = c.height), false); 
  
	let loop = () => {
      
		if(s) return body.removeChild(c2);
      
		ctx2.clearRect(0,0,c2.width,c2.height);
        ctx2.setTransform(v? 1:-1, 0, 0, v? -1:1, v? 0:c2.width, v? c2.height:0);
        ctx2.drawImage(c,0,0);  
		requestAnimationFrame(loop);
          
	};
  
})();