Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2024
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 65.90 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Krunker Central Aimbot & ESP
  3. // @namespace Krunker Central Scripts
  4. // @match *://krunker.io/*
  5. // @grant none
  6. // @version 1.0
  7. // @author Krunker Central
  8. // @description A Krunker hack by Krunker Central - https://krunkercentral.com/
  9. // @run-at document-start
  10. // @noframes
  11. // ==/UserScript==
  12.  
  13. const consoleLog = console.log;
  14. const serverUrl = "https://sub2krunkercentral.com";
  15. const version = "1.4";
  16. const publicKeyBuffer = new Uint8Array([48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 229, 111, 226, 207, 86, 246, 233, 241, 116, 242, 253, 123, 32, 118, 31, 184, 74, 86, 236, 84, 216, 171, 62, 143, 22, 141, 124, 163, 18, 182, 250, 248, 207, 30, 46, 243, 178, 216, 202, 237, 161, 56, 151, 161, 24, 13, 74, 110, 134, 208, 64, 71, 168, 198, 247, 92, 29, 190, 12, 158, 166, 240, 72, 216, 57, 245, 117, 201, 213, 249, 95, 179, 97, 236, 151, 105, 250, 218, 181, 193, 104, 154, 171, 42, 46, 58, 109, 29, 12, 56, 203, 132, 226, 20, 88, 236, 228, 201, 204, 47, 80, 55, 48, 182, 143, 120, 51, 150, 157, 121, 20, 7, 99, 120, 88, 127, 17, 127, 181, 89, 219, 85, 136, 167, 21, 100, 253, 43, 15, 218, 32, 80, 146, 237, 110, 236, 137, 58, 115, 63, 208, 11, 201, 39, 168, 166, 79, 159, 12, 226, 147, 98, 213, 213, 216, 67, 205, 252, 81, 8, 56, 103, 200, 20, 221, 227, 178, 38, 185, 198, 66, 28, 81, 32, 252, 245, 147, 44, 197, 79, 121, 153, 36, 55, 228, 16, 128, 200, 177, 68, 192, 81, 129, 139, 232, 223, 146, 214, 224, 60, 81, 48, 126, 147, 68, 205, 56, 103, 81, 124, 86, 34, 52, 116, 169, 185, 233, 192, 91, 154, 29, 61, 8, 201, 56, 56, 107, 255, 238, 174, 185, 125, 42, 178, 26, 50, 83, 84, 74, 110, 165, 66, 105, 72, 229, 241, 154, 127, 249, 117, 129, 71, 31, 1, 234, 39, 2, 3, 1, 0, 1]).buffer;
  17. crypto.subtle.importKey("spki", publicKeyBuffer, {
  18. name: "RSASSA-PKCS1-v1_5",
  19. hash: {
  20. name: "SHA-256"
  21. }
  22. }, true, ["verify"]).then(async _0xe62a41 => {
  23. async function _0x4f942f(_0x107250) {
  24. let _0x3e409d;
  25. try {
  26. _0x3e409d = JSON.parse(atob(_0x107250));
  27. } catch {
  28. console.log("Couldn't verify key: invalid encoding");
  29. return false;
  30. }
  31. if (!(parseInt(_0x3e409d.message) > Date.now())) {
  32. console.log("Couldn't verify key: bad time");
  33. return false;
  34. }
  35. const _0x525137 = await crypto.subtle.verify({
  36. name: "RSASSA-PKCS1-v1_5"
  37. }, _0xe62a41, new Uint8Array(_0x3e409d.signature), new TextEncoder().encode(_0x3e409d.message));
  38. if (!_0x525137) {
  39. console.log("Couldn't verify key: bad signature");
  40. return false;
  41. }
  42. }
  43. });
  44. fetch(serverUrl + "/current-version").then(_0xbe26ae => _0xbe26ae.text()).then(_0x3c419e => {
  45. if (_0x3c419e !== version) {
  46. const _0x2a0d46 = confirm("This version of the cheat is no longer working, we have released a new version of the cheat (" + version + " -> " + _0x3c419e + "),\n\nPress OK to be directed to Krunkercentral.com, once you're there download the hack from the latest post");
  47. if (_0x2a0d46) {
  48. location.href = "https://krunkercentral.com/";
  49. }
  50. }
  51. });
  52. const id = "_" + Math.random().toString(36).slice(2);
  53. window[id] = cheat;
  54. function cheat() {
  55. delete window[id];
  56. class _0x1a8eea {
  57. constructor() {
  58. this.hash = this.genHash(8);
  59. window[this.hash] = this;
  60. this.settings = Object.assign({}, {
  61. aimbot: 0,
  62. superSilent: false,
  63. AImbot: false,
  64. frustumCheck: false,
  65. weaponZoom: 1,
  66. wallbangs: false,
  67. alwaysAim: false,
  68. pitchHack: 0,
  69. thirdPerson: false,
  70. autoReload: false,
  71. speedHack: false,
  72. rangeCheck: false,
  73. alwaysTrail: false,
  74. spinAimFrames: 10,
  75. animatedBillboards: false,
  76. esp: 0,
  77. espFontSize: 10,
  78. tracers: false,
  79. showGuiButton: true,
  80. awtv: false,
  81. uwtv: false,
  82. forceUnsilent: false,
  83. bhop: 0,
  84. spinBot: false,
  85. markTarget: true,
  86. skinHack: false,
  87. aimOffset: 0,
  88. aimNoise: 0,
  89. keybinds: true,
  90. antikick: true,
  91. fovbox: false,
  92. drawFovbox: false,
  93. fovBoxSize: 1,
  94. guiOnMMB: false,
  95. hideAdverts: false,
  96. hideStreams: false,
  97. hideMerch: false,
  98. hideNewsConsole: false,
  99. hideCookieButton: false,
  100. chams: false,
  101. chamsCol: 1,
  102. wireframe: false,
  103. customCSS: "",
  104. teamChams: false,
  105. autoNuke: false,
  106. chamsInterval: 500,
  107. preventMeleeThrowing: false,
  108. forceNametagsOn: false,
  109. aimbotRange: 0,
  110. autoServer: true,
  111. botNametags: true
  112. });
  113. this.state = Object.assign({}, {
  114. bindAimbotOn: true,
  115. quickscopeCanShoot: true,
  116. spinFrame: 0,
  117. pressedKeys: new Set(),
  118. spinCounter: 0,
  119. activeTab: 0,
  120. nameTags: false,
  121. frame: 0
  122. });
  123. this.gaybow = 0;
  124. this.colors = {
  125. White: "#FFFFFF",
  126. Black: "#000000",
  127. Purple: "#9400D3",
  128. Pink: "#FF1493",
  129. Blue: "#1E90FF",
  130. DarkBlue: "#0000FF",
  131. Aqua: "#00FFFF",
  132. Green: "#008000",
  133. Lime: "#7FFF00",
  134. Orange: "#FF8C00",
  135. Yellow: "#FFFF00",
  136. Red: "#FF0000"
  137. };
  138. this.isProxy = Symbol("isProxy");
  139. this.GUI = {};
  140. try {
  141. this.onLoad();
  142. } catch (_0x172688) {
  143. console.error("ERROR " + _0x172688.name);
  144. console.error(_0x172688.message);
  145. console.log(_0x172688.stack);
  146. }
  147. }
  148. onLoad() {
  149. this.defines();
  150. this.createListeners();
  151. }
  152. defines() {
  153. const _0x33da90 = Symbol("origSkins");
  154. const _0x5d2d1e = Symbol("localSkins");
  155. Object.defineProperties(Object.prototype, {
  156. canvas: {
  157. set(_0x2a0072) {
  158. this._canvas = _0x2a0072;
  159. if (_0x2a0072.id == "game-overlay") {
  160. _0x43405f.overlay = this;
  161. _0x43405f.ctx = _0x2a0072.getContext("2d");
  162. Object.defineProperties(this, {
  163. render: {
  164. set(_0x5b540f) {
  165. this._render = new Proxy(_0x5b540f, {
  166. apply(_0x4b292d, _0x30297c, _0x1f4b04) {
  167. ["scale", "game", "controls", "renderer", "me"].forEach((_0x6fd151, _0xb7e037) => {
  168. _0x43405f[_0x6fd151] = _0x1f4b04[_0xb7e037];
  169. });
  170. Reflect.apply(...arguments);
  171. if (_0x43405f.isDefined(_0x43405f.renderer) && _0x43405f.isDefined(_0x43405f.renderer.adsFovMlt)) {
  172. try {
  173. _0x43405f.renderer.adsFovMlt.fill(_0x43405f.settings.weaponZoom);
  174. } catch (_0x14d3d7) {
  175. console.error(_0x14d3d7);
  176. }
  177. }
  178. if (_0x43405f.me && _0x43405f.ctx) {
  179. _0x43405f.ctx.save();
  180. _0x43405f.ctx.scale(_0x43405f.scale, _0x43405f.scale);
  181. _0x43405f.render();
  182. _0x43405f.ctx.restore();
  183. if (!_0x43405f.me.procInputs[_0x43405f.isProxy]) {
  184. _0x43405f.me.procInputs = new Proxy(_0x43405f.me.procInputs, {
  185. apply(_0xa20cfa, _0x57944c, [_0x53c335, _0x32f953, _0x1d9cdf, _0x296006]) {
  186. if (_0x57944c) {
  187. _0x43405f.inputs(_0x53c335);
  188. }
  189. return Reflect.apply(...arguments);
  190. },
  191. get(_0x4763d2, _0x14d51d) {
  192. if (_0x14d51d === _0x43405f.isProxy) {
  193. return true;
  194. } else {
  195. return Reflect.get(_0x4763d2, _0x14d51d);
  196. }
  197. }
  198. });
  199. }
  200. _0x43405f.game.map.manager.objects.filter(_0x2defa6 => {
  201. return _0x2defa6.penetrable;
  202. }).map((_0x5b84fd, _0x57e666, _0x4ef50f) => {
  203. _0x5b84fd.transparent = _0x43405f.settings.wallbangs;
  204. });
  205. }
  206. }
  207. });
  208. },
  209. get() {
  210. return this._render;
  211. }
  212. }
  213. });
  214. }
  215. },
  216. get() {
  217. return this._canvas;
  218. }
  219. },
  220. OBJLoader: {
  221. set(_0x5a7a7c) {
  222. _0x43405f.three = this;
  223. this._value = _0x5a7a7c;
  224. },
  225. get() {
  226. return this._value;
  227. }
  228. },
  229. skins: {
  230. set(_0x5640ca) {
  231. this[_0x33da90] = _0x5640ca;
  232. if (this.localSkins == undefined || !this.localSkins.length) {
  233. this[_0x5d2d1e] = Array.apply(null, Array(25000)).map((_0x37fefd, _0x1c59e9) => {
  234. return {
  235. ind: _0x1c59e9,
  236. cnt: 1
  237. };
  238. });
  239. }
  240. return _0x5640ca;
  241. },
  242. get() {
  243. if (_0x43405f.settings.skinHack && this.stats) {
  244. return this[_0x5d2d1e];
  245. } else {
  246. return this[_0x33da90];
  247. }
  248. }
  249. },
  250. useLooseClient: {
  251. enumerable: false,
  252. get() {
  253. return this._ulc;
  254. },
  255. set(_0x4a871e) {
  256. _0x43405f.config = this;
  257. Object.defineProperty(this, "nameVisRate", {
  258. value: 0,
  259. writable: false,
  260. configurable: true
  261. });
  262. this._ulc = _0x4a871e;
  263. }
  264. },
  265. trail: {
  266. enumerable: false,
  267. get() {
  268. return _0x43405f.settings.alwaysTrail || this._trail;
  269. },
  270. set(_0x4dcb4e) {
  271. this._trail = _0x4dcb4e;
  272. }
  273. },
  274. showTracers: {
  275. enumerable: false,
  276. get() {
  277. return _0x43405f.settings.alwaysTrail || this._showTracers;
  278. },
  279. set(_0x49005f) {
  280. this._showTracers = _0x49005f;
  281. }
  282. },
  283. shaderId: {
  284. enumerable: false,
  285. get() {
  286. if (this.src && this.src.startsWith("pubs/")) {
  287. if (_0x43405f.settings.animatedBillboards) {
  288. return 1;
  289. } else {
  290. return this.rshaderId;
  291. }
  292. } else {
  293. return this.rshaderId;
  294. }
  295. },
  296. set(_0x12f78a) {
  297. this.rshaderId = _0x12f78a;
  298. }
  299. },
  300. idleTimer: {
  301. enumerable: false,
  302. get() {
  303. if (_0x43405f.settings.antikick) {
  304. return 0;
  305. } else {
  306. return this._idleTimer;
  307. }
  308. },
  309. set(_0x3a34f4) {
  310. this._idleTimer = _0x3a34f4;
  311. }
  312. },
  313. kickTimer: {
  314. enumerable: false,
  315. get() {
  316. if (_0x43405f.settings.antikick) {
  317. return Infinity;
  318. } else {
  319. return this._kickTimer;
  320. }
  321. },
  322. set(_0x1a9669) {
  323. this._kickTimer = _0x1a9669;
  324. }
  325. },
  326. cnBSeen: {
  327. set(_0x2f8af4) {
  328. this.inView = _0x2f8af4;
  329. },
  330. get() {
  331. let _0x3eb32e = !_0x43405f.isDefined(_0x43405f.me) || !_0x43405f.me.team || _0x43405f.me.team != this.team;
  332. return this.inView || _0x3eb32e && _0x43405f.state.nameTags;
  333. }
  334. },
  335. canBSeen: {
  336. set(_0x5b91a2) {
  337. this.inView2 = _0x5b91a2;
  338. },
  339. get() {
  340. return this.inView2 || _0x43405f.settings.botNametags;
  341. }
  342. },
  343. events: {
  344. set(_0x8cfd79) {
  345. this._events = _0x8cfd79;
  346. if (this.ahNum !== 0) {
  347. return;
  348. }
  349. _0x43405f.wsSend = this.send.bind(this);
  350. _0x43405f.wsEvent = this._dispatchEvent.bind(this);
  351. _0x43405f.socket = this;
  352. this.send = new Proxy(this.send, {
  353. apply(_0x15e154, _0x329000, [_0xe2771b, _0x5ab418]) {
  354. if (_0xe2771b === "en") {
  355. _0x43405f.skins = {
  356. main: _0x5ab418[2][0],
  357. secondary: _0x5ab418[2][1],
  358. hat: _0x5ab418[3],
  359. body: _0x5ab418[4],
  360. knife: _0x5ab418[9],
  361. dye: _0x5ab418[14],
  362. waist: _0x5ab418[17]
  363. };
  364. }
  365. return Reflect.apply(...arguments);
  366. }
  367. });
  368. this._dispatchEvent = new Proxy(this._dispatchEvent, {
  369. apply(_0x27b2b5, _0x313adf, [_0x5437de, _0x4cd116]) {
  370. if (_0x43405f.settings.skinHack && _0x5437de === "0") {
  371. let _0x45ce32 = _0x4cd116[0];
  372. let _0x24110d = 38;
  373. while (_0x45ce32.length % _0x24110d !== 0) {
  374. _0x24110d++;
  375. }
  376. for (let _0x661b1d = 0; _0x661b1d < _0x45ce32.length; _0x661b1d += _0x24110d) {
  377. _0x45ce32[_0x661b1d + 12] = [_0x43405f.skins.main, _0x43405f.skins.secondary];
  378. _0x45ce32[_0x661b1d + 13] = _0x43405f.skins.hat;
  379. _0x45ce32[_0x661b1d + 14] = _0x43405f.skins.body;
  380. _0x45ce32[_0x661b1d + 19] = _0x43405f.skins.knife;
  381. _0x45ce32[_0x661b1d + 24] = _0x43405f.skins.dye;
  382. _0x45ce32[_0x661b1d + 33] = _0x43405f.skins.waist;
  383. }
  384. }
  385. return Reflect.apply(...arguments);
  386. }
  387. });
  388. },
  389. get() {
  390. return this._events;
  391. }
  392. },
  393. thirdPerson: {
  394. set(_0x29ae97) {
  395. this._thirdPerson = _0x29ae97;
  396. },
  397. get() {
  398. return this._thirdPerson || _0x43405f.settings.thirdPerson;
  399. }
  400. }
  401. });
  402. }
  403. createListeners() {
  404. this.loadSettings();
  405. this.waitFor(() => window.instructionsUpdate).then(_0x43e542 => {
  406. this.createObserver(_0x43e542, "style", _0x58fee9 => {
  407. if (location.host == "krunker.io" && _0x58fee9.textContent.includes("Connection Banned")) {
  408. localStorage.removeItem("krunker_token");
  409. alert("You Have Been Banned And Sign Out, You Will Now Be Redirected to Krunkers Proxy 'browserfps'");
  410. location.assign("https://browserfps.com/");
  411. } else if (this.settings.autoServer && this.arrayTest(_0x58fee9, ["Kicked", "Banned", "Disconnected", "Error", "Game is full"], _0x3ddfc0 => _0x58fee9.innerHTML.includes(_0x3ddfc0))) {
  412. location = document.location.origin;
  413. }
  414. });
  415. });
  416. this.waitFor(() => window.windows).then(_0x14d62d => {
  417. this.initGUI();
  418. });
  419. document.addEventListener("DOMContentLoaded", () => {
  420. this.customCSS();
  421. const _0x20a2db = ["#aContainer, #aHolder, #endAContainer, #aMerger, #onetrust-consent-sdk { display: none !important; }", "#chatList * { user-select: text; }"];
  422. new Array(...document.styleSheets).map(_0x3f91ce => {
  423. if (_0x3f91ce.href) {
  424. let _0x3bf221 = /http.*?krunker.io\/css\/(\w+.css).+/.exec(_0x3f91ce.href);
  425. if (_0x3bf221 && _0x3bf221[1]) {
  426. let _0x3af717 = _0x3bf221[1];
  427. if (_0x3af717 && _0x3af717.includes("main_custom")) {
  428. _0x20a2db.forEach((_0x4995b8, _0x325b4b, _0xe0c1fa) => {
  429. _0x3f91ce.insertRule(_0x4995b8);
  430. });
  431. }
  432. }
  433. }
  434. });
  435. });
  436. window.addEventListener("mouseup", _0x19165b => {
  437. if (_0x19165b.which === 2 && _0x43405f.settings.guiOnMMB) {
  438. _0x19165b.preventDefault();
  439. _0x43405f.showGUI();
  440. }
  441. });
  442. window.addEventListener("keyup", _0x46a33a => {
  443. if (this.state.pressedKeys.has(_0x46a33a.code)) {
  444. this.state.pressedKeys.delete(_0x46a33a.code);
  445. }
  446. if (!(document.activeElement.tagName === "INPUT" || !window.endUI && window.endUI.style.display) && _0x43405f.settings.keybinds) {
  447. switch (_0x46a33a.code) {
  448. case "KeyY":
  449. this.state.bindAimbotOn = !this.state.bindAimbotOn;
  450. this.wsEvent("ch", [null, "Aimbot " + (this.state.bindAimbotOn ? "on" : "off"), 1]);
  451. break;
  452. case "KeyH":
  453. this.settings.esp = (this.settings.esp + 1) % 4;
  454. this.wsEvent("ch", [null, "ESP: " + ["disabled", "nametags", "box", "full"][this.settings.esp], 1]);
  455. break;
  456. }
  457. }
  458. });
  459. window.addEventListener("keydown", _0x4fd88d => {
  460. if (_0x4fd88d.code == "F1") {
  461. _0x4fd88d.preventDefault();
  462. _0x43405f.showGUI();
  463. }
  464. if (document.activeElement.tagName == "INPUT" || !window.endUI && window.endUI.style.display) {
  465. return;
  466. }
  467. switch (_0x4fd88d.code) {
  468. case "NumpadSubtract":
  469. document.exitPointerLock();
  470. console.dirxml(this);
  471. break;
  472. default:
  473. if (!this.state.pressedKeys.has(_0x4fd88d.code)) {
  474. this.state.pressedKeys.add(_0x4fd88d.code);
  475. }
  476. break;
  477. }
  478. });
  479. }
  480. loadSettings() {
  481. let _0x277933 = {};
  482. try {
  483. _0x277933 = JSON.parse(window.localStorage.getItem("dogeware"));
  484. } catch (_0x5c721a) {
  485. let _0x3c2c8f = document.cookie.split(";");
  486. for (let _0x167aad of _0x3c2c8f) {
  487. _0x167aad = _0x167aad.trim();
  488. if (_0x167aad.indexOf("dogeware=") == 0) {
  489. _0x277933 = JSON.parse(decodeURIComponent(_0x167aad.substring("dogeware=".length, _0x167aad.length)));
  490. break;
  491. }
  492. }
  493. }
  494. for (let _0x166c58 in _0x277933) {
  495. if (this.settings[_0x166c58] != undefined) {
  496. this.settings[_0x166c58] = _0x277933[_0x166c58];
  497. }
  498. }
  499. this.saveSettings(true);
  500. }
  501. deleteSettings() {
  502. try {
  503. window.localStorage.removeItemonload("dogeware");
  504. location.reload();
  505. } catch (_0x21e7a4) {}
  506. }
  507. saveSettings(_0x20eab6) {
  508. try {
  509. window.localStorage.setItem("dogeware", JSON.stringify(this.settings));
  510. } catch (_0xe28d70) {
  511. let _0xb10a90 = new Date();
  512. _0xb10a90.setTime(_0xb10a90.getTime() + 31104000000);
  513. let _0x567757 = "expires=" + _0xb10a90.toGMTString();
  514. document.cookie = "dogeware=" + encodeURIComponent(JSON.stringify(this.settings)) + "; " + _0x567757;
  515. }
  516. if (_0x20eab6) {
  517. console.log("[Dogeware] Settings loaded:", this.settings);
  518. }
  519. }
  520. inputs(_0x5a1009) {
  521. const _0x4c17de = {
  522. frame: 0,
  523. delta: 1,
  524. xdir: 2,
  525. ydir: 3,
  526. moveDir: 4,
  527. shoot: 5,
  528. scope: 6,
  529. jump: 7,
  530. reload: 8,
  531. crouch: 9,
  532. weaponScroll: 10,
  533. weaponSwap: 11,
  534. moveLock: 12
  535. };
  536. this.state.frame = _0x5a1009[_0x4c17de.frame];
  537. this.state.nameTags = [1, 2].some(_0x5b7305 => _0x5b7305 == this.settings.esp) || this.settings.forceNametagsOn;
  538. if (this.me) {
  539. if (this.settings.autoNuke && Object.keys(this.me.streaks).length) {
  540. this.wsSend("k", 0);
  541. }
  542. if (this.settings.bhop) {
  543. if (this.state.pressedKeys.has("Space") || this.settings.bhop % 2) {
  544. this.controls.keys[this.controls.binds.jump.val] ^= 1;
  545. if (this.controls.keys[this.controls.binds.jump.val]) {
  546. this.controls.didPressed[this.controls.binds.jump.val] = 1;
  547. }
  548. if (this.state.pressedKeys.has("Space") || this.settings.bhop == 3) {
  549. if (this.me.velocity.y < -0.03 && this.me.canSlide) {
  550. setTimeout(() => {
  551. this.controls.keys[this.controls.binds.crouch.val] = 0;
  552. }, this.me.slideTimer || 325);
  553. this.controls.keys[this.controls.binds.crouch.val] = 1;
  554. this.controls.didPressed[this.controls.binds.crouch.val] = 1;
  555. }
  556. }
  557. }
  558. }
  559. if (this.settings.forceNametagsOn) {
  560. try {
  561. Object.defineProperty(this.game.config, "nameTags", {
  562. get() {
  563. if (_0x43405f.settings.forceNametagsOn) {
  564. return false;
  565. } else {
  566. return this.game._nametags;
  567. }
  568. },
  569. set(_0xbc4f96) {
  570. this.game._nametags = _0xbc4f96;
  571. }
  572. });
  573. } catch (_0x16e3f9) {}
  574. }
  575. if (this.settings.spinBot) {
  576. const _0x35e605 = 1;
  577. if (_0x5a1009[_0x4c17de.moveDir] !== -1) {
  578. _0x5a1009[_0x4c17de.moveDir] = (_0x5a1009[_0x4c17de.moveDir] + this.state.spinCounter - Math.round(_0x5a1009[_0x4c17de.ydir] / (Math.PI * 2000) * 7)) % 7;
  579. }
  580. _0x5a1009[_0x4c17de.ydir] = this.state.spinCounter / 7 * (Math.PI * 2000);
  581. if (_0x5a1009[_0x4c17de.frame] % _0x35e605 === 0) {
  582. this.state.spinCounter = (this.state.spinCounter + 1) % 7;
  583. }
  584. }
  585. if (this.settings.autoReload && this.me.ammos[this.me.weaponIndex] === 0) {
  586. _0x5a1009[_0x4c17de.reload] = 1;
  587. }
  588. if (this.settings.pitchHack) {
  589. switch (this.settings.pitchHack) {
  590. case 1:
  591. _0x5a1009[_0x4c17de.xdir] = -Math.PI * 500;
  592. break;
  593. case 2:
  594. _0x5a1009[_0x4c17de.xdir] = Math.PI * 500;
  595. break;
  596. case 3:
  597. _0x5a1009[_0x4c17de.xdir] = Math.sin(Date.now() / 50) * Math.PI * 500;
  598. break;
  599. case 4:
  600. _0x5a1009[_0x4c17de.xdir] = Math.sin(Date.now() / 250) * Math.PI * 500;
  601. break;
  602. case 5:
  603. _0x5a1009[_0x4c17de.xdir] = _0x5a1009[_0x4c17de.frame] % 2 ? Math.PI * 500 : -Math.PI * 500;
  604. break;
  605. case 6:
  606. _0x5a1009[_0x4c17de.xdir] = (Math.random() * Math.PI - Math.PI / 2) * 1000;
  607. break;
  608. }
  609. }
  610. const _0x23930f = () => (Math.random() * 2 - 1) * this.settings.aimNoise;
  611. this.game.players.list.forEach(_0x273eaa => {
  612. _0x273eaa.pos = {
  613. x: _0x273eaa.x,
  614. y: _0x273eaa.y,
  615. z: _0x273eaa.z
  616. };
  617. _0x273eaa.npos = {
  618. x: _0x273eaa.x + _0x23930f(),
  619. y: _0x273eaa.y + _0x23930f(),
  620. z: _0x273eaa.z + _0x23930f()
  621. };
  622. _0x273eaa.isTarget = false;
  623. });
  624. function _0x304145(_0x5eb10d, _0x963c76) {
  625. if (_0x5eb10d?.name === _0x963c76) {
  626. return _0x5eb10d;
  627. }
  628. for (const _0x324fc1 of _0x5eb10d.children) {
  629. const _0x357839 = _0x304145(_0x324fc1, _0x963c76);
  630. if (_0x357839) {
  631. return _0x357839;
  632. }
  633. }
  634. return null;
  635. }
  636. if (this.game.AI.ais) {
  637. this.game.AI.ais.forEach(_0x1275dd => {
  638. if (_0x1275dd.mesh) {
  639. const _0xc7b0e8 = _0x304145(_0x1275dd.mesh, "Head");
  640. if (_0xc7b0e8) {
  641. const _0x8b2413 = {
  642. ..._0xc7b0e8.getWorldPosition()
  643. };
  644. _0x8b2413.y -= 8;
  645. return _0x1275dd.npos = _0x1275dd.pos = _0x8b2413;
  646. }
  647. }
  648. _0x1275dd.npos = _0x1275dd.pos = {
  649. x: _0x1275dd.x,
  650. y: _0x1275dd.y,
  651. z: _0x1275dd.z
  652. };
  653. });
  654. }
  655. if (this.renderer && this.renderer.frustum && this.me.active) {
  656. this.controls.target = null;
  657. let _0x2e787c = this.game.players.list.filter(_0x1ccbf1 => !_0x1ccbf1.isYTMP && _0x1ccbf1.hasOwnProperty("npos") && (!this.settings.frustumCheck || this.containsPoint(_0x1ccbf1.npos)) && (this.me.team === null || _0x1ccbf1.team !== this.me.team) && _0x1ccbf1.health > 0 && _0x1ccbf1.inView).sort((_0x353da4, _0xe62de1) => this.getDistance(this.me.x, this.me.z, _0x353da4.npos.x, _0x353da4.npos.z) - this.getDistance(this.me.x, this.me.z, _0xe62de1.npos.x, _0xe62de1.npos.z));
  658. let _0x378fc6 = false;
  659. if (this.game.AI.ais && this.settings.AImbot) {
  660. let _0x2dda3b = this.game.AI.ais.filter(_0x1259ad => _0x1259ad.mesh && _0x1259ad.mesh.visible && _0x1259ad.health && _0x1259ad.pos && _0x1259ad.inView2 && _0x1259ad.team !== this.me.team).sort((_0x34748f, _0x7080b8) => this.getDistance(this.me.x, this.me.z, _0x34748f.pos.x, _0x34748f.pos.z) - this.getDistance(this.me.x, this.me.z, _0x7080b8.pos.x, _0x7080b8.pos.z));
  661. _0x2e787c.push(..._0x2dda3b);
  662. }
  663. let _0x2eb65b = _0x2e787c[0];
  664. if (this.settings.fovbox) {
  665. const _0xea3a01 = this.scale || parseFloat(document.getElementById("uiBase").style.transform.match(/\((.+)\)/)[1]);
  666. const _0x10c561 = innerWidth / _0xea3a01;
  667. const _0x3ad11d = innerHeight / _0xea3a01;
  668. let _0x562898 = false;
  669. for (let _0xd412f = 0; _0xd412f < _0x2e787c.length; _0xd412f++) {
  670. const _0x470f0c = _0x2e787c[_0xd412f];
  671. const _0x56ccca = this.world2Screen(new this.three.Vector3(_0x470f0c.x, _0x470f0c.y, _0x470f0c.z), _0x10c561, _0x3ad11d, _0x470f0c.height / 2);
  672. let _0x3ceeba = [_0x10c561 / 3, _0x3ad11d / 4, _0x10c561 * (1 / 3), _0x3ad11d / 2];
  673. switch (this.settings.fovBoxSize) {
  674. case 2:
  675. _0x3ceeba = [_0x10c561 * 0.4, _0x3ad11d / 3, _0x10c561 * 0.2, _0x3ad11d / 3];
  676. break;
  677. case 3:
  678. _0x3ceeba = [_0x10c561 * 0.45, _0x3ad11d * 0.4, _0x10c561 * 0.1, _0x3ad11d * 0.2];
  679. break;
  680. }
  681. if (_0x56ccca.x >= _0x3ceeba[0] && _0x56ccca.x <= _0x3ceeba[0] + _0x3ceeba[2] && _0x56ccca.y >= _0x3ceeba[1] && _0x56ccca.y < _0x3ceeba[1] + _0x3ceeba[3]) {
  682. _0x2eb65b = _0x2e787c[_0xd412f];
  683. _0x562898 = true;
  684. break;
  685. }
  686. }
  687. if (!_0x562898) {
  688. _0x2eb65b = void "kpal";
  689. }
  690. }
  691. const _0x1af98a = _0x5a1009[_0x4c17de.shoot];
  692. if (_0x2eb65b && this.settings.aimbot && this.state.bindAimbotOn && (!this.settings.aimbotRange || this.getDistance3D(this.me.x, this.me.y, this.me.z, _0x2eb65b.x, _0x2eb65b.y, _0x2eb65b.z) < this.settings.aimbotRange) && (!this.settings.rangeCheck || this.getDistance3D(this.me.x, this.me.y, this.me.z, _0x2eb65b.x, _0x2eb65b.y, _0x2eb65b.z) <= this.me.weapon.range) && !this.me.reloadTimer) {
  693. if (this.settings.awtv) {
  694. _0x5a1009[_0x4c17de.scope] = 1;
  695. }
  696. _0x2eb65b.isTarget = this.settings.markTarget;
  697. const _0x4e5ccf = (this.getDir(this.me.z, this.me.x, _0x2eb65b.npos.z, _0x2eb65b.npos.x) || 0) * 1000;
  698. const _0x308000 = _0x2eb65b.isAI ? ((this.getXDir(this.me.x, this.me.y, this.me.z, _0x2eb65b.npos.x, _0x2eb65b.npos.y, _0x2eb65b.npos.z) || 0) - this.me.recoilAnimY * 0.3) * 1000 : ((this.getXDir(this.me.x, this.me.y, this.me.z, _0x2eb65b.npos.x, _0x2eb65b.npos.y - _0x2eb65b.crouchVal * 3 + this.me.crouchVal * 3 + this.settings.aimOffset, _0x2eb65b.npos.z) || 0) - this.me.recoilAnimY * 0.3) * 1000;
  699. if (this.settings.forceUnsilent) {
  700. this.controls.target = {
  701. xD: _0x308000 / 1000,
  702. yD: _0x4e5ccf / 1000
  703. };
  704. this.controls.update(400);
  705. }
  706. switch (this.settings.aimbot) {
  707. case 1:
  708. case 2:
  709. case 5:
  710. case 6:
  711. case 9:
  712. case 10:
  713. {
  714. let _0x3cde96 = [5, 6, 9].some(_0x40b0d1 => _0x40b0d1 == this.settings.aimbot);
  715. if (this.settings.aimbot === 5 && _0x5a1009[_0x4c17de.scope] || this.settings.aimbot === 10) {
  716. this.controls.target = {
  717. xD: _0x308000 / 1000,
  718. yD: _0x4e5ccf / 1000
  719. };
  720. this.controls.update(400);
  721. }
  722. if ([2, 10].some(_0x38c7f5 => _0x38c7f5 == this.settings.aimbot) || this.settings.aimbot === 1 && this.me.weapon.id) {
  723. if (!this.me.weapon.melee) {
  724. _0x5a1009[_0x4c17de.scope] = 1;
  725. }
  726. }
  727. if (this.me.didShoot) {
  728. _0x5a1009[_0x4c17de.shoot] = 0;
  729. this.state.quickscopeCanShoot = false;
  730. setTimeout(() => {
  731. this.state.quickscopeCanShoot = true;
  732. }, this.me.weapon.rate * 0.85);
  733. } else if (this.state.quickscopeCanShoot && (!_0x3cde96 || _0x5a1009[_0x4c17de.scope])) {
  734. if (!this.me.weapon.melee) {
  735. _0x5a1009[_0x4c17de.scope] = 1;
  736. }
  737. if (!this.settings.superSilent && this.settings.aimbot !== 9) {
  738. _0x5a1009[_0x4c17de.ydir] = _0x4e5ccf;
  739. _0x5a1009[_0x4c17de.xdir] = _0x308000;
  740. }
  741. if (this.settings.aimbot !== 9 && (!this.me.aimVal || this.me.weapon.noAim || this.me.weapon.melee) || this.settings.aimbot === 9 && _0x1af98a) {
  742. _0x5a1009[_0x4c17de.ydir] = _0x4e5ccf;
  743. _0x5a1009[_0x4c17de.xdir] = _0x308000;
  744. _0x5a1009[_0x4c17de.shoot] = 1;
  745. }
  746. }
  747. }
  748. break;
  749. case 4:
  750. case 7:
  751. case 8:
  752. case 11:
  753. if (_0x5a1009[_0x4c17de.scope] || this.settings.aimbot === 11) {
  754. this.controls.target = {
  755. xD: _0x308000 / 1000,
  756. yD: _0x4e5ccf / 1000
  757. };
  758. this.controls.update({
  759. 4: 400,
  760. 7: 110,
  761. 8: 70,
  762. 11: 400
  763. }[this.settings.aimbot]);
  764. if ([4, 11].some(_0x551a03 => _0x551a03 == this.settings.aimbot)) {
  765. _0x5a1009[_0x4c17de.xdir] = _0x308000;
  766. _0x5a1009[_0x4c17de.ydir] = _0x4e5ccf;
  767. }
  768. if (this.me.didShoot) {
  769. _0x5a1009[_0x4c17de.shoot] = 0;
  770. this.state.quickscopeCanShoot = false;
  771. setTimeout(() => {
  772. this.state.quickscopeCanShoot = true;
  773. }, this.me.weapon.rate * 0.85);
  774. } else if (this.state.quickscopeCanShoot) {
  775. _0x5a1009[this.me.weapon.melee ? _0x4c17de.shoot : _0x4c17de.scope] = 1;
  776. }
  777. } else {
  778. this.controls.target = null;
  779. }
  780. break;
  781. case 12:
  782. {
  783. if (!this.three || !this.renderer || !this.renderer.camera || !this.game || !this.game.players || !this.game.players.list.length || !_0x5a1009[_0x4c17de.scope] || this.me.aimVal) {
  784. break;
  785. }
  786. if (!this.state.raycaster) {
  787. this.state.raycaster = new this.three.Raycaster();
  788. this.state.mid = new this.three.Vector2(0, 0);
  789. }
  790. const _0x3e05c0 = [];
  791. for (let _0xdb9229 = 0; _0xdb9229 < this.game.players.list.length; _0xdb9229++) {
  792. let _0x5b3d57 = this.game.players.list[_0xdb9229];
  793. if (!_0x5b3d57 || !_0x5b3d57.objInstances || _0x5b3d57.isYTMP || !(this.me.team === null || _0x5b3d57.team !== this.me.team) || !_0x5b3d57.inView) {
  794. continue;
  795. }
  796. _0x3e05c0.push(_0x5b3d57.objInstances);
  797. }
  798. const _0x5ca1a7 = this.state.raycaster;
  799. _0x5ca1a7.setFromCamera(this.state.mid, this.renderer.camera);
  800. if (_0x5ca1a7.intersectObjects(_0x3e05c0, true).length) {
  801. _0x5a1009[_0x4c17de.shoot] = this.me.didShoot ? 0 : 1;
  802. }
  803. }
  804. break;
  805. }
  806. } else {
  807. if (this.settings.uwtv) {
  808. _0x5a1009[_0x4c17de.scope] = 0;
  809. }
  810. this.state.spinFrame = 0;
  811. }
  812. }
  813. if (this.settings.alwaysAim) {
  814. _0x5a1009[_0x4c17de.scope] = 1;
  815. }
  816. if (this.settings.preventMeleeThrowing && this.me.weapon.melee) {
  817. _0x5a1009[_0x4c17de.scope] = 0;
  818. }
  819. }
  820. return _0x5a1009;
  821. }
  822. render() {
  823. var _0x439e9a = this.scale || parseFloat(document.getElementById("uiBase").style.transform.match(/\((.+)\)/)[1]);
  824. let _0x2d1277 = innerWidth / _0x439e9a;
  825. let _0x5468ea = innerHeight / _0x439e9a;
  826. let _0xb87156 = (_0x135671, _0x3db313 = 0) => {
  827. _0x135671.y += _0x3db313;
  828. _0x135671.project(this.renderer.camera);
  829. _0x135671.x = (_0x135671.x + 1) / 2;
  830. _0x135671.y = (-_0x135671.y + 1) / 2;
  831. _0x135671.x *= _0x2d1277;
  832. _0x135671.y *= _0x5468ea;
  833. return _0x135671;
  834. };
  835. let _0x222688 = (_0x299028, _0x4a7678, _0x3d956f, _0x4386fa, _0x17c8cd, _0x40a711) => {
  836. this.ctx.save();
  837. this.ctx.lineWidth = _0x17c8cd + 2;
  838. this.ctx.beginPath();
  839. this.ctx.moveTo(_0x299028, _0x4a7678);
  840. this.ctx.lineTo(_0x3d956f, _0x4386fa);
  841. this.ctx.strokeStyle = "rgba(0, 0, 0, 0.25)";
  842. this.ctx.stroke();
  843. this.ctx.lineWidth = _0x17c8cd;
  844. this.ctx.strokeStyle = _0x40a711;
  845. this.ctx.stroke();
  846. this.ctx.restore();
  847. };
  848. let _0x211a11 = (_0x161709, _0x255cba, _0x4d830f, _0x9d5c70, _0x58ed9f, _0x551c72, _0x363ede, _0x495c8f) => {
  849. this.ctx.save();
  850. this.ctx.translate(~~_0x161709, ~~_0x255cba);
  851. this.ctx.beginPath();
  852. if (_0x495c8f) {
  853. this.ctx.fillStyle = _0x363ede;
  854. } else {
  855. this.ctx.strokeStyle = _0x363ede;
  856. }
  857. this.ctx.rect(_0x4d830f, _0x9d5c70, _0x58ed9f, _0x551c72);
  858. if (_0x495c8f) {
  859. this.ctx.fill();
  860. } else {
  861. this.ctx.stroke();
  862. }
  863. this.ctx.closePath();
  864. this.ctx.restore();
  865. };
  866. let _0x5f10c7 = _0x30b047 => {
  867. for (let _0x5ce699 = 0; _0x5ce699 < _0x30b047.length; _0x5ce699++) {
  868. _0x30b047[_0x5ce699] = ~~this.ctx.measureText(_0x30b047[_0x5ce699]).width;
  869. }
  870. return _0x30b047;
  871. };
  872. let _0xa7c07e = (_0x1023b6, _0x375e4f, _0x7450f3, _0x2364cf, _0x549c88) => {
  873. const _0x20bcb6 = this.ctx.createLinearGradient(_0x1023b6, _0x375e4f, _0x7450f3, _0x2364cf);
  874. for (let _0x1e5d40 = 0; _0x1e5d40 < _0x549c88.length; _0x1e5d40++) {
  875. _0x20bcb6.addColorStop(_0x1e5d40, _0x549c88[_0x1e5d40]);
  876. }
  877. return _0x20bcb6;
  878. };
  879. let _0x104f79 = (_0x131303, _0x6ac423, _0x583e44, _0x19f893, _0x17d7d3) => {
  880. this.ctx.save();
  881. this.ctx.translate(~~_0x19f893, ~~_0x17d7d3);
  882. this.ctx.fillStyle = _0x583e44;
  883. this.ctx.strokeStyle = "rgba(0, 0, 0, 0.5)";
  884. this.ctx.font = _0x6ac423;
  885. this.ctx.lineWidth = 1;
  886. this.ctx.strokeText(_0x131303, 0, 0);
  887. this.ctx.fillText(_0x131303, 0, 0);
  888. this.ctx.restore();
  889. };
  890. const _0x3a761b = 2;
  891. for (const _0xd1f053 of this.game.players.list.filter(_0x4647ac => !_0x4647ac.isYTMP && _0x4647ac.active && (_0x4647ac.pos = {
  892. x: _0x4647ac.x,
  893. y: _0x4647ac.y,
  894. z: _0x4647ac.z
  895. }))) {
  896. const _0xb769 = new this.three.Vector3(_0xd1f053.pos.x, _0xd1f053.pos.y, _0xd1f053.pos.z);
  897. const _0x108bdd = _0xb87156(_0xb769.clone());
  898. const _0x2a7912 = _0xb87156(_0xb769.clone(), _0xd1f053.height);
  899. const _0xb69595 = ~~(_0x108bdd.y - _0x2a7912.y);
  900. const _0x53ef8b = ~~(_0xb69595 * 0.6);
  901. const _0x59eaf0 = this.settings.espFontSize + "px GameFont";
  902. const _0x3ffa72 = this.me.team === null || _0xd1f053.team !== this.me.team;
  903. if (!this.containsPoint(_0xd1f053.pos)) {
  904. continue;
  905. }
  906. if (this.settings.tracers) {
  907. _0x222688(_0x2d1277 / 2, _0x43405f.settings.tracers === 2 ? _0x5468ea / 2 : _0x5468ea - 1, _0x108bdd.x, _0x108bdd.y, 2, _0xd1f053.team === null ? "#FF4444" : _0xd1f053.team === this.me.team ? "#44AAFF" : "#FF4444");
  908. }
  909. const _0x3d9193 = _0xd1f053.objInstances;
  910. if (this.isDefined(_0x3d9193)) {
  911. if (!_0x3d9193.visible) {
  912. Object.defineProperty(_0xd1f053.objInstances, "visible", {
  913. value: true,
  914. writable: false
  915. });
  916. } else {
  917. let _0x42a069 = this.settings.chams;
  918. if (_0x43405f.gaybow >= 360) {
  919. _0x43405f.gaybow = 0;
  920. } else {
  921. _0x43405f.gaybow++;
  922. }
  923. _0x3d9193.traverse(_0x393f3e => {
  924. if (_0x393f3e && _0x393f3e.type == "Mesh" && this.isDefined(_0x393f3e.material)) {
  925. if (!_0x393f3e.hasOwnProperty(this.hash)) {
  926. _0x393f3e[this.hash] = _0x393f3e.material;
  927. } else if (_0x393f3e.hasOwnProperty(this.hash)) {
  928. Object.defineProperty(_0x393f3e, "material", {
  929. get() {
  930. if (!_0x42a069 || !_0x3ffa72 && !_0x43405f.settings.teamChams) {
  931. return this[_0x43405f.hash];
  932. } else {
  933. return new _0x43405f.three.MeshBasicMaterial({
  934. color: new _0x43405f.three.Color(_0x43405f.settings.chamsCol == 12 ? "hsl(" + _0x43405f.gaybow + ",100%, 50%)" : Object.values(_0x43405f.colors)[_0x43405f.settings.chamsCol]),
  935. depthTest: false,
  936. transparent: true,
  937. fog: false,
  938. wireframe: _0x43405f.settings.wireframe
  939. });
  940. }
  941. }
  942. });
  943. }
  944. }
  945. });
  946. }
  947. }
  948. if (this.settings.esp > 1) {
  949. if (_0xd1f053.isTarget) {
  950. this.ctx.save();
  951. const _0x529ff6 = _0x5f10c7(["TARGET"]);
  952. _0x104f79("TARGET", _0x59eaf0, "#FFFFFF", _0x2a7912.x - _0x529ff6[0] / 2, _0x2a7912.y - this.settings.espFontSize * 1.5);
  953. this.ctx.beginPath();
  954. this.ctx.translate(_0x2a7912.x, _0x2a7912.y + Math.abs(_0xb69595 / 2));
  955. this.ctx.arc(0, 0, Math.abs(_0xb69595 / 2) + 10, 0, Math.PI * 2);
  956. this.ctx.strokeStyle = "#FFFFFF";
  957. this.ctx.stroke();
  958. this.ctx.closePath();
  959. this.ctx.restore();
  960. }
  961. if (this.settings.esp === 2) {
  962. this.ctx.save();
  963. this.ctx.strokeStyle = this.me.team === null || _0xd1f053.team !== this.me.team ? "#FF4444" : "#44AAFF";
  964. this.ctx.strokeRect(_0x2a7912.x - _0x53ef8b / 2, _0x2a7912.y, _0x53ef8b, _0xb69595);
  965. this.ctx.restore();
  966. continue;
  967. }
  968. _0x211a11(_0x2a7912.x - _0x53ef8b / 2 - 7, ~~_0x2a7912.y - 1, 0, 0, 4, _0xb69595 + 2, "#000000", false);
  969. _0x211a11(_0x2a7912.x - _0x53ef8b / 2 - 7, ~~_0x2a7912.y - 1, 0, 0, 4, _0xb69595 + 2, "#44FF44", true);
  970. _0x211a11(_0x2a7912.x - _0x53ef8b / 2 - 7, ~~_0x2a7912.y - 1, 0, 0, 4, ~~((_0xd1f053.maxHealth - _0xd1f053.health) / _0xd1f053.maxHealth * (_0xb69595 + 2)), "#000000", true);
  971. this.ctx.save();
  972. this.ctx.lineWidth = 4;
  973. this.ctx.translate(~~(_0x2a7912.x - _0x53ef8b / 2), ~~_0x2a7912.y);
  974. this.ctx.beginPath();
  975. this.ctx.rect(0, 0, _0x53ef8b, _0xb69595);
  976. this.ctx.strokeStyle = "rgba(0, 0, 0, 0.25)";
  977. this.ctx.stroke();
  978. this.ctx.lineWidth = 2;
  979. this.ctx.strokeStyle = _0xd1f053.team === null ? "#FF4444" : this.me.team === _0xd1f053.team ? "#44AAFF" : "#FF4444";
  980. this.ctx.stroke();
  981. this.ctx.closePath();
  982. this.ctx.restore();
  983. const _0x4c14e6 = ~~(this.getDistance3D(this.me.x, this.me.y, this.me.z, _0xd1f053.pos.x, _0xd1f053.pos.y, _0xd1f053.pos.z) / 10);
  984. this.ctx.save();
  985. this.ctx.font = _0x59eaf0;
  986. const _0x100d73 = _0x5f10c7(["[", _0x4c14e6, "m]", _0xd1f053.level, "©", _0xd1f053.name]);
  987. this.ctx.restore();
  988. const _0x8e44a4 = _0xa7c07e(0, 0, _0x100d73[4] * 5, 0, ["rgba(0, 0, 0, 0.25)", "rgba(0, 0, 0, 0)"]);
  989. if (_0xd1f053.level) {
  990. const _0x6c753d = _0xa7c07e(0, 0, _0x100d73[4] * 2 + _0x100d73[3] + _0x3a761b * 3, 0, ["rgba(0, 0, 0, 0)", "rgba(0, 0, 0, 0.25)"]);
  991. _0x211a11(~~(_0x2a7912.x - _0x53ef8b / 2) - 12 - _0x100d73[4] * 2 - _0x100d73[3] - _0x3a761b * 3, ~~_0x2a7912.y - _0x3a761b, 0, 0, _0x100d73[4] * 2 + _0x100d73[3] + _0x3a761b * 3, _0x100d73[4] + _0x3a761b * 2, _0x6c753d, true);
  992. _0x104f79("" + _0xd1f053.level, _0x59eaf0, "#FFFFFF", ~~(_0x2a7912.x - _0x53ef8b / 2) - 16 - _0x100d73[3], ~~_0x2a7912.y + _0x100d73[4] * 1);
  993. }
  994. _0x211a11(~~(_0x2a7912.x + _0x53ef8b / 2) + _0x3a761b, ~~_0x2a7912.y - _0x3a761b, 0, 0, _0x100d73[4] * 5, _0x100d73[4] * 4 + _0x3a761b * 2, _0x8e44a4, true);
  995. _0x104f79(_0xd1f053.name, _0x59eaf0, _0xd1f053.team === null ? "#FFCDB4" : this.me.team === _0xd1f053.team ? "#B4E6FF" : "#FFCDB4", _0x2a7912.x + _0x53ef8b / 2 + 4, _0x2a7912.y + _0x100d73[4] * 1);
  996. if (_0xd1f053.clan) {
  997. _0x104f79("[" + _0xd1f053.clan + "]", _0x59eaf0, "#AAAAAA", _0x2a7912.x + _0x53ef8b / 2 + 8 + _0x100d73[5], _0x2a7912.y + _0x100d73[4] * 1);
  998. }
  999. _0x104f79(_0xd1f053.health + " HP", _0x59eaf0, "#33FF33", _0x2a7912.x + _0x53ef8b / 2 + 4, _0x2a7912.y + _0x100d73[4] * 2);
  1000. _0x104f79(_0xd1f053.weapon.name, _0x59eaf0, "#DDDDDD", _0x2a7912.x + _0x53ef8b / 2 + 4, _0x2a7912.y + _0x100d73[4] * 3);
  1001. _0x104f79("[", _0x59eaf0, "#AAAAAA", _0x2a7912.x + _0x53ef8b / 2 + 4, _0x2a7912.y + _0x100d73[4] * 4);
  1002. _0x104f79("" + _0x4c14e6, _0x59eaf0, "#DDDDDD", _0x2a7912.x + _0x53ef8b / 2 + 4 + _0x100d73[0], _0x2a7912.y + _0x100d73[4] * 4);
  1003. _0x104f79("m]", _0x59eaf0, "#AAAAAA", _0x2a7912.x + _0x53ef8b / 2 + 4 + _0x100d73[0] + _0x100d73[1], _0x2a7912.y + _0x100d73[4] * 4);
  1004. }
  1005. }
  1006. if (this.settings.fovbox && this.settings.drawFovbox) {
  1007. let _0x2e9a54 = [_0x2d1277 / 3, _0x5468ea / 4, _0x2d1277 * (1 / 3), _0x5468ea / 2];
  1008. switch (this.settings.fovBoxSize) {
  1009. case 2:
  1010. _0x2e9a54 = [_0x2d1277 * 0.4, _0x5468ea / 3, _0x2d1277 * 0.2, _0x5468ea / 3];
  1011. break;
  1012. case 3:
  1013. _0x2e9a54 = [_0x2d1277 * 0.45, _0x5468ea * 0.4, _0x2d1277 * 0.1, _0x5468ea * 0.2];
  1014. break;
  1015. }
  1016. this.ctx.save();
  1017. this.ctx.strokeStyle = "red";
  1018. this.ctx.strokeRect(..._0x2e9a54);
  1019. this.ctx.restore();
  1020. }
  1021. }
  1022. customCSS() {
  1023. if (!this.isDefined(this.CSSres) && this.settings.kpalCSS) {
  1024. this.CSSres.rel = "stylesheet";
  1025. this.CSSres.disabled = false;
  1026. (document.head || document.getElementsByTagName("head")[0]).appendChild(this.CSSres);
  1027. }
  1028. if (this.settings.customCSS.startsWith("http") && this.settings.customCSS.endsWith(".css")) {
  1029. this.CSSres.href = this.settings.customCSS;
  1030. } else {
  1031. this.CSSres = undefined;
  1032. }
  1033. }
  1034. initGUI() {
  1035. function _0x5b1b99(_0x5c0bf7, _0x4b7a47, _0x91cdc) {
  1036. const _0x3b18b1 = document.querySelector("#menuItemContainer");
  1037. const _0x49d4a6 = document.createElement("div");
  1038. const _0x1d7118 = document.createElement("div");
  1039. const _0x26deda = document.createElement("div");
  1040. _0x49d4a6.className = "menuItem";
  1041. _0x1d7118.className = "menuItemIcon";
  1042. _0x26deda.className = "menuItemTitle";
  1043. _0x26deda.innerHTML = _0x5c0bf7;
  1044. _0x1d7118.style.backgroundImage = "url(\"https://krunkercentral.com/wp-content/uploads/2022/10/kc-logo-icon.png\")";
  1045. _0x1d7118.style.width = "50px";
  1046. _0x1d7118.style.height = "50px";
  1047. _0x1d7118.style.backgroundSize = "contain";
  1048. _0x49d4a6.append(_0x1d7118, _0x26deda);
  1049. _0x3b18b1.append(_0x49d4a6);
  1050. _0x49d4a6.addEventListener("click", _0x91cdc);
  1051. }
  1052. _0x43405f.GUI.setSetting = function (_0x23e952, _0x2a441b) {
  1053. switch (_0x23e952) {
  1054. case "customCSS":
  1055. _0x43405f.settings.customCSS = _0x2a441b;
  1056. _0x43405f.customCSS();
  1057. break;
  1058. default:
  1059. console.log("SET ", _0x23e952, " ", _0x2a441b);
  1060. _0x43405f.settings[_0x23e952] = _0x2a441b;
  1061. }
  1062. _0x43405f.saveSettings();
  1063. };
  1064. _0x43405f.GUI.settings = {
  1065. aimbot: {
  1066. val: this.settings.aimbot
  1067. }
  1068. };
  1069. _0x43405f.GUI.windowObj = {
  1070. header: "CH33T",
  1071. html: "",
  1072. gen() {
  1073. return _0x43405f.getGuiHtml();
  1074. }
  1075. };
  1076. window.windows = {
  1077. ...window.windows,
  1078. length: window.windows.length
  1079. };
  1080. Object.setPrototypeOf(window.windows, Array.prototype);
  1081. _0x43405f.GUI.windowIndex = window.windows.length + 1;
  1082. Object.defineProperty(window.windows, window.windows.length, {
  1083. value: _0x43405f.GUI.windowObj
  1084. });
  1085. if (this.settings.showGuiButton) {
  1086. _0x5b1b99("CH33TS", null, () => {
  1087. if (!this.shownAds) {
  1088. this.shownAds = true;
  1089. window.open("https://krunkercentral.com/kc-ads");
  1090. }
  1091. window.showWindow(_0x43405f.GUI.windowIndex);
  1092. });
  1093. }
  1094. }
  1095. showGUI() {
  1096. if (document.pointerLockElement || document.mozPointerLockElement) {
  1097. document.exitPointerLock();
  1098. }
  1099. window.showWindow(this.GUI.windowIndex);
  1100. }
  1101. getGuiHtml() {
  1102. const _0x9d54af = {
  1103. checkbox: (_0x48f283, _0x99a932, _0x2c2b3b = "", _0x5c5278 = false) => "<div class=\"settName\" title=\"" + _0x2c2b3b + "\">" + _0x48f283 + " " + (_0x5c5278 ? "<span style=\"color: #eb5656\">*</span>" : "") + "<label class=\"switch\" style=\"margin-left:10px\"><input type=\"checkbox\" onclick='" + this.hash + ".GUI.setSetting(\"" + _0x99a932 + "\", this.checked)' " + (_0x43405f.settings[_0x99a932] ? "checked" : "") + "><span class=\"slider\"></span></label></div>",
  1104. client_setting: (_0x47fc3e, _0x488931, _0x40f2e6 = "", _0x2cd4de = true) => "<div class=\"settName\" title=\"" + _0x40f2e6 + "\">" + _0x47fc3e + " " + (_0x2cd4de ? "<span style=\"color: #eb5656\">*</span>" : "") + "<label class=\"switch\" style=\"margin-left:10px\"><input type=\"checkbox\" onclick='doge_setsetting(\"" + _0x488931 + "\", this.checked?\"1\":\"0\")' " + (_0x43405f.settings[_0x488931] ? "checked" : "") + "><span class=\"slider\"></span></label></div>",
  1105. select: (_0x50eb6e, _0x54b040, _0xa1b776, _0x732256 = "", _0x535509 = false) => {
  1106. let _0x5abd0f = "<div class=\"settName\" title=\"" + _0x732256 + "\">" + _0x50eb6e + " " + (_0x535509 ? "<span style=\"color: #eb5656\">*</span>" : "") + "<select onchange='" + this.hash + ".GUI.setSetting(\"" + _0x54b040 + "\", parseInt(this.value))' class=\"inputGrey2\">";
  1107. for (const _0x9c4ce0 in _0xa1b776) {
  1108. if (_0xa1b776.hasOwnProperty(_0x9c4ce0)) {
  1109. _0x5abd0f += "<option value=\"" + _0xa1b776[_0x9c4ce0] + "\" " + (_0x43405f.settings[_0x54b040] == _0xa1b776[_0x9c4ce0] ? "selected" : "") + ">" + _0x9c4ce0 + "</option>,";
  1110. }
  1111. }
  1112. return _0x5abd0f + "</select></div>";
  1113. },
  1114. slider: (_0x380f79, _0x812801, _0x191cae, _0x54ebf0, _0x171abc, _0x110207 = "") => "<div class=\"settName\" title=\"" + _0x110207 + "\">" + _0x380f79 + " <input type=\"number\" class=\"sliderVal\" id=\"slid_input_" + _0x812801 + "\" min=\"" + _0x191cae + "\" max=\"" + _0x54ebf0 + "\" value=\"" + _0x43405f.settings[_0x812801] + "\" onkeypress=\"" + this.hash + ".GUI.setSetting('" + _0x812801 + "', parseFloat(this.value.replace(',', '.')));document.querySelector('#slid_input_" + _0x812801 + "').value=this.value\" style=\"margin-right:0;border-width:0\"><div class=\"slidecontainer\" style=\"\"><input type=\"range\" id=\"slid_" + _0x812801 + "\" min=\"" + _0x191cae + "\" max=\"" + _0x54ebf0 + "\" step=\"" + _0x171abc + "\" value=\"" + _0x43405f.settings[_0x812801] + "\" class=\"sliderM\" oninput=\"" + this.hash + ".GUI.setSetting('" + _0x812801 + "', parseFloat(this.value));document.querySelector('#slid_input_" + _0x812801 + "').value=this.value\"></div></div>",
  1115. input: (_0x41c060, _0x5ed23c, _0x5562a1, _0x2eb4fd, _0x26eef5) => "<div class=\"settName\" title=\"" + _0x2eb4fd + "\">" + _0x41c060 + " <input type=\"" + _0x5562a1 + "\" name=\"" + _0x5562a1 + "\" id=\"slid_utilities_" + _0x5ed23c + "\"\n" + (_0x5562a1 == "color" ? "style=\"float:right;margin-top:5px\"" : "class=\"inputGrey2\" placeholder=\"" + _0x26eef5 + "\"") + "\nvalue=\"" + _0x43405f.settings[_0x5ed23c] + "\" oninput=\"" + this.hash + ".GUI.setSetting('" + _0x5ed23c + "', this.value)\"/></div>",
  1116. label: (_0x4cbb07, _0x37c2c2) => "<br><span style='color: black; font-size: 20px; margin: 20px 0'>" + _0x4cbb07 + "</span> <span style='color: dimgrey; font-size: 15px'>" + (_0x37c2c2 || "") + "</span><br>",
  1117. nobrlabel: (_0x210fa9, _0x2272fd) => "<span style='color: black; font-size: 20px; margin: 20px 0'>" + _0x210fa9 + "</span> <span style='color: dimgrey; font-size: 15px'>" + (_0x2272fd || "") + "</span><br>",
  1118. br: () => "<br>",
  1119. style: _0x7e261c => "<style>" + _0x7e261c + "</style>"
  1120. };
  1121. let _0x2a4cd2 = "<div id=\"settHolder\">\n<img src=\"https://krunkercentral.com/wp-content/uploads/2022/10/kc-banner-new.png\" width=\"100%\">\n";
  1122. Object.keys(_0x9d54af).forEach(_0x227512 => {
  1123. const _0x409471 = _0x9d54af[_0x227512];
  1124. _0x9d54af[_0x227512] = function () {
  1125. _0x2a4cd2 += _0x409471.apply(this, arguments);
  1126. return "";
  1127. };
  1128. });
  1129. const _0x3d9262 = ["Weapon", "Wallhack", "Visual", "Tweaks", "Movement", "Other"];
  1130. if (_0x43405f.isClient) {
  1131. _0x3d9262.push("Client");
  1132. }
  1133. _0x9d54af.style(".cheatTabButton { color: black; background: #ddd; padding: 2px 7px; font-size: 15px; cursor: pointer; text-align: center; } .cheatTabActive { background: #bbb;}");
  1134. this.GUI.changeTab = function (_0x31e62b) {
  1135. const _0x1a585a = _0x31e62b.innerText;
  1136. document.getElementById("cheat-tabbtn-" + _0x3d9262[_0x43405f.state.activeTab]).classList.remove("cheatTabActive");
  1137. document.getElementById("cheat-tab-" + _0x3d9262[_0x43405f.state.activeTab]).style.display = "none";
  1138. _0x31e62b.classList.add("cheatTabActive");
  1139. document.getElementById("cheat-tab-" + _0x1a585a).style.display = "block";
  1140. _0x43405f.state.activeTab = _0x3d9262.indexOf(_0x1a585a);
  1141. };
  1142. _0x2a4cd2 += "<table style=\"width: 100%; margin-bottom: 30px\"><tr>";
  1143. for (let _0x7b69c6 = 0; _0x7b69c6 < _0x3d9262.length; _0x7b69c6++) {
  1144. const _0x2cf852 = _0x3d9262[_0x7b69c6];
  1145. _0x2a4cd2 += "<td id=\"cheat-tabbtn-" + _0x2cf852 + "\" onclick=\"" + this.hash + ".GUI.changeTab(this)\" class=\"cheatTabButton " + (_0x3d9262[_0x43405f.state.activeTab] === _0x2cf852 ? "cheatTabActive" : "") + "\">";
  1146. _0x2a4cd2 += _0x2cf852;
  1147. _0x2a4cd2 += "</td>";
  1148. }
  1149. _0x2a4cd2 += "</table></tr>";
  1150. function _0x5b9a12(_0x4ba894, _0x5ae086) {
  1151. _0x2a4cd2 += "<div style=\"display: " + (_0x43405f.state.activeTab === _0x4ba894 ? "block" : "none") + "\" class=\"cheat-tab\" id=\"cheat-tab-" + _0x3d9262[_0x4ba894] + "\">";
  1152. _0x5ae086();
  1153. _0x2a4cd2 += "</div>";
  1154. }
  1155. _0x5b9a12(0, () => {
  1156. _0x9d54af.select("Aimbot [Y]", "aimbot", {
  1157. None: 0,
  1158. "Quickscope / Auto pick": 1,
  1159. "Silent aimbot": 2,
  1160. "Aim assist": 4,
  1161. "Easy aim assist": 11,
  1162. "SP Trigger bot": 12,
  1163. "Silent on aim": 6,
  1164. Smooth: 7,
  1165. Unsilent: 10,
  1166. "Unsilent on aim": 5,
  1167. "Aim correction": 9
  1168. });
  1169. _0x9d54af.select("Spin aimbot speed", "spinAimFrames", {
  1170. "1": 30,
  1171. "2": 20,
  1172. "3": 15,
  1173. "4": 10,
  1174. "5": 5
  1175. });
  1176. _0x9d54af.slider("Aim range", "aimbotRange", 0, 1000, 10, "Set above 0 to make the aimbot pick enemies only at the selected range");
  1177. _0x9d54af.slider("Aim offset", "aimOffset", -4, 1, 0.1, "The lower it is, the lower the aimbot will shoot (0 - head, -4 - body)");
  1178. _0x9d54af.slider("Aim noise", "aimNoise", 0, 2, 0.005, "The higher it is, the lower is the aimbot accuracy");
  1179. _0x9d54af.checkbox("Supersilent aim", "superSilent", "Only works with quickscope and silent aim, makes it almost invisible that you're looking at somebody when you're shooting at him");
  1180. _0x9d54af.checkbox("Aim at bots", "AImbot", "Makes the aimbot shoot at NPCs");
  1181. _0x9d54af.checkbox("FOV check", "frustumCheck", "Makes you only shoot at enemies that are in your field of view. Prevents 180 flicks");
  1182. _0x9d54af.checkbox("FOV box", "fovbox", "Creates a box in which enemies can be targetted, enable with FOV check");
  1183. _0x9d54af.select("FOV box size", "fovBoxSize", {
  1184. Big: 1,
  1185. Medium: 2,
  1186. Small: 3
  1187. });
  1188. _0x9d54af.checkbox("Wallbangs", "wallbangs", "Makes the aimbot shoot enemies behind walls");
  1189. _0x9d54af.checkbox("Aimbot range check", "rangeCheck", "Checks if the enemy is in range of your weapon before shooting it, disable for rocket launcher");
  1190. _0x9d54af.checkbox("Auto reload", "autoReload", "Automatically reloads your weapon when it's out of ammo");
  1191. _0x9d54af.checkbox("Prevent melee throwing", "preventMeleeThrowing", "Prevents you from throwing your knife");
  1192. });
  1193. _0x5b9a12(1, () => {
  1194. _0x9d54af.select("ESP [H]", "esp", {
  1195. None: 0,
  1196. Nametags: 1,
  1197. "Box ESP": 2,
  1198. "Full ESP": 3
  1199. });
  1200. _0x9d54af.select("ESP Font Size", "espFontSize", {
  1201. "30px": 30,
  1202. "25px": 25,
  1203. "20px": 20,
  1204. "15px": 15,
  1205. "10px": 10,
  1206. "5px": 5
  1207. });
  1208. _0x9d54af.select("Tracers", "tracers", {
  1209. None: 0,
  1210. Bottom: 1,
  1211. Middle: 2
  1212. }, "Draws lines to players");
  1213. _0x9d54af.checkbox("Bot nametags", "botNametags", "Always show nametags for bots such as zombies.");
  1214. _0x9d54af.checkbox("Mark aimbot target", "markTarget", "Shows who is the aimbot targetting at the time, useful for aim assist/aim correction");
  1215. _0x9d54af.checkbox("Draw FOV box", "drawFovbox", "Draws the FOV box from aimbot settings");
  1216. _0x9d54af.checkbox("Chams", "chams");
  1217. _0x9d54af.select("Chams colour", "chamsCol", {
  1218. White: 0,
  1219. Black: 1,
  1220. Purple: 2,
  1221. Pink: 3,
  1222. Blue: 4,
  1223. DarkBlue: 5,
  1224. Aqua: 6,
  1225. Green: 7,
  1226. Lime: 8,
  1227. Orange: 9,
  1228. Yellow: 10,
  1229. Red: 11,
  1230. Gaybow: 12
  1231. });
  1232. _0x9d54af.checkbox("Friendly chams", "teamChams", "Show Chams for friendly players");
  1233. _0x9d54af.checkbox("Wireframe", "wireframe");
  1234. _0x9d54af.slider("RGB interval", "chamsInterval", 50, 1000, 50, "How fast will the RGB chams change colour");
  1235. });
  1236. _0x5b9a12(2, () => {
  1237. _0x9d54af.checkbox("Third person mode", "thirdPerson");
  1238. _0x9d54af.checkbox("Skin hack", "skinHack", "Makes you able to use any skin in game, only shows on your side");
  1239. _0x9d54af.checkbox("Billboard shaders", "animatedBillboards", "Disable if you get fps drops");
  1240. _0x9d54af.checkbox("Any weapon trail", "alwaysTrail");
  1241. _0x9d54af.slider("Weapon Zoom", "weaponZoom", 0, 20, 0.1, "Weapon Zoom Multiplier Adjust");
  1242. });
  1243. _0x5b9a12(3, () => {
  1244. _0x9d54af.checkbox("Always aim", "alwaysAim", "Makes you slower and jump lower, but the aimbot can start shooting at enemies faster. Only use if ur good at bhopping");
  1245. _0x9d54af.checkbox("Aim when target visible", "awtv");
  1246. _0x9d54af.checkbox("Unaim when no target visible", "uwtv");
  1247. _0x9d54af.checkbox("Force unsilent", "forceUnsilent");
  1248. });
  1249. _0x5b9a12(4, () => {
  1250. _0x9d54af.select("Auto bhop", "bhop", {
  1251. None: 0,
  1252. "Auto Jump": 1,
  1253. "Key Jump": 2,
  1254. "Auto Slide": 3,
  1255. "Key Slide": 4
  1256. });
  1257. _0x9d54af.label("Only use with silent aim");
  1258. _0x9d54af.select("Pitch hax", "pitchHack", {
  1259. Disabled: 0,
  1260. Downward: 1,
  1261. Upward: 2,
  1262. "sin(time)": 3,
  1263. "sin(time/5)": 4,
  1264. double: 5,
  1265. random: 6
  1266. }, "Only use with aimbot on");
  1267. _0x9d54af.checkbox("Spin bot", "spinBot");
  1268. });
  1269. _0x5b9a12(5, () => {
  1270. _0x9d54af.checkbox("Show GUI button", "showGuiButton", "Disable if you don't want the dog under settings to be visible");
  1271. _0x9d54af.checkbox("GUI on middle mouse button", "guiOnMMB", "Makes it possible to open this menu by clicking the mouse wheel");
  1272. _0x9d54af.checkbox("Keybinds", "keybinds", "Turn keybinds on/off, Aimbot - Y, ESP - H");
  1273. _0x9d54af.checkbox("No inactivity kick", "antikick", "Disables the 'Kicked for inactivity' message (client side, but works)");
  1274. _0x9d54af.checkbox("Auto nuke", "autoNuke", "Automatically nukes when you are able to");
  1275. _0x9d54af.checkbox("Force nametags on", "fgno", "Use in custom games with disabled nametags");
  1276. _0x9d54af.input("Custom CSS", "customCSS", "url", "", "URL to CSS file");
  1277. });
  1278. if (_0x43405f.isClient) {
  1279. _0x5b9a12(6, () => {
  1280. _0x9d54af.nobrlabel("Restart is required after changing any of these settings");
  1281. _0x9d54af.br();
  1282. _0x9d54af.client_setting("Uncap FPS", "uncap_fps", "Disables V-Sync");
  1283. _0x9d54af.client_setting("Adblock", "adblock", "Disables ads");
  1284. });
  1285. }
  1286. _0x2a4cd2 += "</div>";
  1287. return _0x2a4cd2;
  1288. }
  1289. getDistance(_0x3363e4, _0x10b2e7, _0x337bb2, _0xddaa8f) {
  1290. return Math.sqrt((_0x337bb2 -= _0x3363e4) * _0x337bb2 + (_0xddaa8f -= _0x10b2e7) * _0xddaa8f);
  1291. }
  1292. getDistance3D(_0x3c706a, _0x3df8a7, _0x280187, _0x194a1f, _0x37e4d9, _0x1f00bb) {
  1293. let _0x3f7321 = _0x3c706a - _0x194a1f;
  1294. let _0x38ee00 = _0x3df8a7 - _0x37e4d9;
  1295. let _0x4932d1 = _0x280187 - _0x1f00bb;
  1296. return Math.sqrt(_0x3f7321 * _0x3f7321 + _0x38ee00 * _0x38ee00 + _0x4932d1 * _0x4932d1);
  1297. }
  1298. getXDir(_0x3d1038, _0x30ee13, _0x149f75, _0x49c00d, _0x58ef0f, _0x1d2425) {
  1299. let _0x58a05d = Math.abs(_0x30ee13 - _0x58ef0f);
  1300. let _0x4b4e11 = this.getDistance3D(_0x3d1038, _0x30ee13, _0x149f75, _0x49c00d, _0x58ef0f, _0x1d2425);
  1301. return Math.asin(_0x58a05d / _0x4b4e11) * (_0x30ee13 > _0x58ef0f ? -1 : 1);
  1302. }
  1303. getDir(_0x511e07, _0xf0217d, _0x27628b, _0xa8a465) {
  1304. return Math.atan2(_0xf0217d - _0xa8a465, _0x511e07 - _0x27628b);
  1305. }
  1306. getAngleDist(_0x18b26f, _0x254556) {
  1307. return Math.atan2(Math.sin(_0x254556 - _0x18b26f), Math.cos(_0x18b26f - _0x254556));
  1308. }
  1309. containsPoint(_0x43fc07) {
  1310. let _0x367ade = this.renderer.frustum.planes;
  1311. for (let _0x508647 = 0; _0x508647 < 6; _0x508647++) {
  1312. if (_0x367ade[_0x508647].distanceToPoint(_0x43fc07) < 0) {
  1313. return false;
  1314. }
  1315. }
  1316. return true;
  1317. }
  1318. world2Screen(_0x413847, _0x167644, _0x18f129, _0x436d3d = 0) {
  1319. _0x413847.y += _0x436d3d;
  1320. _0x413847.project(this.renderer.camera);
  1321. _0x413847.x = (_0x413847.x + 1) / 2;
  1322. _0x413847.y = (-_0x413847.y + 1) / 2;
  1323. _0x413847.x *= _0x167644;
  1324. _0x413847.y *= _0x18f129;
  1325. return _0x413847;
  1326. }
  1327. isType(_0x327fc3, _0x51fa83) {
  1328. return typeof _0x327fc3 === _0x51fa83;
  1329. }
  1330. isDefined(_0x62fc12) {
  1331. return !this.isType(_0x62fc12, "undefined") && _0x62fc12 !== null;
  1332. }
  1333. arrayTest(_0x52d2ea, _0x2e8670, _0x342bef) {
  1334. return _0x2e8670.some(_0xf363a => _0x342bef(_0xf363a));
  1335. }
  1336. createElement(_0x3d5d8e, _0x1917b1, _0x595b0e) {
  1337. let _0x58e54c = document.createElement(_0x3d5d8e);
  1338. if (_0x595b0e) {
  1339. _0x58e54c.id = _0x595b0e;
  1340. }
  1341. _0x58e54c.innerHTML = _0x1917b1;
  1342. return _0x58e54c;
  1343. }
  1344. createObserver(_0x34e4a7, _0x4c0915, _0x1b9264, _0x381d66 = true) {
  1345. return new MutationObserver((_0x16ad57, _0xd8d7a) => {
  1346. if (_0x4c0915 == "src" || _0x381d66 && _0x16ad57[0].target.style.display == "block" || !_0x381d66) {
  1347. _0x1b9264(_0x16ad57[0].target);
  1348. }
  1349. }).observe(_0x34e4a7, _0x4c0915 == "childList" ? {
  1350. childList: true
  1351. } : {
  1352. attributes: true,
  1353. attributeFilter: [_0x4c0915]
  1354. });
  1355. }
  1356. genHash(_0x22b2f5) {
  1357. return [...Array(_0x22b2f5)].map(_0x198ef3 => "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[~~(Math.random() * 52)]).join("");
  1358. }
  1359. saveAs(_0x1fa9fb, _0x41c7dc) {
  1360. let _0x1c1ada = new Blob([_0x41c7dc], {
  1361. type: "text/plain"
  1362. });
  1363. let _0x386351 = window.document.createElement("a");
  1364. _0x386351.href = window.URL.createObjectURL(_0x1c1ada);
  1365. _0x386351.download = _0x1fa9fb;
  1366. window.document.body.appendChild(_0x386351);
  1367. _0x386351.click();
  1368. window.document.body.removeChild(_0x386351);
  1369. }
  1370. async store(_0x14f888) {
  1371. const _0x12604d = "dogeware";
  1372. switch (_0x14f888) {
  1373. case "get":
  1374. return GM.getValue(_0x12604d).then(_0x5f5464 => this.isDefined(_0x5f5464) ? JSON.parse(_0x5f5464) : this.settings);
  1375. case "set":
  1376. return GM.setValue(_0x12604d, JSON.stringify(this.settings));
  1377. case "reset":
  1378. return GM.deleteValue(_0x12604d);
  1379. }
  1380. }
  1381. async waitFor(_0x3595ea, _0x2447b5 = Infinity, _0x5ae41c = null) {
  1382. let _0xd86b81 = _0x16a381 => new Promise(_0xe3c60 => setTimeout(_0xe3c60, _0x16a381));
  1383. return new Promise(async (_0x3983e0, _0x435be9) => {
  1384. if (typeof _0x2447b5 != "number") {
  1385. _0x435be9("Timeout argument not a number in waitFor(selector, timeout_ms)");
  1386. }
  1387. let _0x11026c;
  1388. let _0x56c069 = 100;
  1389. while (_0x11026c === undefined || _0x11026c === false || _0x11026c === null || _0x11026c.length === 0) {
  1390. if (_0x5ae41c && _0x5ae41c instanceof Function) {
  1391. _0x5ae41c();
  1392. }
  1393. ;
  1394. if (_0x2447b5 % 10000 < _0x56c069) {
  1395. console.log("waiting for: ", _0x3595ea);
  1396. }
  1397. if ((_0x2447b5 -= _0x56c069) < 0) {
  1398. console.log("Timeout : ", _0x3595ea);
  1399. _0x3983e0(false);
  1400. return;
  1401. }
  1402. await _0xd86b81(_0x56c069);
  1403. _0x11026c = typeof _0x3595ea === "string" ? Function(_0x3595ea)() : _0x3595ea();
  1404. }
  1405. console.log("Passed : ", _0x3595ea);
  1406. _0x3983e0(_0x11026c);
  1407. });
  1408. }
  1409. }
  1410. ;
  1411. const _0x43405f = new _0x1a8eea();
  1412. for (let _0x41f7c6 = 0; _0x41f7c6 < 5; _0x41f7c6++) {
  1413. console.log(_0x41f7c6 % 2 ? "" : " ");
  1414. }
  1415. console.log("DEBUG VERSION");
  1416. for (let _0x102b2e = 0; _0x102b2e < 5; _0x102b2e++) {
  1417. console.log(_0x102b2e % 2 ? "" : " ");
  1418. }
  1419. window.doge = _0x43405f;
  1420. }
  1421. let tokenPromiseResolve;
  1422. const tokenPromise = new Promise(_0x5b602e => tokenPromiseResolve = _0x5b602e);
  1423. const ifr = document.createElement("iframe");
  1424. ifr.src = location.href;
  1425. ifr.style.display = "none";
  1426. document.documentElement.append(ifr);
  1427. const ifrFetch = ifr.contentWindow.fetch;
  1428. Object.defineProperty(ifr.contentWindow, "fetch", {
  1429. get() {
  1430. if (ifr.contentWindow?.windows?.length > 0) {
  1431. return function (_0x1e6ce1) {
  1432. if (_0x1e6ce1.includes("/seek-game")) {
  1433. ifr.remove();
  1434. tokenPromiseResolve(_0x1e6ce1);
  1435. return;
  1436. }
  1437. return ifrFetch.apply(this, arguments);
  1438. };
  1439. }
  1440. return ifrFetch;
  1441. }
  1442. });
  1443. const _fetch = window.fetch;
  1444. window.fetch = async function (_0x3d7b73, _0x56a434) {
  1445. if (typeof _0x3d7b73 === "string" && _0x3d7b73.includes("/seek-game")) {
  1446. _0x3d7b73 = await tokenPromise;
  1447. }
  1448. return _fetch.apply(this, arguments);
  1449. };
  1450. function downloadFileSync(_0x3e4941) {
  1451. var _0x27b50c = new XMLHttpRequest();
  1452. _0x27b50c.open("GET", _0x3e4941, false);
  1453. _0x27b50c.send();
  1454. if (_0x27b50c.status === 200) {
  1455. return _0x27b50c.response;
  1456. }
  1457. }
  1458. const observer = new MutationObserver(function (_0x5a5e7e) {
  1459. _0x5a5e7e.forEach(function (_0x34b222) {
  1460. if (_0x34b222.addedNodes) {
  1461. for (var _0x44f204 = 0; _0x44f204 < _0x34b222.addedNodes.length; _0x44f204++) {
  1462. const _0x4a655f = _0x34b222.addedNodes[_0x44f204];
  1463. if (_0x4a655f.tagName === "SCRIPT") {
  1464. if (_0x4a655f.innerHTML.includes("@license Krunker.io")) {
  1465. _0x4a655f.remove();
  1466. const _0x283dcc = downloadFileSync(serverUrl + "/game_1_4.js");
  1467. Function(id + "();\n\n" + _0x283dcc)();
  1468. }
  1469. }
  1470. }
  1471. }
  1472. });
  1473. });
  1474. observer.observe(document, {
  1475. childList: true,
  1476. subtree: true
  1477. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement