Advertisement
Guest User

Untitled

a guest
Apr 30th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.72 KB | None | 0 0
  1. var lastEdit = 1461470645878;
  2. var respawnLoop = null, ejectorLoop = null, randomMoveLoop = null;
  3. var overlayClosed = false, spectatorMode = false;
  4. var profileSettings = {};
  5. var holdingKey = {};
  6. var canvas = document.getElementById('canvas');
  7.  
  8. $(document).ready(function() {
  9.  
  10. window.setAutoSpawn = function(e) {
  11. if(e) { if(!respawnLoop) respawnLoop = setInterval(startGame, 1000); }
  12. else { clearInterval(respawnLoop); respawnLoop = null; }
  13. };
  14. window.joinNewRoom = function() {
  15. var s = $('#gamemode').val();
  16. if(s == ':party') {
  17. $('#helloContainer').attr('data-party-state', '3');
  18. createParty();
  19. }
  20. else {
  21. setGameMode(':party');
  22. setGameMode(s);
  23. }
  24. };
  25. window.setSpectatorMode = function(e) { spectatorMode = e; };
  26. window.setRandomMove = function(e) {
  27. if(e) { if(!randomMoveLoop) randomMoveLoop = setInterval(randomMove, 5000); }
  28. else { clearInterval(randomMoveLoop); randomMoveLoop = null; }
  29. };
  30. window.toggleScriptInfo = function() { $('#infoPanel').fadeToggle(); };
  31. window.toggleScriptInfoChangelog = function() { $('#infoPanel-content a').next().slideToggle(); };
  32.  
  33. $(document).on('keydown', function(evt) {
  34. var key = evt.which || evt.keyCode;
  35. var exKey = evt.ctrlKey || evt.shiftKey || evt.altKey;
  36. //console.log(key + ' ' + exKey + ' (' + evt.ctrlKey + ' ' + evt.shiftKey + ' ' + evt.altKey + ')');
  37. if($('#overlays').is(':hidden') && !exKey) {
  38. if(key == 27) { // KEY_ESC
  39. overlayClosed = false;
  40. setTimeout(function() { $('button[data-itr="spectate"]').removeAttr('disabled'); }, 100);
  41. }
  42. else if(key == 83) { // KEY_S
  43. if(!ejectorLoop) {
  44. ejectorLoop = setInterval(function() { sendEject(); }, 10);
  45. }
  46. }
  47. if(!holdingKey[key]) {
  48. if(key == 84) { // KEY_T
  49. for(var n = 1; n <= 4; n++) {
  50. setTimeout(function() { sendMitosis(); }, 60 * n);
  51. }
  52. }
  53. else if(key == 83) { // KEY_S
  54. var newPos = {clientX: innerWidth / 2, clientY: innerHeight / 2};
  55. canvas.onmousedown(newPos);
  56. }
  57. }
  58. holdingKey[key] = true;
  59. }
  60. });
  61. $(document).on('keyup', function(evt) {
  62. var key = evt.which || evt.keyCode
  63. holdingKey[key] = false;
  64. if(key == 83) { // KEY_S
  65. clearInterval(ejectorLoop);
  66. ejectorLoop = null;
  67. }
  68. });
  69.  
  70. editPanel();
  71. hookOverlay();
  72.  
  73. });
  74.  
  75. function editPanel() {
  76. var btnGroup = $('#agario-main-buttons div').eq(0).children();
  77. btnGroup.eq(1).css('width', '230px');
  78. btnGroup.eq(2).css('width', '112px');
  79. btnGroup.eq(3).css('width', '112px').after('<button style="height: 35px; display: block; float: right;" class="btn btn-success btn-refresh" onclick="joinNewRoom(); return false;"><i class="glyphicon glyphicon-refresh"></i></button>');
  80.  
  81. $('#helloContainer').css('height', '');
  82. $('#adbg').parent().hide().css('visibility', 'hidden');
  83. $('#agario-web-incentive, .agario-promo').remove();
  84. $('#connecting').css({'top': '13px', 'right': '185px', 'bottom': '', 'left': '', 'font-size': '13px'});
  85. $('#connecting h2').css({'display': 'inline-block'}).after('<span id="connectingToInfo" style="position: absolute; top: 5px; right: 15px;"></span>');
  86.  
  87. $('#nick').attr('name', 'nick');
  88. $('#quality').css({'margin': '6px 0px'});
  89. setTimeout(function() { $('#___ytsubscribe_0').css({'width': '112px'})}, 12000);
  90. $('button[data-itr="logout"]').replaceWith('<button class="btn btn-danger btn-logout" data-itr="logout">Logout</button>');
  91. $('#options').append('<label style="margin-top: 7px; padding-top: 7px; border-top: 1px dashed #888; width: 188px;"><input type="checkbox" onchange="setAcid($(this).is(\':checked\'));"><span data-itr="option_acid_mode"> Modo Acido </span></label><label style="width: 188px;"><input type="checkbox" onchange="setAutoSpawn($(this).is(\':checked\'));"><span data-itr="option_auto_spawn"> Respawn automatico </span></label><label style="width: 188px;"><input type="checkbox" onchange="setSpectatorMode($(this).is(\':checked\'));"><span data-itr="option_spectator_mode"> Espectador al entrar</span></label><label style="width: 188px;"><input type="checkbox" onchange="setRandomMove($(this).is(\':checked\'));"><span data-itr="option_random_move"> Movimiento random </span></label>');
  92. $('#instructions center').after('<hr><div id="shortcuts" style="font-size: 85%;"><strong style="display: inline-block; width: 320px; text-align: center; padding-bottom: 10px;">Instrucciones:</strong><br><span style="display: block; width: 160px; float: left;">S: Dar masa sin parar.</span><span style="display: block; width: 160px; float: left;"></span><span style="display: block; width: 160px; float: left;"></span><span style="display: block; width: 160px; float: left;"></span><span style="display: block; width: 160px; float: left;">T: Dividirme 16 veces.</span><span style="display: block; width: 160px; float: left;"></span><span style="display: block; width: 160px; float: left;">D: Congelar mi celula.</span><span style="display: block; width: 160px; float: left;"></span><span style="display: block; width: 160px; float: left;"></span><span style="display: block; width: 160px; float: left;"></span></div>');
  93. $('#instructions center span[class="text-muted"] b').css({'background-color': '#333', 'color': '#EEE', 'padding': '1px 5px', 'border-radius': '3px'});
  94. $('#instructions').next().remove();
  95.  
  96. $('#nick').before('<div id="profiles" style="margin-bottom: 6px;"><span>Perfiles: </span></div>');
  97. for(i=0; i<=10; i++) $('#profiles').append('<a onclick="setProfile(' + i + '); return false;" href="#" style="padding: 1px 5px; margin: 0px 1px; background-color: #222; color: #EEE; border-radius: 3px;">' + (i ? i : 'Default') + '</a>');
  98.  
  99. $('#stats').css('height', '375px');
  100. $('#stats hr').remove();
  101. $('#socialStats').css('bottom', '65px');
  102. $('#statsContinue').css('bottom', '25px');
  103. $('#statsGraph').css('bottom', '120px').attr('height', '200px');
  104. $('#s300x250').css('z-index', '-10');
  105.  
  106. $('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'});
  107. $('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'});
  108. $('footer.tosBox.update').css({'bottom': '0px', 'right': '280px', 'font-size': '12px', 'background-color': '#398439', 'border-radius': '5px 5px 0px 0px'});
  109. $('footer.tosBox.donate').css({'bottom': '-2px', 'right': '380px', 'font-size': '12px', 'background-color': 'transparent', 'padding': '0px'});
  110. $('footer.tosBox a').css('color', '#FFFFFF');
  111. }
  112.  
  113. window.setProfile = function(x) {
  114. if(x == null) x = 0;
  115. $('#profiles a').eq(localStorage.getItem('activeprofile')).css({'background-color': '#222'});
  116. $('#profiles a').eq(x).css({'background-color': '#D00'});
  117. localStorage.setItem('activeprofile', x);
  118. profileSettings = JSON.parse(localStorage.getItem('profile' + x));
  119.  
  120. var checkbox = $('#options input[type="checkbox"]');
  121. if(profileSettings == null) {
  122. profileSettings = {};
  123. if(localStorage.getItem('nick') != null && x == 0) $('#nick').val(localStorage.getItem('nick')).change();
  124. else $('#nick').val('ௌௌௌௌௌௌௌௌௌௌௌௌௌௌௌ').change();
  125. $('#gamemode').val('').change();
  126. }
  127. else {
  128. $('#nick, #gamemode, #region, #quality').each(function() { if(profileSettings[$(this).attr('id')] != null) { $(this).val(profileSettings[$(this).attr('id')]).change(); } });
  129. checkbox.each(function() {
  130. if($(this).prop('checked') == true && profileSettings[$(this).next().attr('data-itr')] != true) $(this).click();
  131. else if($(this).prop('checked') == false && profileSettings[$(this).next().attr('data-itr')] == true) $(this).click();
  132. });
  133. }
  134. }
  135. function startGame() { if(overlayClosed) setNick($('#nick').val()); }
  136. function randomMove() { var pos = {clientX: getRandomInt(0, innerWidth), clientY: getRandomInt(0, innerHeight)}; canvas.onmousedown(pos); }
  137.  
  138. function hookOverlay() {
  139. $('button[data-itr="play"]').click(function() { overlayClosed = true; });
  140. $('button[data-itr="play_as_guest"]').click(function() { overlayClosed = true; });
  141. $('button[data-itr="spectate"]').click(function() { overlayClosed = false; });
  142. $('button[data-itr="logout"]').click(function() { var lg = confirm('Logout?'); if(lg) logout(); });
  143.  
  144. $.each(['show', 'hide'], function (i, ev) { var el = $.fn[ev]; $.fn[ev] = function () { this.trigger(ev); return el.apply(this, arguments); }; });
  145. $('#connecting').on('show', function() { connectingInfo(); });
  146. $('#connecting').on('hide', function() { if(spectatorMode) $('button[data-itr="spectate"]').click(); leaderboardText(); });
  147. $('#openfl-content').on('hide', function() { setTimeout(function() { $('#openfl-content').css({'opacity' : '1'}); }, 10); });
  148.  
  149. var checkbox = $('#options input[type="checkbox"]');
  150. checkbox.change(function() {
  151. profileSettings[$(this).next().attr('data-itr')] = $(this).prop('checked');
  152. localStorage.setItem('profile' + localStorage.getItem('activeprofile'), JSON.stringify(profileSettings));
  153. });
  154. $('#nick, #gamemode, #region, #quality').change(function() {
  155. profileSettings[$(this).attr('id')] = $(this).val();
  156. localStorage.setItem('profile' + localStorage.getItem('activeprofile'), JSON.stringify(profileSettings));
  157. });
  158.  
  159. setTimeout(function() { setProfile(localStorage.getItem('activeprofile')) }, 1000);
  160. }
  161. function saveProfiles() {
  162. var checkbox = $('#options input[type="checkbox"]');
  163. checkbox.each(function() { profileSettings[$(this).next().attr('data-itr')] = $(this).prop('checked'); });
  164. $('#nick, #gamemode, #region, #quality').each(function() { profileSettings[$(this).attr('id')] = $(this).val(); });
  165. localStorage.setItem('profile' + localStorage.getItem('activeprofile'), JSON.stringify(profileSettings))
  166. }
  167. function connectingInfo() { $('#connectingToInfo').text($('#region option:selected').text().split(' (')[0] + ' - ' + $('#gamemode option:selected').text()) }
  168. function leaderboardText() {
  169. var curMode = $('#gamemode option:selected').text();
  170. if(curMode.length > 8) curMode = curMode.slice(0, 7) + '...';
  171. i18n.leaderboard = '≡ ' + curMode;
  172. }
  173.  
  174. function timeSince(date) {
  175. var seconds = Math.floor((new Date() - date) / 1000);
  176. var interval = Math.floor(seconds / 31536000);
  177. if(interval > 1) return interval + ' years'; interval = Math.floor(seconds / 2592000);
  178. if(interval > 1) return interval + ' months'; interval = Math.floor(seconds / 86400);
  179. if(interval > 1) return interval + ' days'; interval = Math.floor(seconds / 3600);
  180. if(interval > 1) return interval + ' hours'; interval = Math.floor(seconds / 60);
  181. if(interval > 1) return interval + ' minutes';
  182. return Math.floor(seconds) + ' seconds';
  183. }
  184.  
  185. function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement