Krunker.IO Aimbot & ESP (Clean, No-ADS etc...) - Pastebin.com (2024)

  1. // ==UserScript==

  2. // @name Krunker.IO Aimbot & ESP

  3. // @namespace http://tampermonkey.net/

  4. // @version 0.2.1

  5. // @description Locks aim to the nearest player in krunker.io and shows players behind walls. Also shows a line between you and them.

  6. // @author Someone

  7. // @match *://krunker.io/*

  8. // @match *://browserfps.com/*

  9. // @exclude *://krunker.io/social*

  10. // @exclude *://krunker.io/editor*

  11. // @icon https://www.google.com/s2/favicons?domain=krunker.io

  12. // @grant none

  13. // @run-at document-start

  14. // @require https://unpkg.com/three@latest/build/three.min.js

  15. // ==/UserScript==

  16. let scene;

  17. const x = {

  18. document: document,

  19. querySelector: document.querySelector,

  20. consoleLog: console.log,

  21. ReflectApply: Reflect.apply,

  22. ArrayPrototype: Array.prototype

  23. };

  24. const proxied = new Proxy(Array.prototype.push, {

  25. apply(target, thisArgs, [object]) {

  26. try {

  27. if (typeof object === 'object' &&

  28. typeof object.parent === 'object' &&

  29. object.parent.type === 'Scene' &&

  30. object.parent.name === 'Main') {

  31. scene = object.parent;

  32. }

  33. } catch (error) {

  34. }

  35. return x.ReflectApply(...arguments);

  36. }

  37. });

  38. const interval = setInterval(function () {

  39. const el = x.querySelector.call(x.document, '#initLoader');

  40. if (el && el.style.display === 'none') {

  41. x.consoleLog('Injecting!');

  42. x.ArrayPrototype.push = proxied;

  43. clearInterval(interval);

  44. }

  45. }, 1);

  46. let espEnabled = true;

  47. let aimbotEnabled = true;

  48. let aimbotOnRightMouse = true;

  49. let espLinesEnabled = true;

  50. const tempVector = new THREE.Vector3();

  51. const tempObject = new THREE.Object3D();

  52. tempObject.rotation.order = 'YXZ';

  53. const geometry = new THREE.EdgesGeometry(new THREE.BoxGeometry(5, 15, 5).translate(0, 7.5, 0));

  54. const material = new THREE.RawShaderMaterial({

  55. vertexShader: `

  56. attribute vec3 position;

  57. uniform mat4 projectionMatrix;

  58. uniform mat4 modelViewMatrix;

  59. void main() {

  60. gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

  61. gl_Position.z = 1.0;

  62. }

  63. `,

  64. fragmentShader: `

  65. void main() {

  66. gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );

  67. }

  68. `

  69. });

  70. const line = new THREE.LineSegments(new THREE.BufferGeometry(), material);

  71. line.frustumCulled = false;

  72. const linePositions = new THREE.BufferAttribute(new Float32Array(100 * 2 * 3), 3);

  73. line.geometry.setAttribute('position', linePositions);

  74. function animate() {

  75. window.requestAnimationFrame(animate);

  76. if (scene === undefined) {

  77. return;

  78. }

  79. const players = [];

  80. let myPlayer;

  81. for (let i = 0; i < scene.children.length; i++) {

  82. const child = scene.children[i];

  83. if (child.type === 'Object3D') {

  84. try {

  85. if (child.children[0].children[0].type === 'PerspectiveCamera') {

  86. myPlayer = child;

  87. } else {

  88. players.push(child);

  89. }

  90. } catch (err) {

  91. }

  92. }

  93. }

  94. let counter = 0;

  95. let targetPlayer;

  96. let minDistance = Infinity;

  97. tempObject.matrix.copy(myPlayer.matrix).invert()

  98. for (let i = 0; i < players.length; i++) {

  99. const player = players[i];

  100. if (!player.box) {

  101. const box = new THREE.LineSegments(geometry, material);

  102. box.frustumCulled = false;

  103. player.add(box);

  104. player.box = box;

  105. }

  106. if (player.position.x === myPlayer.position.x && player.position.z === myPlayer.position.z) {

  107. player.box.visible = false;

  108. if (line.parent !== player) {

  109. player.add(line);

  110. }

  111. continue;

  112. }

  113. linePositions.setXYZ(counter++, 0, 10, -5);

  114. tempVector.copy(player.position);

  115. tempVector.y += 9;

  116. tempVector.applyMatrix4(tempObject.matrix);

  117. linePositions.setXYZ(

  118. counter++,

  119. tempVector.x,

  120. tempVector.y,

  121. tempVector.z

  122. );

  123. player.visible = espEnabled || player.visible;

  124. player.box.visible = espEnabled;

  125. const distance = player.position.distanceTo(myPlayer.position);

  126. if (distance < minDistance) {

  127. targetPlayer = player;

  128. minDistance = distance;

  129. }

  130. }

  131. linePositions.needsUpdate = true;

  132. line.geometry.setDrawRange(0, counter);

  133. line.visible = espLinesEnabled;

  134. if (aimbotEnabled === false || (aimbotOnRightMouse && !rightMouseDown) || targetPlayer === undefined) {

  135. return;

  136. }

  137. tempVector.setScalar(0);

  138. targetPlayer.children[0].children[0].localToWorld(tempVector);

  139. tempObject.position.copy(myPlayer.position);

  140. tempObject.lookAt(tempVector);

  141. myPlayer.children[0].rotation.x = -tempObject.rotation.x;

  142. myPlayer.rotation.y = tempObject.rotation.y + Math.PI;

  143. }

  144. const value = parseInt(new URLSearchParams(window.location.search).get('showAd'), 16);

  145. const el = document.createElement('div');

  146. el.innerHTML = `<style>

  147. .dialog {

  148. position: absolute;

  149. left: 50%;

  150. top: 50%;

  151. padding: 20px;

  152. background: rgba(0, 0, 0, 0.8);

  153. border: 6px solid rgba(0, 0, 0, 0.2);

  154. color: #fff;

  155. transform: translate(-50%, -50%);

  156. text-align: center;

  157. z-index: 999999;

  158. }

  159. .dialog * {

  160. color: #fff;

  161. }

  162. .close {

  163. position: absolute;

  164. right: 5px;

  165. top: 5px;

  166. width: 20px;

  167. height: 20px;

  168. opacity: 0.5;

  169. cursor: pointer;

  170. }

  171. .close:before, .close:after {

  172. content: ' ';

  173. position: absolute;

  174. left: 50%;

  175. top: 50%;

  176. width: 100%;

  177. height: 20%;

  178. transform: translate(-50%, -50%) rotate(-45deg);

  179. background: #fff;

  180. }

  181. .close:after {

  182. transform: translate(-50%, -50%) rotate(45deg);

  183. }

  184. .close:hover {

  185. opacity: 1;

  186. }

  187. .btn {

  188. cursor: pointer;

  189. padding: 0.5em;

  190. background: red;

  191. border: 3px solid rgba(0, 0, 0, 0.2);

  192. }

  193. .btn:active {

  194. transform: scale(0.8);

  195. }

  196. .msg {

  197. position: absolute;

  198. left: 10px;

  199. bottom: 10px;

  200. color: #fff;

  201. background: rgba(0, 0, 0, 0.6);

  202. font-weight: bolder;

  203. padding: 15px;

  204. animation: msg 0.5s forwards, msg 0.5s reverse forwards 3s;

  205. z-index: 999999;

  206. pointer-events: none;

  207. }

  208. @keyframes msg {

  209. from {

  210. transform: translate(-120%, 0);

  211. }

  212. to {

  213. transform: none;

  214. }

  215. }

  216. </style>

  217. <div class="msg" style="display: none;"></div>

  218. <div class="dialog">

  219. <big>== Aimbot & ESP ==</big>

  220. <br>

  221. <br>

  222. [B] to toggle aimbot

  223. <br>

  224. [V] to toggle ESP

  225. <br>

  226. [N] to toggle ESP Lines

  227. <br>

  228. [L] to toggle aimbot on <br>right mouse hold

  229. <br>

  230. [H] to show/hide help

  231. </div>`;

  232. const msgEl = el.querySelector('.msg');

  233. const dialogEl = el.querySelector('.dialog');

  234. window.addEventListener('DOMContentLoaded', function () {

  235. while (el.children.length > 0) {

  236. document.body.appendChild(el.children[0]);

  237. }

  238. });

  239. let rightMouseDown = false;

  240. function handleMouse(event) {

  241. if (event.button === 2) {

  242. rightMouseDown = event.type === 'pointerdown' ? true : false;

  243. }

  244. }

  245. window.addEventListener('pointerdown', handleMouse);

  246. window.addEventListener('pointerup', handleMouse);

  247. window.addEventListener('keyup', function (event) {

  248. switch (event.code) {

  249. case 'KeyV':

  250. espEnabled = !espEnabled;

  251. showMsg('ESP', espEnabled);

  252. break;

  253. case 'KeyB':

  254. aimbotEnabled = !aimbotEnabled;

  255. showMsg('Aimbot', aimbotEnabled);

  256. break;

  257. case 'KeyH':

  258. dialogEl.style.display = dialogEl.style.display === '' ? 'none' : '';

  259. break;

  260. case 'KeyL':

  261. aimbotOnRightMouse = !aimbotOnRightMouse;

  262. showMsg('Aimbot On Right Mouse Hold', aimbotOnRightMouse);

  263. break;

  264. case 'KeyN':

  265. espLinesEnabled = !espLinesEnabled;

  266. showMsg('ESP Lines', espLinesEnabled);

  267. break;

  268. }

  269. });

  270. function showMsg(name, bool) {

  271. msgEl.innerText = name + ': ' + (bool ? 'ON' : 'OFF');

  272. msgEl.style.display = 'none';

  273. void msgEl.offsetWidth;

  274. msgEl.style.display = '';

  275. }

  276. animate();

Krunker.IO Aimbot & ESP (Clean, No-ADS etc...) - Pastebin.com (2024)

References

Top Articles
How to use the New Lunar Client Launcher
Frequently Asked Questions | Lunar Client
Jps Occupational Health Clinic
Strange World Showtimes Near Amc Brazos Mall 14
Blackstone Launchpad Ucf
9294164879
Wym Urban Dictionary
Jay Cutler of NFL Biography, Wife, Career Stats, Net Worth &amp; Salary
Great Buildings Forge Of Empires
South Park Season 26 Kisscartoon
I Feel Pretty (2018) | Rotten Tomatoes
Barber King Bargain Shop Tulsa Photos
Urology Match Spreadsheet
Cratebrowser
Ta Travel Center Las Cruces Photos
Maya Mixon Portnoy
PNC Bank Review 2024
Where Is The Nearest Five Below
Math Playground Protractor
Nantucket Hdc
What is IXL and How Does it Work?
Fandango Movies And Shows
Gsmst Graduation 2023
Massage Parlor Columbus Ohio
Twitter claims there’s “no evidence” 200 million leaked usernames and email addresses came from an exploit of its systems
Student Exploration Gravity Pitch
Wisconsin Public Library Consortium
Uhauldealer.com Login Page
Lincoln Financial Field Section 110
The 7 Cs of Communication: Enhancing Productivity and Effectiveness
Craigslist Palm Desert California
Top Chef Airer Nyt Crossword Clue
Chihuahua Adoption in Las Vegas, NV: Chihuahua Puppies for Sale in Las Vegas, NV - Adoptapet.com
Centricitykp
Vhl Spanish 2 Answer Key
U-Haul Hitch Installation / Trailer Hitches for Towing (UPDATED) | RV and Playa
How to paint a brick fireplace (the right way)
Lucky Money Strain
Rockin That Orange Jumpsuit Columbia County
Skip Da Games.com
Healthstream Mobile Infirmary
Zmeenaorrxclusive
Webworx Call Management
Prodigy Login For Students
Egg Inc Ultimate Walkthrough & Game Guide - Talk Android
Brokaw 24 Hour Fitness
Katmovie.hs
The 7 best games similar to Among Us for Android - Sbenny’s Blog
American Medical Response hiring EMT Basic - Bridgeport in Bridgeport, CT | LinkedIn
Craigslist Groton
Guy Ritchie's The Covenant Showtimes Near Century 16 Eastport Plaza
Local artist makes award-winning reflection of his home, Duluth
Latest Posts
Article information

Author: Duane Harber

Last Updated:

Views: 6167

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duane Harber

Birthday: 1999-10-17

Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

Phone: +186911129794335

Job: Human Hospitality Planner

Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.