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 | }; |