Agar.io auto respawn

Auto respawn + close tab confirmation + hold E to W + refresh server button + default settings (show mass, dark theme, skip stats and more) + hide ads

当前为 2015-12-08 提交的版本,查看 最新版本

// ==UserScript==
// @name        Agar.io auto respawn
// @namespace   http://redd.it/3ut09g
// @description Auto respawn + close tab confirmation + hold E to W + refresh server button + default settings (show mass, dark theme, skip stats and more) + hide ads
// @author      condoriano
// @include     http://agar.io*
// @version     11
// @grant       none
// ==/UserScript==

/*---------------------------------------------------------------*/
/*---------------    Configurations start here    ---------------*/
/*---------------------------------------------------------------*/

var pref_name           = "ௌௌௌௌௌௌௌௌௌௌௌௌௌௌௌ";
var pref_noskin         = false;
var pref_noname         = false;
var pref_nocolor        = false;
var pref_showmass       = true;
var pref_darktheme      = true;
var pref_skipstats      = true;
var pref_autospawn      = true;
var pref_gamemode       = ""; // :teams, :experimental, :party
var pref_region         = "SG-Singapore"; // US-Atlanta, BR-Brazil, EU-London, RU-Russia, TK-Turkey, JP-Tokyo, CN-China, SG-Singapore

var pref_askbeforeclose = true;
var pref_holdEtoW       = true;
var pref_hideads        = true;
var pref_hidepromo      = true;

/*---------------------------------------------------------------*/
/*----------------    Configurations end here    ----------------*/
/*---------------------------------------------------------------*/

/*------------------------ DO NOT EDIT THE CODES BELOW UNLESS YOU KNOW WHAT YOU'RE DOING ------------------------*/

var respawnLoop = null;
var overlayClosed = false;

$(document).ready(function() {

    window.setAutoSpawn = function(e) { if(e) { respawnLoop = setInterval(startGame, 2000); } else { clearInterval(respawnLoop); } }
    window.joinNewRoom = function() { var s = $("#gamemode").val(); setGameMode(":party"); setGameMode(s); }
    window.onbeforeunload = function() { if(pref_askbeforeclose) { return "Quit game?"; } }
    document.onkeydown = function(evt) {
        evt = evt || window.event;
        if(evt.keyCode == 69 && pref_holdEtoW) { // KEY_E
            window.onkeydown({keyCode: 87}); // KEY_W
            window.onkeyup({keyCode: 87});
        }
    }
    editPanel();
    applyConfig();
    hookOverlay();

});

function editPanel() {
    var btnGroup = $("#agario-main-buttons div").eq(0).children();
    btnGroup.eq(1).css("width", "230px");
    btnGroup.eq(2).css("width", "112px");
    btnGroup.eq(3).css("width", "112px")
                  .after("<button style=\"height: 35px; display: block; float: right;\" class=\"btn btn-success btn-refresh\" onclick=\"joinNewRoom();\"><i class=\"glyphicon glyphicon-refresh\"></i></button>");

    if(pref_holdEtoW) { $("#instructions center span[class='text-muted']").append("<span>Hold <b>E</b> to continuously eject mass</span>"); }
    if(pref_hideads) { $("#adbg").parent().hide().css("visibility", "hidden"); }
    if(pref_hidepromo) { $(".agario-promo").hide().css("visibility", "hidden"); }

    $("#helloContainer").css("height", "auto");
    $("#options").children().eq(4).css({ "border-bottom": "1px dashed #888", "padding-bottom": "6px" });
    $("#options").children().eq(5).css({ "border-bottom": "1px dashed #888", "padding-bottom": "6px" });
    $("#options").append('<label style="padding-top: 6px;"><input type="checkbox" onchange="setAutoSpawn($(this).is(\':checked\'));"><span>Auto spawn</span></label>');
    $("#instructions center span[class='text-muted'] b").css({
        "background-color": "#333",
        "color": "#EEE",
        "padding": "2px 6px",
        "border-radius": "4px"
    });

    $("footer").eq(1)
                     .after('<footer class=\"tosBox donate\"><form id="donate-mod" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank"><input name="cmd" value="_donations" type="hidden"><input name="business" value="[email protected]" type="hidden"><input name="lc" value="US" type="hidden"><input name="item_name" value="Donation" type="hidden"><input name="no_note" value="0" type="hidden"><input name="currency_code" value="USD" type="hidden"><input name="bn" value="PP-DonationsBF:btn_donateCC_LG.gif:NonHostedGuest" type="hidden"><input name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" alt="PayPal - The safer, easier way to pay online!" border="0" type="image"><img src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" alt="" height="1" border="0" width="1"></form></footer>')
                     .after("<footer class=\"tosBox update\"><a href=\"https://greasyfork.org/en/scripts/14297-agar-io-auto-respawn\" target=\"_blank\" class=\"text-muted\">Update Script</a></footer>");
    $("footer.tosBox.left").removeClass("left").addClass("gamemode").css({"bottom": "30px", "right": "0px", "font-size": "12px", "background-color": "#3071A9", "border-radius": "15px 0px 0px 15px", "padding-left": "18px"});
    $("footer.tosBox.right").removeClass("right").addClass("tos").css({"bottom": "0px", "right": "0px", "font-size": "12px", "background-color": "#3071A9", "border-radius": "15px 0px 0px 15px", "padding-left": "18px"});
    $("footer.tosBox.update").css({"bottom": "0px", "right": "280px", "font-size": "12px", "background-color": "#398439", "border-radius": "5px 5px 0px 0px"});
	$("footer.tosBox.donate").css({"bottom": "-2px", "right": "380px", "font-size": "12px", "background-color": "transparent", "padding": "0px"});
    $("footer.tosBox a").css("color", "#FFFFFF");
}

function applyConfig() {
    var checkbox = $("#options input[type=checkbox]");
    checkbox.eq(0).attr("checked", pref_noskin); setSkins(!pref_noskin);
    checkbox.eq(1).attr("checked", pref_noname); setNames(!pref_noname);
    checkbox.eq(2).attr("checked", pref_nocolor); setColors(pref_nocolor);
    checkbox.eq(3).attr("checked", pref_showmass); setShowMass(pref_showmass);
    checkbox.eq(4).attr("checked", pref_darktheme); setDarkTheme(pref_darktheme);
    checkbox.eq(5).attr("checked", pref_skipstats); setSkipStats(pref_skipstats);
    checkbox.eq(6).attr("checked", pref_autospawn); setAutoSpawn(pref_autospawn);

    $("#nick").val(pref_name);
    setGameMode(pref_gamemode);
    setRegion(pref_region);
}

function hookOverlay() {
    $("button[data-itr='play']").click(function() { overlayClosed = true; });
    $("button[data-itr='play_as_guest']").click(function() { overlayClosed = true; });
    $("button[data-itr='spectate']").click(function() { overlayClosed = false; });

    document.onkeydown = function(evt) {
        evt = evt || window.event;
        if(evt.keyCode == 27) { // KEY_ESC
            overlayClosed = false;
            setTimeout(function() { $("button[data-itr='spectate']").removeAttr("disabled"); }, 100);
        }
    }
}

function startGame() {
    if(overlayClosed) {
        setNick($("#nick").val());
        return false;
    }
}