Agario Macros

Agar.io macro: W = Auto Eject Mass, T = x16 splits, Q = Double split

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Agario Macros
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Agar.io macro: W = Auto Eject Mass, T = x16 splits, Q = Double split
// @author       Maroc Agar
// @match        https://agar.io/*
// @run-at       document-end
// @grant        none
// @icon         https://i.imgur.com/AAlWAp8.png
// ==/UserScript==

window.addEventListener('keydown', keydown);
window.addEventListener('keyup', keyup);

var EjectDown = false;
var speed = 25; //in ms

// Here is the keys and the number assigned, make sure to replace the number for the key you want to use.

//A = "65", B = "66", C = "67", D = "68", E = "69", F = "70", G = "71", H = "72", I = "73", J = "74", K = "75", L = "76", M = "77", N = "78", O = "79", P = "80", Q = "81", R = "82", S = "83", T = "84", U = "85", V = "86", W = "87", X = "88", Y = "89", Z = "90"

function keydown(event) {
    if (event.keyCode == 87 && !EjectDown) { // Macro Feed "W"
        EjectDown = true;
        setTimeout(eject, speed);
    }
    if (event.keyCode == 81 || event.keyCode == 50) { // Double "Q"
        split();
        setTimeout(split, speed);
    }
    if (event.keyCode == 84) { // X16 splits "T"
        split();
        setTimeout(split, speed);
        setTimeout(split, speed*2);
        setTimeout(split, speed*3);
    }
    if (event.keyCode == 83) { // Stop movement "S"
        var X = window.innerWidth / 2;
        var Y = window.innerHeight / 2;
        $("canvas").trigger($.Event("mousemove", { clientX: X, clientY: Y }));
    }
}

function keyup(event) {
    if (event.keyCode == 87) { // W
        EjectDown = false;
    }
}

function eject() {
    if (EjectDown) {
        triggerKeyEvent(87); // W
        setTimeout(eject, speed);
    }
}

function split() {
    triggerKeyEvent(32); // Space
}

function triggerKeyEvent(keyCode) {
    $("body").trigger($.Event("keydown", { keyCode }));
    $("body").trigger($.Event("keyup", { keyCode }));
}

// This text is only informative, changing it does not modify the keys.
function removeDefaultText() {
    var instructions = document.getElementById("instructions");
    if (instructions) {
        instructions.innerHTML = `<center><div style='font-weight: bold; font-size: 16px;'>Key Bindings:</div></center>
            <center><div style='margin-top: 10px; padding: 15px; background-color: white; border-radius: 15px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);'>
                <div>Press <b style='font-size: 18px;'>W</b> to Auto Eject Mass (Hold)</div>
                <div>Press <b style='font-size: 18px;'>Q</b> to Double Split</div>
                <div>Press <b style='font-size: 18px;'>T</b> to split x16</div>
            </div></center>`;
    }
}

function removeElement(selector) {
    var element = document.querySelector(selector);
    if (element) {
        element.style.display = "none";
    }
}

function removeFooterElements() {
    removeElement('.tosBox.left');
    removeElement('.tosBox.right');
    removeElement('.bubble');
    removeElement('.agario-promo');
    removeElement('.promo-badge-container');
}

// Remove an element by its id
function removeElementById(id) {
    var element = document.getElementById(id);
    if (element) {
        element.remove();
    }
}

removeElementById("agar-io_970x90");
removeElementById("socialButtons");

function customizeMainUI() {
    var mainUIOffers = document.getElementById('mainui-offers');
    if (mainUIOffers) {
        var titleElement = mainUIOffers.querySelector('.title');
        if (titleElement) {
            titleElement.textContent = 'FREE COINS';
        }
    }
}

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        removeFooterElements();
        customizeMainUI();
    });
});

var config = { childList: true, subtree: true, attributes: true };
observer.observe(document.body, config);

window.addEventListener('load', function() {
    removeDefaultText();
    removeFooterElements();
    customizeMainUI();
    removeElementById();

    var style = document.createElement('style');
        style.innerHTML = `
            :root {
                --bottom-banner-height: 1px !important;
            }

            #background,
            canvas {
                height: calc(100% - var(--bottom-banner-height)) !important;
            }

            .btn-play[data-v-0733aa78] {
                position: relative;
                top: 25px;
                color: #fff !important;
                background-color: #2a61d7 !important;
                border-color: #2a61d7 !important;
                width: 243px;
                height: 34px;
                font-size: 20px;
                line-height: 1.5;
            }

            .mini .potion-slot-animation[data-v-55506716] {
                top: 24% !important;
                position: absolute !important;
                width: 100% !important;
                height: 175% !important;
                transform-origin: center !important;
                z-index: 1 !important;
                overflow: hidden !important;
            }
            .potion-slot-button.green[data-v-55506716] {
            }
            .party-join[data-v-3152cd5c], .party-play[data-v-3152cd5c] {
                background-color: #2a61d7 !important;
                border-color: #2a61d7 !important;
                width: 77px;
            }
            .free-coins-button > button[data-v-1791274a] {
                width: 285px;
                height: 45px;
                display: block;
                color: #fff;
                background-color: #54c800;
                border-color: #54c800;
                font-size: 14px;
                font-weight: 700;
                line-height: 1.42857143;
                text-align: center;
                white-space: nowrap;
                touch-action: manipulation;
                cursor: pointer;
                user-select: none;
                background-image: none;
                border: 1px solid transparent;
                border-radius: 4px;
                padding-left: 40px;

            }
            .party-create[data-v-3152cd5c], .party-copy[data-v-3152cd5c] {
                background-color: #00d3ff !important;
                border-color: #00d3ff !important;
                width: 68px;
            }
        `;
        document.head.appendChild(style);
    });