// ==UserScript== // @name Mass Macro, Double Split, Triple Split, Quadruple Split, Freeze, FPS Counter // @namespace http://tampermonkey.net/ // @version 1.2 // @description Mass Macro - W(Hold), 2xSplit - 2, 3xSplit - 3, 4xSplit - 4, Freeze Movement - S. // @author Dropped Studios // @match http://abs0rb.me/* // @match http*://agar.io/* // @match http://agarabi.com/* // @match http://agarly.com/* // @match http://en.agar.bio/* // @match http://agar.pro/* // @match http://agario.se/* // @match http://agar.biz/* // @match http://bubble.am/* // @grant none // @run-at document-end // @downloadURL none // ==/UserScript== window.addEventListener('keydown', keydown); window.addEventListener('keyup', keyup); var Feed = false; var Duration = 5; var showFps = true; var lastLoop = new Date(); let fpsBox = document.createElement("div"); const hsl = hue => `hsl(${hue},100%,50%)`; // ** FPS fpsBox.style = ` position: absolute; top: 0px; left: 0px; color: black; background: white; font-family: 'Ubuntu', monospace; font-weight: 400; `; document.body.appendChild(fpsBox); let frames = 0; setInterval(() => { var thisLoop = new Date(); var fps = 1000 / (thisLoop - lastLoop); lastLoop = thisLoop; fpsBox.textContent = frames + " FPS"; if(frames < 60) { fpsBox.style.background = hsl(frames * 2); } else { fpsBox.style.background = hsl(120); } frames = 0; }, 1E3); const clearRectOld = CanvasRenderingContext2D.prototype.clearRect; CanvasRenderingContext2D.prototype.clearRect = function() { if (this.canvas === window.canvas) { ++frames; } return clearRectOld.apply(this, arguments); }; var instructions = document.getElementById("instructions"); instructions.style.lineHeight = "1"; instructions.style.fontSize = "12.5px"; instructions.style.marginTop = "-30px"; instructions.innerHTML += "