View difference between Paste ID: CwqMUaSd and EiDzq17S
SHOW: | | - or go back to the newest paste.
1
lo;rjfEWJ;j;gjwo
2
3
4
nigggerrtsrs'!?!!!
5
6
7
coon fucks!1!
8
9
10
11
12
asss sex the best
13
14
15
// ==UserScript==
16
// @name         Agar Server Selector
17
// @namespace    
18
// @version      1.1
19
// @description  Modifies the agar.io server select page to be useful.
20
// @author       Ununoctium118
21
// @match        http://agar.io
22
// @grant        none
23
// ==/UserScript==
24
25
// Clear the dialog box
26
var selector = $('#region');
27
28
// Load the server list
29
var selected;
30
31
var regionTable = {
32
    'US-Atlanta': 'US East',
33
    'US-Fremont': 'US West',
34
    'EU-London': 'Europe',
35
    'JP-Tokyo': 'Japan',
36
};
37
38
$.getJSON('http://m.agar.io/fullInfo', function(serverList) {
39
    var output = [];
40
    serverList.servers.sort(function (a, b) {
41
        var x = regionTable[a.region], y = regionTable[b.region];
42
        return ((x < y) ? - 1 : ((x > y) ? 1 : 0));
43
    });
44
    $.each(serverList.servers, function(index, server) {
45
        output.push('<option value="' + server.ip + '">' + regionTable[server.region] + ' (' + server.ip + ') (' + server.numPlayers + ' players)</option>');
46
    });
47
    selector.html(output.join(''));
48
});
49
50
51
// Add our extra onchangelistener
52
selector.on('change', function() {
53
    selected = selector.val() + ':443';
54
});
55
56
57
// Intercept requests for m.agar.io and instead return our data.
58
var realAjax = $.ajax;
59
$.ajax = function() {
60
    if(arguments[0] == 'http://m.agar.io/') {
61
        var callback = arguments[1].success;
62
        // The selector callback probably hasn't run yet.
63
        // Really should use a promise or something here.
64
        var doReturn = function() {
65
            if(!selected) {
66
                setTimeout(doReturn, 50);
67
                return;
68
            }
69
            callback(selected);
70
        }
71
        doReturn();
72
    } else {
73
        // Use irl ajax
74
        return realAjax.apply(this, arguments);
75
    }
76
};