Johnmarkbrodeth

New Speed Hack!!

Jun 18th, 2020
295
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Krunker.io Speed Hackzzz
  3. // @namespace    http://tampermonkey.net/
  4. // @version      2.5.4
  5. // @description  Hack PLAYER AND GUN SPEED!!!! with esp nametag tracking, CAN NOT BE PATCHED!!!
  6. // @author       ZEUS
  7. // @match        https://krunker.io/*
  8. // @run-at       document-start
  9. // @grant        none
  10. // @require      https://code.jquery.com/jquery-3.0.0-alpha1.min.js
  11. // @icon         https://image.flaticon.com/icons/png/512/2797/2797974.png
  12. // @require      http://code.jquery.com/jquery-3.2.1.slim.min.js
  13. // @require      http://code.jquery.com/jquery-latest.js
  14. // @require      https://greasyfork.org/scripts/372672-everything-hook/code/Everything-Hook.js?version=784972
  15. // ==/UserScript==
  16. (function() {
  17.     let initialize = function(data) {
  18.         let regex = /if\(!\w+\['(\w+)']\)continue/;
  19.         let result = regex.exec(data);
  20.         if (result) {
  21.             const inView = result[1];
  22.             const push = Array.prototype.push;
  23.             Array.prototype.push = function(...args) {
  24.                 push.apply(this, args);
  25.                 if (args[0] instanceof Object && args[0].isPlayer) {
  26.                     Object.defineProperty(args[0], inView, {value: true, configurable: false});
  27.                 }
  28.             }
  29.         }
  30.     }
  31.  
  32.     const decode = window.TextDecoder.prototype.decode;
  33.     window.TextDecoder.prototype.decode = function(...args) {
  34.         let data = decode.apply(this, args);
  35.         if (data.length > 1050000) { //1050000 ideal val
  36.             console.log(data);
  37.             initialize(data);
  38.         }
  39.         return data;
  40.     }
  41. })();
  42. var keyboardEvent = document.createEvent("KeyboardEvent");
  43. var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";
  44. document.addEventListener('readystatechange', function () {
  45.     if (document.readyState === "interactive" || document.readyState === "complete") {
  46.         window.isDOMLoaded = true;
  47.     }
  48. });
  49.  
  50. ~function (global) {
  51.  
  52.     var workerURLs = [];
  53.     var extraElements = [];
  54.  
  55.     var helper = function (eHookContext, timerContext, util) {
  56.         return {
  57.             applyUI: function () {
  58.                 var style = '._th-container ._th-item{margin-bottom:3px;position:relative;width:30px;height:30px;cursor:pointer;opacity:.3;background-color:coral;border-radius:100%;text-align:center;line-height:30px;-webkit-transition:all .35s;-o-transition:all .35s;transition:all .35s;right:30px}._th-container ._th-item._item-x2{margin-left:18px;width:40px;height:40px;line-height:40px}._th-container ._th-item._item-x-2{margin-left:17px;width:38px;height:38px;line-height:38px}._th-container ._th-item._item-x4{width:36px;height:36px;margin-left:16px;line-height:36px}._th-container ._th-item._item-x-4{width:32px;height:32px;line-height:32px;margin-left:14px}._th-container ._th-item._item-reset{width:30px;line-height:30px;height:30px;margin-left:10px}._th-click-hover{position:relative;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;height:50px;width:50px;cursor:pointer;opacity:.3;border-radius:100%;background-color:coral;text-align:center;line-height:50px;right:0}._th-container:hover{left:-10px}._th-container{font-size:12px;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s;left:-40px;top:20%;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:100000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._th-container ._th-item:hover{opacity:.8;background-color:#5fb492;color:aliceblue}._th-container ._th-item:active{opacity:.9;background-color:#316347;color:aliceblue}._th-container:hover ._th-click-hover{opacity:.8}._th-container:hover ._th-item{opacity:.6;right:0}._th-container ._th-click-hover:hover{opacity:.8;background-color:#5fb492;color:aliceblue}._th_cover-all-show-times{position:fixed;top:0;right:0;width:100%;height:100%;z-index:99999;opacity:1;font-weight:900;font-size:30px;color:#4f4f4f;background-color:rgba(0,0,0,0.1)}._th_cover-all-show-times._th_hidden{z-index:-99999;opacity:0;-webkit-transition:1s all;-o-transition:1s all;transition:1s all}._th_cover-all-show-times ._th_times{width:300px;height:300px;border-radius:50%;background-color:rgba(127,255,212,0.51);text-align:center;line-height:300px;position:absolute;top:50%;right:50%;margin-top:-150px;margin-right:-150px;}';
  59.  
  60.                 var html = '<div class="_th-container">\n' +
  61.                     '    <div class="_th-click-hover" onclick="changeTime()">\n' +
  62.                     '        x' + 1 / timerContext._percentage + '\n' +
  63.                     '    </div>\n' +
  64.                     '    <div class="_th-item _item-x2" onclick="changeTime(2,0,true)">&gt;</div>\n' +
  65.                     '    <div class="_th-item _item-x-2" onclick="changeTime(-2,0,true)">&lt;</div>\n' +
  66.                     '    <div class="_th-item _item-x4" onclick="changeTime(0,4)">&gt;&gt;</div>\n' +
  67.                     '    <div class="_th-item _item-x-4" onclick="changeTime(0,-4)">&lt;&lt;</div>\n' +
  68.                     '    <div class="_th-item _item-reset" onclick="changeTime(0,0,false,true)">O</div>\n' +
  69.                     '</div>\n' +
  70.                     '<div class="_th_cover-all-show-times _th_hidden">\n' +
  71.                     '    <div class="_th_times">x' + 1 / timerContext._percentage + '</div>\n' +
  72.                     '</div>' +
  73.                     '';
  74.                 var stylenode = document.createElement('style');
  75.                 stylenode.setAttribute("type", "text/css");
  76.                 if (stylenode.styleSheet) {// IE
  77.                     stylenode.styleSheet.cssText = style;
  78.                 } else {// w3c
  79.                     var cssText = document.createTextNode(style);
  80.                     stylenode.appendChild(cssText);
  81.                 }
  82.                 var node = document.createElement('div');
  83.                 node.innerHTML = html;
  84.                 if (!global.isDOMLoaded) {
  85.                     document.addEventListener('readystatechange', function () {
  86.                         if ((document.readyState === "interactive" || document.readyState === "complete") && !global.isDOMRendered) {
  87.                             document.head.appendChild(stylenode);
  88.                             document.body.appendChild(node);
  89.                             global.isDOMRendered = true;
  90.                             console.log('Time Hooker Works!');
  91.                         }
  92.                     });
  93.                 } else {
  94.                     document.head.appendChild(stylenode);
  95.                     document.body.appendChild(node);
  96.                     global.isDOMRendered = true;
  97.                     console.log('Time Hooker Works!');
  98.                 }
  99.             },
  100.             applyGlobalAction: function (timer) {
  101.  
  102.                 timer.changeTime = function (anum, cnum, isa, isr) {
  103.                     if (isr) {
  104.                         global.timer.change(1);
  105.                         return;
  106.                     }
  107.                     if (!global.timer) {
  108.                         return;
  109.                     }
  110.                     var result;
  111.                     if (!anum && !cnum) {
  112.                         var t = prompt("Enter the desired speed change rate:" + 1 / timerContext._percentage + ")");
  113.                         if (t == null) {
  114.                             return;
  115.                         }
  116.                         if (isNaN(parseFloat(t))) {
  117.                             alert("Please enter a number!!");
  118.                             timer.changeTime();
  119.                             return;
  120.                         }
  121.                         if (parseFloat(t) <= 0) {
  122.                             alert("Change cannot be less than or more than 0!!");
  123.                             timer.changeTime();
  124.                             return;
  125.                         }
  126.                         result = 1 / parseFloat(t);
  127.                     } else {
  128.                         if (isa && anum) {
  129.                             if (1 / timerContext._percentage <= 1 && anum < 0) {
  130.                                 return;
  131.                             }
  132.                             result = 1 / (1 / timerContext._percentage + anum);
  133.                         } else {
  134.                             if (cnum < 0) {
  135.                                 cnum = 1 / -cnum
  136.                             }
  137.                             result = 1 / ((1 / timerContext._percentage) * cnum);
  138.                         }
  139.                     }
  140.                     timer.change(result);
  141.                 };
  142.                 global.changeTime = timer.changeTime;
  143.             },
  144.             applyHooking: function () {
  145.  
  146.                 eHookContext.hookReplace(window, 'setInterval', function (setInterval) {
  147.                     return function () {
  148.  
  149.                         arguments[2] = arguments[1];
  150.  
  151.                         arguments[1] *= timerContext._percentage;
  152.                         var resultId = setInterval.apply(window, arguments);
  153.  
  154.                         timerContext._intervalIds[r] = {
  155.                             args: arguments,
  156.                             nowId: resultId
  157.                         };
  158.                         return resultId;
  159.                     };
  160.                 });
  161.  
  162.                 eHookContext.hookBefore(window, 'clearInterval', function (method, args) {
  163.                     var id = args[0];
  164.                     if (timerContext._intervalIds[i]) {
  165.                         args[0] = timerContext._intervalIds[i].nowId;
  166.                     }
  167.  
  168.                     delete timerContext._intervalIds[i];
  169.                 });
  170.  
  171.                 eHookContext.hookBefore(window, 'clearTimeout', function (method, args) {
  172.                     var id = args[0];
  173.                     if (timerContext._intervalIds[i]) {
  174.                         args[0] = timerContext._intervalIds[i].nowId;
  175.                     }
  176.  
  177.                     delete timerContext._intervalIds[i];
  178.                 });
  179.  
  180.                 eHookContext.hookBefore(window, 'setTimeout', function (method, args) {
  181.                     args[1] *= timerContext._percentage;
  182.                 });
  183.                 var newFunc = this.getHookedDateConstructor();
  184.                 eHookContext.hookClass(window, 'Date', newFunc, '_innerDate', ['now']);
  185.                 Date.now = function () {
  186.                     return new Date().getTime();
  187.                 };
  188.                 eHookContext.hookedToString(timerContext._Date.now, Date.now);
  189.                 var objToString = Object.prototype.toString;
  190.  
  191.                 eHookContext.hookAfter(Object.prototype, 'toString', function (m, args, result) {
  192.                     if (this instanceof timerContext._mDate) {
  193.                         return '[object Date]';
  194.                     } else {
  195.                         return result;
  196.                     }
  197.                 }, false);
  198.  
  199.                 eHookContext.hookedToString(objToString, Object.prototype.toString);
  200.                 eHookContext.hookedToString(timerContext._setInterval, setInterval);
  201.                 eHookContext.hookedToString(timerContext._setTimeout, setTimeout);
  202.                 eHookContext.hookedToString(timerContext._clearInterval, clearInterval);
  203.                 timerContext._mDate = window.Date;
  204.                 this.hookShadowRoot();
  205.             },
  206.             getHookedDateConstructor: function () {
  207.                 return function () {
  208.                     if (arguments.length === 1) {
  209.                         Object.defineProperty(this, '_innerDate', {
  210.                             configurable: false,
  211.                             enumerable: false,
  212.                             value: new timerContext._Date(arguments[0]),
  213.                             writable: false
  214.                         });
  215.                         return;
  216.                     } else if (arguments.length > 1) {
  217.                         var definedValue;
  218.                         switch (arguments.length) {
  219.                             case 2:
  220.                                 definedValue = new timerContext._Date(
  221.                                     arguments[0],
  222.                                     arguments[1]
  223.                                 );
  224.                                 break;
  225.                             case 3:
  226.                                 definedValue = new timerContext._Date(
  227.                                     arguments[0],
  228.                                     arguments[1],
  229.                                     arguments[2],
  230.                                 );
  231.                                 break;
  232.                             case 4:
  233.                                 definedValue = new timerContext._Date(
  234.                                     arguments[0],
  235.                                     arguments[1],
  236.                                     arguments[2],
  237.                                     arguments[3],
  238.                                 );
  239.                                 break;
  240.                             case 5:
  241.                                 definedValue = new timerContext._Date(
  242.                                     arguments[0],
  243.                                     arguments[1],
  244.                                     arguments[2],
  245.                                     arguments[3],
  246.                                     arguments[4]
  247.                                 );
  248.                                 break;
  249.                             case 6:
  250.                                 definedValue = new timerContext._Date(
  251.                                     arguments[0],
  252.                                     arguments[1],
  253.                                     arguments[2],
  254.                                     arguments[3],
  255.                                     arguments[4],
  256.                                     arguments[5]
  257.                                 );
  258.                                 break;
  259.                             default:
  260.                             case 7:
  261.                                 definedValue = new timerContext._Date(
  262.                                     arguments[0],
  263.                                     arguments[1],
  264.                                     arguments[2],
  265.                                     arguments[3],
  266.                                     arguments[4],
  267.                                     arguments[5],
  268.                                     arguments[6]
  269.                                 );
  270.                                 break;
  271.                         }
  272.  
  273.                         Object.defineProperty(this, '_innerDate', {
  274.                             configurable: false,
  275.                             enumerable: false,
  276.                             value: definedValue,
  277.                             writable: false
  278.                         });
  279.                         return;
  280.                     }
  281.                     var now = timerContext._Date.now();
  282.                     var passTime = now - timerContext.__lastDatetime;
  283.                     var hookPassTime = passTime * (1 / timerContext._percentage);
  284.                     // console.log(__this.__lastDatetime + hookPassTime, now,__this.__lastDatetime + hookPassTime - now);
  285.                     Object.defineProperty(this, '_innerDate', {
  286.                         configurable: false,
  287.                         enumerable: false,
  288.                         value: new timerContext._Date(timerContext.__lastMDatetime + hookPassTime),
  289.                         writable: false
  290.                     });
  291.                 };
  292.             },
  293.             registerShortcutKeys: function (timer) {
  294.  
  295.                 addEventListener('keydown', function (e) {
  296.                     switch (e.keyCode) {
  297.                         // [=]
  298.                         case 190:
  299.                         case 187: {
  300.                             if (e.ctrlKey) {
  301.                                 // console.log('+2');
  302.                                 timer.changeTime(2, 0, true);
  303.                             } else if (e.altKey) {
  304.                                 // console.log('x4');
  305.                                 timer.changeTime(0, 4);
  306.                             }
  307.                             break;
  308.                         }
  309.                         // [-]
  310.                         case 188:
  311.                         case 189: {
  312.                             if (e.ctrlKey) {
  313.                                 // console.log('-2');
  314.                                 timer.changeTime(-2, 0, true);
  315.                             } else if (e.altKey) {
  316.                                 // console.log('x-4');
  317.                                 timer.changeTime(0, -4);
  318.                             }
  319.                             break;
  320.                         }
  321.                         // [0]
  322.                         case 48: {
  323.                             if (e.ctrlKey || e.altKey) {
  324.                                 // console.log('reset');
  325.                                 timer.changeTime(0, 0, false, true);
  326.                             }
  327.                             break;
  328.                         }
  329.                         default:
  330.                         // console.log(e);
  331.                     }
  332.                 });
  333.             },
  334.  
  335.             percentageChangeHandler: function (percentage) {
  336.  
  337.                 util.ergodicObject(timerContext, timerContext._intervalIds, function (idObj, id) {
  338.                     idObj.args[1] = Math.floor(idObj.args[2] * percentage);
  339.  
  340.                     this._clearInterval.call(window, idObj.nowId);
  341.  
  342.                     idObj.nowId = this._setInterval.apply(window, idObj.args);
  343.                 });
  344.             },
  345.             hookShadowRoot: function () {
  346.                 var origin = Element.prototype.attachShadow;
  347.                 eHookContext.hookAfter(Element.prototype, 'attachShadow',
  348.                     function (m, args, result) {
  349.                         extraElements.push(result);
  350.                         return result;
  351.                     }, false);
  352.                 eHookContext.hookedToString(origin, Element.prototype.attachShadow);
  353.             }
  354.         }
  355.     };
  356.  
  357.     var normalUtil = {
  358.         isInIframe: function () {
  359.             let is = global.parent !== global;
  360.             try {
  361.                 is = is && global.parent.document.body.tagName !== 'FRAMESET'
  362.             } catch (e) {
  363.  
  364.             }
  365.             return is;
  366.         },
  367.         listenParentEvent: function (handler) {
  368.             global.addEventListener('message', function (e) {
  369.                 var data = e.data;
  370.                 var type = data.type || '';
  371.                 if (type === 'changePercentage') {
  372.                     handler(data.percentage || 0);
  373.                 }
  374.             })
  375.         },
  376.         sentChangesToIframe: function (percentage) {
  377.             var iframes = document.querySelectorAll('iframe') || [];
  378.             var frames = document.querySelectorAll('frame');
  379.             if (iframes.length) {
  380.                 for (var i = 0; i < iframes.length; i++) {
  381.                     iframes[i].contentWindow.postMessage(
  382.                         {type: 'changePercentage', percentage: percentage}, '*');
  383.                 }
  384.             }
  385.             if (frames.length) {
  386.                 for (var j = 0; j < frames.length; j++) {
  387.                     frames[j].contentWindow.postMessage(
  388.                         {type: 'changePercentage', percentage: percentage}, '*');
  389.                 }
  390.             }
  391.         }
  392.     };
  393.  
  394.     var querySelectorAll = function (ele, selector, includeExtra) {
  395.         var elements = ele.querySelectorAll(selector);
  396.         elements = Array.prototype.slice.call(elements || []);
  397.         if (includeExtra) {
  398.             extraElements.forEach(function (element) {
  399.                 elements = elements.concat(querySelectorAll(element, selector, false));
  400.             })
  401.         }
  402.         return elements;
  403.     };
  404.  
  405.     var generate = function () {
  406.         return function (util) {
  407.  
  408.             workerURLs.forEach(function (url) {
  409.                 if (util.urlMatching(location.href, 'http.*://.*' + url + '.*')) {
  410.                     window['Worker'] = undefined;
  411.                     console.log('Worker disabled');
  412.                 }
  413.             });
  414.             var eHookContext = this;
  415.             var timerHooker = {
  416.  
  417.                 _intervalIds: {},
  418.  
  419.                 __percentage: 1.0,
  420.  
  421.                 _setInterval: window['setInterval'],
  422.                 _clearInterval: window['clearInterval'],
  423.                 _clearTimeout: window['clearTimeout'],
  424.                 _setTimeout: window['setTimeout'],
  425.                 _Date: window['Date'],
  426.                 __lastDatetime: new Date().getTime(),
  427.                 __lastMDatetime: new Date().getTime(),
  428.                 videoSpeedInterval: 1000,
  429.  
  430.                 init: function () {
  431.                     var timerContext = this;
  432.                     var h = helper(eHookContext, timerContext, util);
  433.  
  434.                     h.applyHooking();
  435.  
  436.  
  437.                     Object.defineProperty(timerContext, '_percentage', {
  438.                         get: function () {
  439.                             return timerContext.__percentage;
  440.                         },
  441.                         set: function (percentage) {
  442.                             if (percentage === timerContext.__percentage) {
  443.                                 return percentage;
  444.                             }
  445.                             h.percentageChangeHandler(percentage);
  446.                             timerContext.__percentage = percentage;
  447.                             return percentage;
  448.                         }
  449.                     });
  450.  
  451.                     if (!normalUtil.isInIframe()) {
  452.                         console.log('[TimeHooker]', 'loading outer window...');
  453.                         h.applyUI();
  454.                         h.applyGlobalAction(timerContext);
  455.                         h.registerShortcutKeys(timerContext);
  456.                     } else {
  457.                         console.log('[TimeHooker]', 'loading inner window...');
  458.                         normalUtil.listenParentEvent((function (percentage) {
  459.                             console.log('[TimeHooker]', 'Inner Changed', percentage)
  460.                             this.change(percentage);
  461.                         }).bind(this))
  462.                     }
  463.                 },
  464.  
  465.                 change: function (percentage) {
  466.                     var _this = this;
  467.                     this.__lastMDatetime = this._mDate.now();
  468.                     this.__lastDatetime = this._Date.now();
  469.                     this._percentage = percentage;
  470.                     var oldNode = document.getElementsByClassName('_th-click-hover');
  471.                     var oldNode1 = document.getElementsByClassName('_th_times');
  472.                     (oldNode[0] || {}).innerHTML = 'x' + 1 / this._percentage;
  473.                     (oldNode1[0] || {}).innerHTML = 'x' + 1 / this._percentage;
  474.                     var a = document.getElementsByClassName('_th_cover-all-show-times')[0] || {};
  475.                     a.className = '_th_cover-all-show-times';
  476.                     this._setTimeout.bind(window)(function () {
  477.                         a.className = '_th_cover-all-show-times _th_hidden';
  478.                     }, 100);
  479.                     this.changeVideoSpeed();
  480.                     this._clearInterval.bind(window)(this.videoSpeedIntervalId);
  481.                     this.videoSpeedIntervalId = this._setInterval.bind(window)(function () {
  482.                         _this.changeVideoSpeed();
  483.                         var rate = 1 / _this._percentage;
  484.                         if (rate === 1) {
  485.                             _this._clearInterval.bind(window)(_this.videoSpeedIntervalId);
  486.                         }
  487.                     }, this.videoSpeedInterval);
  488.                     normalUtil.sentChangesToIframe(percentage);
  489.                 },
  490.                 changeVideoSpeed: function () {
  491.                     var rate = 1 / this._percentage;
  492.                     rate > 16 && (rate = 16);
  493.                     rate < 0.065 && (rate = 0.065);
  494.  
  495.                     var videos = querySelectorAll(document, 'video', true) || [];
  496.                     if (videos.length) {
  497.                         for (var i = 0; i < videos.length; i++) {
  498.                             videos[i].playbackRate = rate;
  499.                         }
  500.                     }
  501.                 }
  502.             };
  503.  
  504.             timerHooker.init();
  505.             return timerHooker;
  506.         }
  507.     };
  508.  
  509.     if (global.eHook) {
  510.         global.eHook.plugins({
  511.             name: 'timer',
  512.  
  513.             mount: generate()
  514.         });
  515.     }
  516. }(window);
  517. var body=document.getElementsByTagName("body")[0]
  518. var count=0
  519. var gun=0
  520. var bhop=0
  521. var run=0
  522. var custt=0
  523. var re=0
  524. var lag=0
  525. alert("Game Has been Hacked By GSRHackZ,....Click K on your keyboard 3x to view controls!!     P.S: please wait 2-3 seconds after dying before clicking 'Click To Play'")
  526. body.addEventListener("keyup", function(event) {
  527.     if (event.keyCode === 107||event.keyCode==51) {
  528.      event.preventDefault();
  529.      document.getElementsByClassName("_th-item _item-x2")[0].click();
  530.     }
  531.     else if(event.keyCode===109||event.keyCode==50){
  532.         event.preventDefault();
  533.         document.getElementsByClassName("_th-item _item-x-2")[0].click()
  534.     }
  535.     else if(event.keyCode==9||event.keyCode==20){
  536.         count++;
  537.         event.preventDefault();
  538.         if (count==1){
  539.             if(localStorage.getItem("lag")==null){
  540.         document.getElementsByClassName("_th-item _item-x4")[0].click();
  541.         document.getElementsByClassName("_th-item _item-x4")[0].click();
  542.         document.getElementsByClassName("_th-item _item-x4")[0].click();
  543.         setTimeout(function(){ document.getElementsByClassName("_th-item _item-reset")[0].click();count=0},100000);}
  544.             else if(localStorage.getItem("lag")!==null){
  545.                 document.getElementsByClassName("_th-item _item-reset")[0].click();
  546.                 document.getElementsByClassName("_th-item _item-x2")[0].click();
  547.                 document.getElementsByClassName("_th-item _item-x2")[0].click();
  548.                 setTimeout(function(){ document.getElementsByClassName("_th-item _item-reset")[0].click();count=0},7000);
  549.             }
  550.         }
  551.         else if(count==2){
  552.         document.getElementsByClassName("_th-item _item-reset")[0].click();
  553.         count=0;
  554.         }
  555.     }
  556.    else if (event.keyCode==17){
  557.    gun++
  558.    if (gun==1){
  559.        setTimeout(function(){document.getElementById("customizeButton").click()},100)
  560.        setTimeout(function(){document.getElementsByClassName("settText floatR")[0].click()},200)
  561.        setTimeout(function(){document.getElementsByClassName("classCard")[0].click()},300)}
  562.    else if (gun==2){
  563.        setTimeout(function(){document.getElementById("customizeButton").click()},100)
  564.        setTimeout(function(){document.getElementsByClassName("settText floatR")[0].click()},200)
  565.        setTimeout(function(){document.getElementsByClassName("classCard")[2].click()},300);
  566.    }
  567.    else if (gun==3){
  568.        setTimeout(function(){document.getElementById("customizeButton").click()},100)
  569.        setTimeout(function(){document.getElementsByClassName("settText floatR")[0].click()},200)
  570.        setTimeout(function(){document.getElementsByClassName("classCard")[3].click()},300);
  571.  
  572.    }
  573.       else if (gun==4){
  574.        setTimeout(function(){document.getElementById("customizeButton").click()},100)
  575.        setTimeout(function(){document.getElementsByClassName("settText floatR")[0].click()},200)
  576.        setTimeout(function(){document.getElementsByClassName("classCard")[4].click()},300);
  577.  
  578.    }
  579.      else if (gun==5){
  580.        setTimeout(function(){document.getElementById("customizeButton").click()},100)
  581.        setTimeout(function(){document.getElementsByClassName("settText floatR")[0].click()},200)
  582.        setTimeout(function(){document.getElementsByClassName("classCard")[5].click()},300);
  583.        gun=0;
  584.    }
  585.    }
  586.     else if (event.keyCode==192){
  587.         bhop++
  588.         if(bhop==1){
  589.         setTimeout(function(){alert("Auto BHOP is now Turned on!!")},500)
  590.             setTimeout(function(){alert("AUTO BHOP is still being developed, click ~ again to turn it off")
  591.  
  592.             },600);
  593.  
  594.         }
  595.         else if(bhop==2){
  596.         setTimeout(function(){alert("Auto BHOP is now Turned off!!")},500)
  597.             bhop=0;
  598.         }
  599.     }
  600.   else if(event.keyCode==8){
  601.       run++
  602.       body.onmousedown=function(){
  603.           if(run==1){
  604.           document.getElementsByClassName("_th-item _item-x4")[0].click();
  605.           document.getElementsByClassName("_th-item _item-x4")[0].click();}}
  606.       body.onmouseup=function(){
  607.           document.getElementsByClassName("_th-item _item-reset")[0].click()}
  608.       if(run==2){
  609.       document.getElementsByClassName("_th-item _item-reset")[0].click()
  610.           run=0;
  611.       }
  612.  
  613.   }
  614.  
  615. else if (event.keyCode==75){
  616. custt++;
  617.     setTimeout(function(){custt=0},1200)
  618.     if (custt==3){
  619.     alert(`HERE ARE THE CONTROLS:
  620.  
  621. [C] QUICK BURST OF SPEED, BEST FOR CAPTURE THE FLAG
  622. [2]DECREASE SPEED OF PLAYER
  623. [3]INCREASE SPEED OF PLAYER
  624. [B]INCREASE SPEED OF GUN, BEST FOR ANYTIME!!
  625. [C]QUICK GUN SWITCH BETWEEN TOP RATED GUNS
  626. [R]Leave a good review!! (>_<) click 5 times in a row to activate
  627. [L]Anti lag, quick burst of speed decreases to 5x instead of 64x, quickshoot not affected
  628. [k]View controls.... click 3x
  629.  
  630.  
  631. **ON NUMPAD**
  632. [+]INCREASE SPEED OF PLAYER
  633. [-]DECREASE SPEED OF PLAYER
  634.  
  635. **YOU CAN CLICK HE BUTTONS AGAIN TO TOGGLE ON AND OFF**
  636.  
  637. **MY NAME IS EGGZZY2015 ON KRUNKER.IO, IF U SEE ME U BETTER SAY THX LOL!!**`)
  638.         custt=0;
  639.     }
  640. }
  641. else if(event.keyCode==82){
  642.     re++
  643.     console.log(re)
  644.     setTimeout(function(){re=0},1300)
  645.     if(re==5){
  646.     window.open("https://greasyfork.org/en/scripts/404954-krunker-io-speed-hackzzz/feedback");
  647.         re=0;
  648.     }
  649. }
  650.     else if(event.keyCode==76){
  651.         if(localStorage.getItem("lag")==null){
  652.         localStorage.setItem("lag",1)}
  653.         else if(localStorage.getItem("lag")!==null){
  654.         localStorage.removeItem("lag");
  655.         }
  656.  
  657.     }
  658. })
RAW Paste Data