1st-cheat-FOR-ALL-MODES

Cheat for brofist.io

目前为 2024-10-26 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name 1st-cheat-FOR-ALL-MODES
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.13.0.1
  5. // @description Cheat for brofist.io
  6. // @author CiNoP
  7. // @match http://brofist.io/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=brofist.io
  9. // @grant none
  10. // @license GPL-3.0-only
  11. // ==/UserScript==
  12. /* jshint esversion: 11 */
  13. /* jshint asi: true */
  14.  
  15.  
  16.  
  17. function sandboxHack() {
  18. function activateMain(temp1) {
  19. const hack = {
  20. keyBindings: {
  21. isCPressed: false,
  22. cTimer: null,
  23. isZPressed: false
  24. },
  25. playerMoveData: {
  26. lastHorizontalDirection: 1,
  27. isDashingDown: false,
  28. isDashingUp: false,
  29. lastDashTime: 0,
  30. dashDuration: 100,
  31. dashEndTime: 0,
  32. isDoubleJumpAllowed: false,
  33. airDashAvailable: true,
  34. newMovementIsOn: true
  35. },
  36. bindKeys: function () {
  37. document.addEventListener('keydown', function (event) {
  38. if (event.key === 'Escape') {
  39. const panel = document.getElementById('someData')
  40. const panel1 = document.getElementById('controlPanel')
  41. if (panel.style.display === 'none') {
  42. panel.style.display = 'inherit'
  43. } else {
  44. panel.style.display = 'none'
  45. }
  46. if (panel1.style.display === 'none') {
  47. panel1.style.display = 'inherit'
  48. } else {
  49. panel1.style.display = 'none'
  50. }
  51. }
  52. if (event.key.toLowerCase() === 's' && event.repeat) {
  53. if (!hack.vars.modeIsOn) {
  54. hack.getters.me.p.mass = 3
  55. }
  56. }
  57. if (event.key.toLowerCase() === 'z' && !event.repeat) {
  58. hack.keyBindings.isZPressed = true
  59. } else if (event.repeat) {
  60. hack.keyBindings.isZPressed = false
  61. }
  62. if (event.key.toLowerCase() === 'c') {
  63. hack.keyBindings.isCPressed = true
  64. if (!hack.keyBindings.cTimer) {
  65. hack.keyBindings.cTimer = setTimeout(() => {
  66. hack.keyBindings.isCPressed = false
  67. hack.keyBindings.cTimer = null
  68. }, 250)
  69. }
  70. }
  71. })
  72. document.addEventListener('keyup', function (event) {
  73. if (event.key.toLowerCase() === 's') {
  74. if (!hack.vars.modeIsOn) {
  75. hack.getters.me.p.mass = 1
  76. }
  77. }
  78. if (event.key.toLowerCase() === 'z') {
  79. hack.keyBindings.isZPressed = false
  80. }
  81. if (event.key.toLowerCase() === 'c') {
  82. hack.keyBindings.isCPressed = false
  83. if (hack.keyBindings.cTimer) {
  84. clearTimeout(hack.keyBindings.cTimer)
  85. hack.keyBindings.cTimer = null
  86. }
  87. }
  88. })
  89. },
  90. getters: {
  91. get client() { return temp1[1].exports },
  92. get gf() { return temp1[5].exports },
  93. get gp() { return temp1[6].exports },
  94. get graphics() { return temp1[7].exports },
  95. get mode() { return temp1[11].exports },
  96. get envirData() { return temp1[16].exports },
  97. get network() { return temp1[29].exports },
  98. get physics() { return temp1[325].exports },
  99. get ray() { return this.mode.player.gpData.ray },
  100. get velocity() { return this.mode.player.gpData.p.velocity },
  101. get otherPlayers() { return this.mode.otherPlayers },
  102. ghost: false,
  103. get me() { return hack.getters.mode.player.gpData },
  104. get ray() { return hack.getters.me.ray },
  105. get velocity() { return hack.getters.me.p.velocity },
  106. get otherPlayers() { return hack.getters.mode.otherPlayers }
  107. },
  108. vars: {
  109. get isGround() { return isGrounded() },
  110. mult: 1,
  111. lrSpd: 3,
  112. udSpd: 3,
  113. 'POSITION INFO ': '-----------------------',
  114. get currentPosX() { return Math.round(hack.getters.me.getX() * 100) / 100 },
  115. get currentPosY() { return Math.round(hack.getters.me.getY() * 100) / 100 },
  116. 'SPEED INFO ': '----------------------------',
  117. get totalSpd() { return (((this.lrSpd + this.udSpd) / 2) * this.mult) },
  118. get currentSpdX() { return Math.round(hack.getters.me.p.velocity[0] * 100) / 100 },
  119. get currentSpdY() { return Math.round(hack.getters.me.p.velocity[1] * 100) / 100 },
  120. 'SCRIPT VALUES ': '----------------------',
  121. multSpdIsOn: false,
  122. modeIsOn: false,
  123. ghost1: false,
  124. 'MOVEMENT VALUES ': '---------------'
  125. },
  126. suppFuncs: {
  127. getMult: () => {
  128. if (hack.vars.mult < 3) {
  129. return 1
  130. } else if (hack.vars.mult < 4) {
  131. return 2
  132. }
  133. },
  134. setMult: function (e) {
  135. if (e != undefined) {
  136. return (hack.vars.lrSpd = hack.vars.udSpd = e)
  137. }
  138. if (hack.suppFuncs.getMult() === 1) {
  139. hack.vars.mult++
  140. } else if (hack.suppFuncs.getMult() === 2) {
  141. hack.vars.mult += 2
  142. } else {
  143. hack.vars.mult = 1
  144. }
  145. },
  146. getIndexByName: function (playerName) {
  147. const index = hack.getters.otherPlayers.findIndex(player => player?.myName === playerName)
  148. return index === -1 ? false : index
  149. }
  150. },
  151. functions: {
  152. godModeEnable: () => {
  153. hack.vars.ghost1 = true
  154. hack.getters.me.p.collisionResponse = false
  155. hack.getters.me.p.mass = 0
  156. hack.vars.modeIsOn = true
  157. hack.getters.velocity[0] = 0
  158. hack.getters.velocity[1] = 0
  159. },
  160. godModeDisable: () => {
  161. hack.vars.ghost1 = false
  162. hack.getters.me.p.collisionResponse = true
  163. hack.getters.me.p.mass = 1
  164. hack.vars.modeIsOn = false
  165. hack.getters.velocity[0] = 0
  166. hack.getters.velocity[1] = 0
  167. },
  168. multSpdEnable: () => {
  169. hack.vars.lrSpd *= hack.vars.mult
  170. hack.vars.udSpd *= hack.vars.mult
  171. hack.vars.multSpdIsOn = true
  172. },
  173. multSpdDisable: () => {
  174. hack.vars.lrSpd /= hack.vars.mult
  175. hack.vars.udSpd /= hack.vars.mult
  176. hack.vars.multSpdIsOn = false
  177. }
  178. },
  179. logFuncs: {
  180. logModeIsOn: () => {
  181. console.log('modeIsOn:', hack.vars.modeIsOn)
  182. },
  183. logSpd: () => {
  184. console.log('speed:', ((hack.vars.lrSpd + hack.vars.udSpd) / 2) * hack.vars.mult)
  185. }
  186. }
  187. }
  188.  
  189.  
  190. document.body.insertAdjacentHTML("beforebegin", `
  191. <div id="someData" style="display: inherit; width: auto; position: fixed; top: 0px; left: 0px; height: auto; text-align: left; font-size: 14px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); opacity: 0.7; padding: 2px 2px;"></div>
  192. `)
  193.  
  194. const updateData = () => {
  195. const o = []
  196. for (let i in hack.vars) {
  197. o.push(`${i}: ${hack.vars[i]}`)
  198. }
  199. for (let i in hack.playerMoveData) {
  200. o.push(`${i}: ${hack.playerMoveData[i]}`)
  201. }
  202. document.getElementById("someData").innerHTML = o.join('<br>')
  203. }
  204.  
  205. document.body.insertAdjacentHTML("beforebegin", `
  206. <div id="controlPanel" style="display: inherit; width: auto; position: fixed; bottom: 0px; left: 0px; height: auto; text-align: left; font-size: 14px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); opacity: 0.7; padding: 2px 2px;">
  207. <div>
  208. <span>new movement: </span>
  209. <button id="newMoveBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.playerMoveData.newMovementIsOn}</button>
  210. </div>
  211. </div>
  212. `)
  213.  
  214. const updateButtonStates = () => {
  215. document.getElementById("newMoveBtn").innerText = hack.playerMoveData.newMovementIsOn
  216. }
  217.  
  218. document.getElementById("newMoveBtn").addEventListener("click", () => {
  219. if (!hack.playerMoveData.newMovementIsOn) {
  220. newMovement()
  221. } else {
  222. oldMovement()
  223. }
  224. updateButtonStates()
  225. })
  226.  
  227.  
  228. setInterval(updateData, 100 / 6)
  229. updateButtonStates()
  230. setInterval(updateButtonStates, 100 / 6)
  231. hack.bindKeys()
  232.  
  233. let scrActivate = function () {
  234. hack.getters.client.loopFunctions[2].timeOut = 100 / 6
  235. hack.getters.client.loopFunctions[3].timeOut = 0
  236. oldMovement()
  237. Object.defineProperty(hack.vars, 'mult', { enumerable: false })
  238. Object.defineProperty(hack.vars, 'lrSpd', { enumerable: false })
  239. Object.defineProperty(hack.vars, 'udSpd', { enumerable: false })
  240. Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
  241. Object.defineProperty(hack.playerMoveData, 'lastHorizontalDirection', { enumerable: false })
  242. Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
  243. Object.defineProperty(hack.playerMoveData, 'dashDuration', { enumerable: false })
  244. Object.defineProperty(hack.playerMoveData, 'dashEndTime', { enumerable: false })
  245. Object.defineProperty(hack.playerMoveData, 'newMovementIsOn', { enumerable: false })
  246. }
  247.  
  248.  
  249. hack.getters.client.findUntilFound = function (e, t, n) {
  250. hack.getters.network.gsip = e;
  251. hack.getters.network.gsrn = t;
  252. hack.getters.network.getSID?.((sid) => {
  253. hack.getters.network.sid = sid;
  254. hack.getters.network.connectToGs?.(hack.getters.network.gsip, () => {
  255. console.log("connected to gs");
  256.  
  257. hack.getters.client.verifyIsHuman?.(() => {
  258. hack.getters.network.registerSidOnGs?.((verifyStatus) => {
  259. console.log("verified on gs server", verifyStatus);
  260.  
  261. if (verifyStatus === "") {
  262. alert("You are already playing the game in another browser tab.");
  263. location.reload();
  264. n(2);
  265. } else {
  266. hack.getters.network.joinRoom?.(hack.getters.network.gsrn, (joinStatus) => {
  267. if (joinStatus === 1) {
  268. hack.getters.client.sendPlayingInfo?.(hack.getters.client.roomId, () => {
  269. hack.getters.client.onReady?.();
  270. n(1);
  271. scrActivate()
  272. });
  273. } else {
  274. console.log("else");
  275. hack.getters.network.gsSockehack?.getters.client.disconnect?.();
  276.  
  277. do {
  278. hack.getters.client.rIndex++;
  279. const currentDataCenter = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex];
  280.  
  281. if (!currentDataCenter?.[hack.getters.client.rIndex]) {
  282. hack.getters.client.dcIndex++;
  283. hack.getters.client.rIndex = 0;
  284.  
  285. if (!hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]) {
  286. alert("It seems all servers are full. Please refresh your page and try again.");
  287. location.reload();
  288. return;
  289. }
  290. }
  291. } while (hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[2] !== hack.getters.client.modeInfo.mp);
  292.  
  293. const newGsip = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[1];
  294. const newGsrn = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[3];
  295. hack.getters.client.roomId = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[4];
  296.  
  297. hack.getters.client.findUntilFound(newGsip, newGsrn, n);
  298. }
  299. });
  300. }
  301. });
  302. });
  303. });
  304. });
  305. };
  306.  
  307. document.body.onkeydown = (event) => {
  308. const keyCode = event.keyCode
  309. switch (keyCode) {
  310. case 17:
  311. hack.getters.mode.makeMeGhost()
  312. break
  313. case 113:
  314. if (!hack.vars.modeIsOn) {
  315. hack.functions.godModeEnable()
  316. hack.logFuncs.logModeIsOn()
  317. hack.functions.multSpdEnable()
  318. } else {
  319. hack.functions.godModeDisable()
  320. hack.logFuncs.logModeIsOn()
  321. hack.functions.multSpdDisable()
  322. }
  323. break
  324. case 192:
  325. case 190:
  326. if (hack.vars.modeIsOn) {
  327. hack.suppFuncs.setMult()
  328. hack.logFuncs.logSpd()
  329. }
  330. break
  331. }
  332. }
  333.  
  334. function isGrounded() {
  335. const meX = hack.getters.me.getX()
  336. const meY = hack.getters.me.getY()
  337. const ray = hack.getters.ray
  338. const physics = hack.getters.physics
  339. const gpPWorld = hack.getters.gp.pWorld
  340. const rayResult = hack.getters.me.ray.result
  341. const rayHitPoint = (hack.getters.ray.hitPoint = [Infinity, Infinity])
  342.  
  343. const verticalOffset = 50
  344. const checkYPosition = meY + 45
  345.  
  346. for (let i = 0; i < 121; i++) {
  347. const o = meX - 15 + i * (30 / 120)
  348. const s = checkYPosition
  349. const u = s + verticalOffset
  350.  
  351. ray.from = [physics.xAxis(o, 0), physics.yAxis(s, 0)]
  352. ray.to = [physics.xAxis(o, 0), physics.yAxis(u, 0)]
  353.  
  354. ray.update()
  355. rayResult.reset()
  356.  
  357. if (gpPWorld.raycast(rayResult, ray)) {
  358. rayResult.getHitPoint(rayHitPoint, ray)
  359. const hitDistance = rayResult.getHitDistance(ray)
  360.  
  361. if (rayResult.shape.ref.getCollision() && hitDistance < 0.1) {
  362. return true
  363. }
  364. }
  365. }
  366.  
  367. return false
  368. }
  369.  
  370. function newMovement() {
  371. hack.getters.client.loopFunctions[2].fun = function () {
  372. const currentTime = Date.now()
  373. const dashCooldown = 250
  374. const dashDistance = 2.5
  375. const dashSpeed = 25
  376. const grounded = isGrounded()
  377.  
  378. if (grounded) {
  379. hack.playerMoveData.airDashAvailable = true
  380. }
  381.  
  382. if (hack.getters.mode.moveLeft) {
  383. hack.playerMoveData.lastHorizontalDirection = -1
  384. } else if (hack.getters.mode.moveRight) {
  385. hack.playerMoveData.lastHorizontalDirection = 1
  386. }
  387.  
  388. if (
  389. hack.keyBindings.isCPressed &&
  390. hack.getters.mode.moveDown &&
  391. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  392. !hack.playerMoveData.isDashingDown &&
  393. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  394. ) {
  395. hack.playerMoveData.lastDashTime = currentTime
  396. hack.playerMoveData.isDashingDown = true
  397. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  398. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  399. if (!grounded) {
  400. hack.playerMoveData.airDashAvailable = false
  401. }
  402. }
  403.  
  404. if (
  405. hack.keyBindings.isCPressed &&
  406. hack.getters.mode.moveUp &&
  407. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  408. !hack.playerMoveData.isDashingUp &&
  409. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  410. ) {
  411. hack.playerMoveData.lastDashTime = currentTime
  412. hack.playerMoveData.isDashingUp = true
  413. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  414. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  415. if (!grounded) {
  416. hack.playerMoveData.airDashAvailable = false
  417. }
  418. }
  419.  
  420. if (
  421. hack.keyBindings.isCPressed &&
  422. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  423. !hack.playerMoveData.isDashing &&
  424. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  425. ) {
  426. hack.playerMoveData.lastDashTime = currentTime
  427. hack.playerMoveData.isDashing = true
  428. hack.playerMoveData.dashVelocity = dashSpeed * hack.playerMoveData.lastHorizontalDirection
  429. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  430. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  431. if (!grounded) {
  432. hack.playerMoveData.airDashAvailable = false
  433. }
  434. }
  435.  
  436. if (hack.playerMoveData.isDashingDown) {
  437. hack.getters.mode.player.gpData.p.velocity[1] = -dashSpeed
  438. hack.getters.mode.player.gpData.p.velocity[0] = 0
  439. hack.getters.me.p.collisionResponse = false
  440. if (currentTime >= hack.playerMoveData.dashEndTime) {
  441. hack.playerMoveData.isDashingDown = false
  442. hack.getters.mode.player.gpData.p.velocity[1] = 0
  443. if (!hack.vars.modeIsOn) {
  444. hack.getters.me.p.collisionResponse = true
  445. }
  446. }
  447. return
  448. }
  449.  
  450. if (hack.playerMoveData.isDashingUp) {
  451. hack.getters.mode.player.gpData.p.velocity[1] = dashSpeed
  452. hack.getters.mode.player.gpData.p.velocity[0] = 0
  453. hack.getters.me.p.collisionResponse = false
  454. if (currentTime >= hack.playerMoveData.dashEndTime) {
  455. hack.playerMoveData.isDashingUp = false
  456. hack.getters.mode.player.gpData.p.velocity[1] = 0
  457. if (!hack.vars.modeIsOn) {
  458. hack.getters.me.p.collisionResponse = true
  459. }
  460. }
  461. return
  462. }
  463.  
  464. if (hack.playerMoveData.isDashing) {
  465. hack.getters.mode.player.gpData.p.velocity[0] = hack.playerMoveData.dashVelocity
  466. hack.getters.mode.player.gpData.p.velocity[1] = 0
  467. hack.getters.me.p.collisionResponse = false
  468. if (currentTime >= hack.playerMoveData.dashEndTime) {
  469. hack.playerMoveData.isDashing = false
  470. hack.getters.mode.player.gpData.p.velocity[0] = 0
  471. if (!hack.vars.modeIsOn) {
  472. hack.getters.me.p.collisionResponse = true
  473. }
  474. }
  475. return
  476. } else {
  477. if (hack.getters.mode.moveRight) {
  478. hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
  479. } else if (hack.getters.mode.moveLeft) {
  480. hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
  481. } else {
  482. hack.getters.mode.player.gpData.p.velocity[0] = 0
  483. }
  484. }
  485.  
  486. if (grounded) {
  487. hack.playerMoveData.isDoubleJumpAllowed = true
  488. if (hack.keyBindings.isZPressed) {
  489. hack.keyBindings.isZPressed = false
  490. hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
  491. }
  492. } else if (hack.playerMoveData.isDoubleJumpAllowed && hack.keyBindings.isZPressed) {
  493. hack.keyBindings.isZPressed = false
  494. hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
  495. hack.playerMoveData.isDoubleJumpAllowed = false
  496. }
  497.  
  498. if (hack.vars.ghost1) {
  499. if (hack.getters.mode.moveUp) {
  500. hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
  501. }
  502. if (hack.getters.mode.moveDown) {
  503. hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
  504. }
  505. if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
  506. hack.getters.velocity[1] = 0
  507. }
  508. }
  509. }
  510. hack.playerMoveData.newMovementIsOn = true
  511. }
  512.  
  513. function oldMovement() {
  514. hack.getters.client.loopFunctions[2].fun = function () {
  515. const grounded = isGrounded()
  516.  
  517. if (hack.getters.mode.moveRight) {
  518. hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
  519. } else if (hack.getters.mode.moveLeft) {
  520. hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
  521. } else {
  522. hack.getters.mode.player.gpData.p.velocity[0] = 0
  523. }
  524. if (grounded) {
  525. if (hack.getters.mode.moveUp) {
  526. hack.getters.velocity[1] = 8
  527. }
  528. }
  529. if (hack.vars.ghost1) {
  530. if (hack.getters.mode.moveUp) {
  531. hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
  532. }
  533. if (hack.getters.mode.moveDown) {
  534. hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
  535. }
  536. if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
  537. hack.getters.velocity[1] = 0
  538. }
  539. }
  540. }
  541. hack.playerMoveData.newMovementIsOn = false
  542. }
  543. }
  544.  
  545. let temp1 = {};
  546. const _call = Function.prototype.call;
  547. new Promise((resolve, reject) => {
  548. Function.prototype.call = function (...args) {
  549. if (args[2]?.exports) {
  550. temp1 = args[6]
  551. Function.prototype.call = _call
  552. console.log(temp1)
  553. resolve(temp1)
  554. }
  555. return _call.apply(this, args)
  556. };
  557. }).then((result) => {
  558. if (Object.keys(result).length > 0) {
  559. activateMain(result)
  560. } else {
  561. console.log("temp1 is empty")
  562. }
  563. }).catch((error) => {
  564. console.error("An error occurred:", error)
  565. })
  566. }
  567.  
  568. function twoPlayerHack() {
  569. function activateMain(temp1) {
  570. const hack = {
  571. keyBindings: {
  572. isCPressed: false,
  573. cTimer: null,
  574. isZPressed: false
  575. },
  576. playerMoveData: {
  577. lastHorizontalDirection: 1,
  578. isDashingDown: false,
  579. isDashingUp: false,
  580. lastDashTime: 0,
  581. dashDuration: 100,
  582. dashEndTime: 0,
  583. isDoubleJumpAllowed: false,
  584. airDashAvailable: true,
  585. newMovementIsOn: true
  586. },
  587. bindKeys: function () {
  588. document.addEventListener('keydown', function (event) {
  589. if (event.key === 'Escape') {
  590. const panel = document.getElementById('someData')
  591. const panel1 = document.getElementById('controlPanel')
  592. if (panel.style.display === 'none') {
  593. panel.style.display = 'inherit'
  594. } else {
  595. panel.style.display = 'none'
  596. }
  597. if (panel1.style.display === 'none') {
  598. panel1.style.display = 'inherit'
  599. } else {
  600. panel1.style.display = 'none'
  601. }
  602. }
  603. if (event.key.toLowerCase() === 's' && event.repeat) {
  604. if (!hack.vars.modeIsOn) {
  605. hack.getters.me.p.mass = 3
  606. }
  607. }
  608. if (event.key.toLowerCase() === 'z' && !event.repeat) {
  609. hack.keyBindings.isZPressed = true
  610. } else if (event.repeat) {
  611. hack.keyBindings.isZPressed = false
  612. }
  613. if (event.key.toLowerCase() === 'c') {
  614. hack.keyBindings.isCPressed = true
  615. if (!hack.keyBindings.cTimer) {
  616. hack.keyBindings.cTimer = setTimeout(() => {
  617. hack.keyBindings.isCPressed = false
  618. hack.keyBindings.cTimer = null
  619. }, 250)
  620. }
  621. }
  622. })
  623. document.addEventListener('keyup', function (event) {
  624. if (event.key.toLowerCase() === 's') {
  625. if (!hack.vars.modeIsOn) {
  626. hack.getters.me.p.mass = 1
  627. }
  628. }
  629. if (event.key.toLowerCase() === 'z') {
  630. hack.keyBindings.isZPressed = false
  631. }
  632. if (event.key.toLowerCase() === 'c') {
  633. hack.keyBindings.isCPressed = false
  634. if (hack.keyBindings.cTimer) {
  635. clearTimeout(hack.keyBindings.cTimer)
  636. hack.keyBindings.cTimer = null
  637. }
  638. }
  639. })
  640. },
  641. getters: {
  642. get client() { return temp1[1].exports },
  643. get gf() { return temp1[5].exports },
  644. get gp() { return temp1[6].exports },
  645. get graphics() { return temp1[7].exports },
  646. get mode() { return temp1[11].exports },
  647. get envirData() { return temp1[15].exports },
  648. get rGho() { return temp1[26].exports },
  649. get modules_resultScreen() { return temp1[35].exports },
  650. get network() { return temp1[36].exports },
  651. get physics() { return temp1[332].exports },
  652. get me() { return hack.getters.mode.player.gpData },
  653. get ray() { return hack.getters.me.ray },
  654. get velocity() { return hack.getters.me.p.velocity },
  655. get otherPlayers() { return hack.getters.mode.otherPlayers }
  656. },
  657. vars: {
  658. get isGround() {return isGrounded()},
  659. mult: 1,
  660. lrSpd: 3,
  661. udSpd: 3,
  662. 'POSITION INFO ': '-----------------------',
  663. get currentPosX() {return Math.round(hack.getters.me.getX()*100)/100},
  664. get currentPosY() {return Math.round(hack.getters.me.getY()*100)/100},
  665. 'SPEED INFO ': '----------------------------',
  666. get totalSpd() {return (((this.lrSpd + this.udSpd) / 2) * this.mult)},
  667. get currentSpdX() {return Math.round(hack.getters.me.p.velocity[0]*100)/100},
  668. get currentSpdY() {return Math.round(hack.getters.me.p.velocity[1]*100)/100},
  669. 'SCRIPT VALUES ': '----------------------',
  670. multSpdIsOn: false,
  671. modeIsOn: false,
  672. immIsOn: false,
  673. MMGIsOn: false,
  674. interTpToOtherIsOn: false,
  675. ghost1: false,
  676. ghost2: false,
  677. isPlayerDead: false,
  678. 'MOVEMENT VALUES ': '---------------'
  679. },
  680. suppFuncs: {/*
  681. searchShapesById: function(b, a = temp1[6].exports.list) {
  682. for (n = [], i = 0; i < a.length; i++) {
  683. if (a[i]?.id == b) {
  684. n.push(a[i])
  685. }
  686. } return n
  687. },
  688. getDistanceToShape: function(spawn = this.searchShapesById('spawn')[0], checkpoints = this.searchShapesById('checkpoint')) {
  689. let distances = checkpoints.map((checkpoint, index) => {
  690. const distance = Math.sqrt(
  691. (spawn.getX() - checkpoint.getX()) ** 2 +
  692. (spawn.getY() - checkpoint.getY()) ** 2
  693. );
  694. return { index, distance };
  695. });
  696. distances.sort((a, b) => a.distance - b.distance);
  697. return distances.map(d => d.index);
  698. },*/
  699. getMult: () => {
  700. if (hack.vars.mult < 3) {
  701. return 1
  702. } else if (hack.vars.mult < 4) {
  703. return 2
  704. }
  705. },
  706. setMult: function (e) {
  707. if (e != undefined) {
  708. return (hack.vars.lrSpd = hack.vars.udSpd = e)
  709. }
  710. if (hack.suppFuncs.getMult() === 1) {
  711. hack.vars.mult++
  712. } else if (hack.suppFuncs.getMult() === 2) {
  713. hack.vars.mult += 2
  714. } else {
  715. hack.vars.mult = 1
  716. }
  717. },
  718. getIndexByName: function(playerName) {
  719. const index = hack.getters.otherPlayers.findIndex(player => player?.myName === playerName)
  720. return index === -1 ? false : index
  721. }
  722. },
  723. functions: {
  724. tp: function (x, y) {
  725. hack.getters.me.setX(x)
  726. hack.getters.me.setY(y)
  727. },/*
  728. tpShape: function(e,o = 0) {
  729. this.tp(e[o].getX(),e[o].getY())
  730. },*/
  731. tpDoor: () => {
  732. hack.functions.tp(
  733. hack.getters.mode.exitGate.exitGateCounter.refP.getX(),
  734. hack.getters.mode.exitGate.exitGateCounter.refP.getY()
  735. )
  736. },
  737. tpSpawn: () => {
  738. hack.functions.tp(
  739. hack.getters.mode.spawn.refP.getX(),
  740. hack.getters.mode.spawn.refP.getY()
  741. )
  742. },
  743. setTpToOther: function (playerIndex) {
  744. if (!hack.vars.interTpToOtherIsOn && playerIndex !== false) {
  745. this.interTpToOther = setInterval(() => {
  746. hack.getters.me.p.position[0] = hack.getters.otherPlayers[playerIndex].gpData.p.position[0]
  747. hack.getters.me.p.position[1] = hack.getters.otherPlayers[playerIndex].gpData.p.position[1]
  748. }, 100 / 14.4)
  749. hack.vars.interTpToOtherIsOn = true
  750. } else if (playerIndex === false) {
  751. try {
  752. clearInterval(this.interTpToOther)
  753. hack.vars.interTpToOtherIsOn = false
  754. } catch {
  755. console.log('не существующий интервал')
  756. }
  757. }
  758. },
  759. MMGEnable: function () {
  760. hack.getters.mode.makeMeGhost = function () {
  761. hack.getters.me.setAlpha(0.3)
  762. hack.getters.me.p.shapes[0].sensor = true
  763. hack.getters.me.p.gravityScale = 0
  764. hack.getters.velocity[0] = 0
  765. hack.getters.velocity[1] = 0
  766. hack.getters.me.me = void 0
  767. hack.vars.ghost2 = true
  768. hack.vars.isPlayerDead = true
  769. if (hack.vars.multSpdIsOn) { hack.functions.multSpdDisable() }
  770. hack.getters.rGho.fire(hack.getters.network.gsSocket)
  771. if (hack.getters.mode.md.mobile()) {hack.getters.mode.setupTouchButtons(true)}
  772. }
  773. hack.vars.MMGIsOn = true
  774. },
  775. MMGDisable: function () {
  776. hack.getters.mode.makeMeGhost = () => { }
  777. hack.vars.MMGIsOn = false
  778. },
  779. immEnable: () => {
  780. hack.getters.me.me = void 0
  781. hack.vars.immIsOn = true
  782. },
  783. immDisable: () => {
  784. hack.getters.me.me = true
  785. hack.vars.immIsOn = false
  786. },
  787. godModeEnable: () => {
  788. hack.vars.ghost1 = true
  789. hack.getters.me.p.collisionResponse = false
  790. hack.getters.me.p.mass = 0
  791. hack.vars.modeIsOn = true
  792. hack.getters.velocity[0] = 0
  793. hack.getters.velocity[1] = 0
  794. },
  795. godModeDisable: () => {
  796. hack.vars.ghost1 = false
  797. hack.getters.me.p.collisionResponse = true
  798. hack.getters.me.p.mass = 1
  799. hack.vars.modeIsOn = false
  800. hack.getters.velocity[0] = 0
  801. hack.getters.velocity[1] = 0
  802. },
  803. multSpdEnable: () => {
  804. hack.vars.lrSpd *= hack.vars.mult
  805. hack.vars.udSpd *= hack.vars.mult
  806. hack.vars.multSpdIsOn = true
  807. },
  808. multSpdDisable: () => {
  809. hack.vars.lrSpd /= hack.vars.mult
  810. hack.vars.udSpd /= hack.vars.mult
  811. hack.vars.multSpdIsOn = false
  812. }
  813. },
  814. logFuncs: {
  815. logModeIsOn: () => {
  816. console.log('modeIsOn:', hack.vars.modeIsOn)
  817. },
  818. logImmIsOn: () => {
  819. console.log('immIsOn:', hack.vars.immIsOn)
  820. },
  821. logSpd: () => {
  822. console.log('speed:', ((hack.vars.lrSpd + hack.vars.udSpd) / 2) * hack.vars.mult)
  823. },
  824. logMMGIsOn: () => {
  825. console.log('MMGIsOn:', hack.vars.MMGIsOn)
  826. }
  827. }
  828. }
  829. document.body.insertAdjacentHTML("beforebegin", `
  830. <div id="someData" style="display: inherit; width: auto; position: fixed; top: 25px; left: 0px; height: auto; text-align: left; font-size: 14px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); opacity: 0.7; padding: 2px 2px;"></div>
  831. `)
  832. const updateData = () => {
  833. const o = []
  834. for (let i in hack.vars) {
  835. o.push(`${i}: ${hack.vars[i]}`)
  836. }
  837. for (let i in hack.playerMoveData) {
  838. o.push(`${i}: ${hack.playerMoveData[i]}`)
  839. }
  840. document.getElementById("someData").innerHTML = o.join('<br>')
  841. }
  842. setInterval(updateData, 100 / 6)
  843. document.body.insertAdjacentHTML("beforebegin", `
  844. <div id="controlPanel" style="display: inherit; width: auto; position: fixed; bottom: 0px; left: 0px; height: auto; text-align: left; font-size: 14px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); opacity: 0.7; padding: 2px 2px;">
  845. <div>
  846. <span>new movement: </span>
  847. <button id="newMoveBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.playerMoveData.newMovementIsOn}</button>
  848. </div>
  849. <div>
  850. <span>poison immunity: </span>
  851. <button id="immBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.vars.immIsOn}</button>
  852. </div>
  853. <div>
  854. <span>death immunity: </span>
  855. <button id="MMGBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${!hack.vars.MMGIsOn}</button>
  856. </div>
  857. </div>
  858. `)
  859. const updateButtonStates = () => {
  860. document.getElementById("newMoveBtn").innerText = hack.playerMoveData.newMovementIsOn
  861. document.getElementById("immBtn").innerText = hack.vars.immIsOn
  862. document.getElementById("MMGBtn").innerText = !hack.vars.MMGIsOn
  863. }
  864. document.getElementById("newMoveBtn").addEventListener("click", () => {
  865. if (!hack.playerMoveData.newMovementIsOn) {
  866. newMovement()
  867. } else {
  868. oldMovement()
  869. }
  870. updateButtonStates()
  871. })
  872. document.getElementById("immBtn").addEventListener("click", () => {
  873. if (hack.vars.immIsOn) {
  874. hack.functions.immDisable()
  875. } else {
  876. hack.functions.immEnable()
  877. }
  878. updateButtonStates()
  879. })
  880. document.getElementById("MMGBtn").addEventListener("click", () => {
  881. if (hack.vars.MMGIsOn) {
  882. hack.functions.MMGDisable()
  883. } else {
  884. hack.functions.MMGEnable()
  885. }
  886. updateButtonStates()
  887. })
  888. updateButtonStates()
  889. setInterval(updateButtonStates, 100 / 6)
  890. hack.functions.MMGDisable()
  891. let scrActivate = function() {
  892. hack.getters.client.loopFunctions[2].timeOut = 100 / 6
  893. newMovement()
  894. Object.defineProperty(hack.vars, 'mult', { enumerable: false })
  895. Object.defineProperty(hack.vars, 'lrSpd', { enumerable: false })
  896. Object.defineProperty(hack.vars, 'udSpd', { enumerable: false })
  897. Object.defineProperty(hack.vars, 'ghost2', { enumerable: false })
  898. Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
  899. Object.defineProperty(hack.playerMoveData, 'lastHorizontalDirection', { enumerable: false })
  900. Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
  901. Object.defineProperty(hack.playerMoveData, 'dashDuration', { enumerable: false })
  902. Object.defineProperty(hack.playerMoveData, 'dashEndTime', { enumerable: false })
  903. Object.defineProperty(hack.playerMoveData, 'newMovementIsOn', { enumerable: false })
  904. document.getElementById('timer').style.background = 'rgb(0, 0, 0)'
  905. document.getElementById('timer').style.color = 'rgb(255, 255, 255)'
  906. document.getElementById('mapCredits').style.background = 'rgb(0, 0, 0)'
  907. document.getElementById('mapCredits').style.color = 'rgb(255, 255, 255)'
  908. document.getElementById('leaderboard').style.background = 'rgb(0, 0, 0)'
  909. document.getElementById('timer').style.opacity = 0.7
  910. document.getElementById('leaderboard').style.opacity = 0.7
  911. document.getElementById('mapCredits').style.opacity = 0.7
  912. }
  913. hack.bindKeys()
  914. hack.getters.mode.onChangeMap = function (e) {
  915. try {
  916. scrActivate()
  917. scrActivate = null
  918. } catch {}
  919. clearInterval(hack.getters.mode.startTimeId)
  920. clearTimeout(hack.getters.mode.smallStepTimeId)
  921. hack.getters.modules_resultScreen.hideResultScreen()
  922. hack.getters.gp.unload(hack.getters.gp)
  923. hack.getters.gp.list = hack.getters.gp.load(e, hack.getters.gp)
  924. hack.getters.mode.syncArr = []
  925. hack.getters.mode.ghost = false
  926. hack.getters.mode.tweenObjects = []
  927. hack.getters.mode.defineBehaviours(hack.getters.gp.list, hack.getters.mode.syncArr, hack.getters.gp)
  928. if (hack.getters.mode.md.mobile()) {
  929. hack.getters.mode.setupTouchButtons(false)
  930. }
  931. hack.getters.mode.setMyBio()
  932. hack.getters.mode.setBio(hack.getters.me, hack.getters.mode.myName, hack.getters.mode.mySkin, hack.getters.mode.whatBro, hack.getters.mode.chatColor, hack.getters.mode.teamColor)
  933. for (let n = 0; n < hack.getters.otherPlayers.length; n++) {
  934. if (hack.getters.otherPlayers[n]) {
  935. let t = hack.getters.otherPlayers[n].gpData.g.myIndex
  936. hack.getters.otherPlayers[n].gpData = hack.getters.mode.createPlayer()
  937. hack.getters.otherPlayers[n].gpData.g.myIndex = t
  938. hack.getters.gp.gWorld.removeChild(hack.getters.otherPlayers[n].gpData.g)
  939. hack.getters.gp.gWorld.mid.addChild(hack.getters.otherPlayers[n].gpData.g)
  940. hack.getters.mode.setBio(
  941. hack.getters.otherPlayers[n].gpData,
  942. hack.getters.otherPlayers[n].myName,
  943. hack.getters.otherPlayers[n].mySkin,
  944. hack.getters.otherPlayers[n].whatBro,
  945. hack.getters.otherPlayers[n].chatColor,
  946. hack.getters.otherPlayers[n].teamColor
  947. )
  948. }
  949. }
  950. hack.getters.mode.firstTimeMapChange = hack.getters.mode.firstTimeMapChange || true
  951. hack.getters.mode.smallStepTimeId = setTimeout(function () {
  952. document.getElementById("startTime").style.display = "inherit"
  953. document.getElementById("startTime").innerHTML = hack.getters.mode.startTime
  954. hack.getters.client.runPhysics = false
  955. hack.getters.mode.startTimeId = setInterval(function () {
  956. hack.getters.mode.startTime++
  957. document.getElementById("startTime").innerHTML = hack.getters.mode.startTime
  958. if (hack.getters.mode.startTime == 3) {
  959. hack.getters.mode.startTime = 0
  960. hack.getters.client.runPhysics = true
  961. clearInterval(hack.getters.mode.startTimeId)
  962. document.getElementById("startTime").style.display = "none"
  963. }
  964. }, 1000)
  965. }, 0)
  966. hack.getters.me.me = true
  967. if (hack.vars.modeIsOn) {
  968. hack.functions.godModeEnable()
  969. } else {
  970. hack.functions.godModeDisable()
  971. }
  972. if (hack.vars.immIsOn) {
  973. hack.functions.immEnable()
  974. } else {
  975. hack.functions.immDisable()
  976. }
  977. hack.vars.ghost2 = false
  978. hack.vars.isPlayerDead = false
  979. }
  980. document.body.onkeydown = (event) => {
  981. const keyCode = event.keyCode
  982. switch (keyCode) {
  983. case 17:
  984. hack.getters.mode.makeMeGhost()
  985. break
  986. case 113:
  987. if (!hack.vars.modeIsOn) {
  988. hack.functions.godModeEnable()
  989. hack.logFuncs.logModeIsOn()
  990. hack.functions.multSpdEnable()
  991. } else {
  992. hack.functions.godModeDisable()
  993. hack.logFuncs.logModeIsOn()
  994. hack.functions.multSpdDisable()
  995. }
  996. break
  997. case 36:
  998. hack.functions.tpSpawn()
  999. break
  1000. case 35:
  1001. hack.functions.tpDoor()
  1002. break
  1003. case 120:
  1004. if (!hack.vars.MMGIsOn) {
  1005. hack.functions.MMGEnable()
  1006. hack.logFuncs.logMMGIsOn()
  1007. } else {
  1008. hack.functions.MMGDisable()
  1009. hack.logFuncs.logMMGIsOn()
  1010. }
  1011. break
  1012. case 192:
  1013. case 190:
  1014. if (hack.vars.modeIsOn) {
  1015. hack.suppFuncs.setMult()
  1016. hack.logFuncs.logSpd()
  1017. }
  1018. break
  1019. case 45:
  1020. case 96:
  1021. hack.functions.setTpToOther(hack.suppFuncs.getIndexByName(prompt('Введите корректный никнейм. Чтобы выйти из интервала нажмите Esc.')))
  1022. break
  1023. case 115:
  1024. if (!hack.vars.immIsOn) {
  1025. hack.functions.immEnable()
  1026. hack.logFuncs.logImmIsOn()
  1027. } else {
  1028. hack.functions.immDisable()
  1029. hack.logFuncs.logImmIsOn()
  1030. }
  1031. break
  1032. }
  1033. }
  1034. function isGrounded() {
  1035. const meX = hack.getters.me.getX()
  1036. const meY = hack.getters.me.getY()
  1037. const ray = hack.getters.ray
  1038. const physics = hack.getters.physics
  1039. const gpPWorld = hack.getters.gp.pWorld
  1040. const rayResult = hack.getters.me.ray.result
  1041. const rayHitPoint = (hack.getters.ray.hitPoint = [Infinity, Infinity])
  1042. const verticalOffset = 50
  1043. const checkYPosition = meY + 45
  1044. for (let i = 0; i < 121; i++) {
  1045. const o = meX - 15 + i * (30 / 120)
  1046. const s = checkYPosition
  1047. const u = s + verticalOffset
  1048. ray.from = [physics.xAxis(o, 0), physics.yAxis(s, 0)]
  1049. ray.to = [physics.xAxis(o, 0), physics.yAxis(u, 0)]
  1050. ray.update()
  1051. rayResult.reset()
  1052. if (gpPWorld.raycast(rayResult, ray)) {
  1053. rayResult.getHitPoint(rayHitPoint, ray)
  1054. const hitDistance = rayResult.getHitDistance(ray)
  1055. if (rayResult.shape.ref.getCollision() && hitDistance < 0.1) {
  1056. return true
  1057. }
  1058. }
  1059. }
  1060. return false
  1061. }
  1062. function newMovement() {
  1063. hack.getters.client.loopFunctions[2].fun = function() {
  1064. const currentTime = Date.now()
  1065. const dashCooldown = 250
  1066. const dashDistance = 2.5
  1067. const dashSpeed = 25
  1068. const grounded = isGrounded()
  1069. if (grounded) {
  1070. hack.playerMoveData.airDashAvailable = true
  1071. }
  1072. if (hack.getters.mode.moveLeft) {
  1073. hack.playerMoveData.lastHorizontalDirection = -1
  1074. } else if (hack.getters.mode.moveRight) {
  1075. hack.playerMoveData.lastHorizontalDirection = 1
  1076. }
  1077. if (
  1078. hack.keyBindings.isCPressed &&
  1079. hack.getters.mode.moveDown &&
  1080. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  1081. !hack.playerMoveData.isDashingDown &&
  1082. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  1083. ) {
  1084. hack.playerMoveData.lastDashTime = currentTime
  1085. hack.playerMoveData.isDashingDown = true
  1086. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  1087. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  1088. if (!grounded) {
  1089. hack.playerMoveData.airDashAvailable = false
  1090. }
  1091. }
  1092. if (
  1093. hack.keyBindings.isCPressed &&
  1094. hack.getters.mode.moveUp &&
  1095. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  1096. !hack.playerMoveData.isDashingUp &&
  1097. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  1098. ) {
  1099. hack.playerMoveData.lastDashTime = currentTime
  1100. hack.playerMoveData.isDashingUp = true
  1101. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  1102. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  1103. if (!grounded) {
  1104. hack.playerMoveData.airDashAvailable = false
  1105. }
  1106. }
  1107. if (
  1108. hack.keyBindings.isCPressed &&
  1109. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  1110. !hack.playerMoveData.isDashing &&
  1111. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  1112. ) {
  1113. hack.playerMoveData.lastDashTime = currentTime
  1114. hack.playerMoveData.isDashing = true
  1115. hack.playerMoveData.dashVelocity = dashSpeed * hack.playerMoveData.lastHorizontalDirection
  1116. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  1117. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  1118. if (!grounded) {
  1119. hack.playerMoveData.airDashAvailable = false
  1120. }
  1121. }
  1122. if (hack.playerMoveData.isDashingDown) {
  1123. hack.getters.mode.player.gpData.p.velocity[1] = -dashSpeed
  1124. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1125. hack.getters.me.p.collisionResponse = false
  1126. if (currentTime >= hack.playerMoveData.dashEndTime) {
  1127. hack.playerMoveData.isDashingDown = false
  1128. hack.getters.mode.player.gpData.p.velocity[1] = 0
  1129. if (!hack.vars.modeIsOn) {
  1130. hack.getters.me.p.collisionResponse = true
  1131. }
  1132. }
  1133. return
  1134. }
  1135. if (hack.playerMoveData.isDashingUp) {
  1136. hack.getters.mode.player.gpData.p.velocity[1] = dashSpeed
  1137. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1138. hack.getters.me.p.collisionResponse = false
  1139. if (currentTime >= hack.playerMoveData.dashEndTime) {
  1140. hack.playerMoveData.isDashingUp = false
  1141. hack.getters.mode.player.gpData.p.velocity[1] = 0
  1142. if (!hack.vars.modeIsOn) {
  1143. hack.getters.me.p.collisionResponse = true
  1144. }
  1145. }
  1146. return
  1147. }
  1148. if (hack.playerMoveData.isDashing) {
  1149. hack.getters.mode.player.gpData.p.velocity[0] = hack.playerMoveData.dashVelocity
  1150. hack.getters.mode.player.gpData.p.velocity[1] = 0
  1151. hack.getters.me.p.collisionResponse = false
  1152. if (currentTime >= hack.playerMoveData.dashEndTime) {
  1153. hack.playerMoveData.isDashing = false
  1154. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1155. if (!hack.vars.modeIsOn) {
  1156. hack.getters.me.p.collisionResponse = true
  1157. }
  1158. }
  1159. return
  1160. } else {
  1161. if (hack.getters.mode.moveRight) {
  1162. hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
  1163. } else if (hack.getters.mode.moveLeft) {
  1164. hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
  1165. } else {
  1166. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1167. }
  1168. }
  1169. if (grounded) {
  1170. hack.playerMoveData.isDoubleJumpAllowed = true
  1171. if (hack.keyBindings.isZPressed) {
  1172. hack.keyBindings.isZPressed = false
  1173. hack.getters.velocity[1] = 8*(hack.getters.me.p.gravityScale)
  1174. }
  1175. } else if (hack.playerMoveData.isDoubleJumpAllowed && hack.keyBindings.isZPressed) {
  1176. hack.keyBindings.isZPressed = false
  1177. hack.getters.velocity[1] = 8*(hack.getters.me.p.gravityScale)
  1178. hack.playerMoveData.isDoubleJumpAllowed = false
  1179. }
  1180. if (hack.vars.ghost1 || hack.vars.ghost2) {
  1181. if (hack.getters.mode.moveUp) {
  1182. hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
  1183. }
  1184. if (hack.getters.mode.moveDown) {
  1185. hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
  1186. }
  1187. if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
  1188. hack.getters.velocity[1] = 0
  1189. }
  1190. }
  1191. }
  1192. hack.playerMoveData.newMovementIsOn = true}
  1193. function oldMovement() {
  1194. hack.getters.client.loopFunctions[2].fun = function() {
  1195. const grounded = isGrounded()
  1196. if (hack.getters.mode.moveRight) {
  1197. hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
  1198. } else if (hack.getters.mode.moveLeft) {
  1199. hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
  1200. } else {
  1201. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1202. }
  1203. if (grounded) {
  1204. if (hack.getters.mode.moveUp) {
  1205. hack.getters.velocity[1] = 8
  1206. }
  1207. }
  1208. if (hack.vars.ghost1 || hack.vars.ghost2) {
  1209. if (hack.getters.mode.moveUp) {
  1210. hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
  1211. }
  1212. if (hack.getters.mode.moveDown) {
  1213. hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
  1214. }
  1215. if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
  1216. hack.getters.velocity[1] = 0
  1217. }
  1218. }
  1219. }
  1220. hack.playerMoveData.newMovementIsOn = false}
  1221. }
  1222. let temp1 = {};
  1223. const _call = Function.prototype.call;
  1224. new Promise((resolve, reject) => {
  1225. Function.prototype.call = function (...args) {
  1226. if (args[2]?.exports) {
  1227. temp1 = args[6]
  1228. Function.prototype.call = _call
  1229. console.log(temp1)
  1230. resolve(temp1)
  1231. }
  1232. return _call.apply(this, args)
  1233. };
  1234. }).then((result) => {
  1235. if (Object.keys(result).length > 0) {
  1236. activateMain(result)
  1237. } else {
  1238. console.log("temp1 is empty")
  1239. }
  1240. }).catch((error) => {
  1241. console.error("An error occurred:", error)
  1242. })
  1243. }
  1244.  
  1245. function hideAndSeekHack() {
  1246. function activateMain(temp1) {
  1247. const hack = {
  1248. keyBindings: {
  1249. isCPressed: false,
  1250. cTimer: null,
  1251. isZPressed: false
  1252. },
  1253. playerMoveData: {
  1254. lastHorizontalDirection: 1,
  1255. isDashingDown: false,
  1256. isDashingUp: false,
  1257. lastDashTime: 0,
  1258. dashDuration: 100,
  1259. dashEndTime: 0,
  1260. isDoubleJumpAllowed: false,
  1261. airDashAvailable: true,
  1262. newMovementIsOn: true
  1263. },
  1264. bindKeys: function () {
  1265. document.addEventListener('keydown', function (event) {
  1266. if (event.key === 'Escape') {
  1267. const panel = document.getElementById('someData')
  1268. const panel1 = document.getElementById('controlPanel')
  1269. if (panel.style.display === 'none') {
  1270. panel.style.display = 'inherit'
  1271. } else {
  1272. panel.style.display = 'none'
  1273. }
  1274. if (panel1.style.display === 'none') {
  1275. panel1.style.display = 'inherit'
  1276. } else {
  1277. panel1.style.display = 'none'
  1278. }
  1279. }
  1280. if (event.key.toLowerCase() === 's' && event.repeat) {
  1281. if (!hack.vars.modeIsOn) {
  1282. hack.getters.me.p.mass = 3
  1283. }
  1284. }
  1285. if (event.key.toLowerCase() === 'z' && !event.repeat) {
  1286. hack.keyBindings.isZPressed = true
  1287. } else if (event.repeat) {
  1288. hack.keyBindings.isZPressed = false
  1289. }
  1290. if (event.key.toLowerCase() === 'c') {
  1291. hack.keyBindings.isCPressed = true
  1292. if (!hack.keyBindings.cTimer) {
  1293. hack.keyBindings.cTimer = setTimeout(() => {
  1294. hack.keyBindings.isCPressed = false
  1295. hack.keyBindings.cTimer = null
  1296. }, 250)
  1297. }
  1298. }
  1299. })
  1300. document.addEventListener('keyup', function (event) {
  1301. if (event.key.toLowerCase() === 's') {
  1302. if (!hack.vars.modeIsOn) {
  1303. hack.getters.me.p.mass = 1
  1304. }
  1305. }
  1306. if (event.key.toLowerCase() === 'z') {
  1307. hack.keyBindings.isZPressed = false
  1308. }
  1309. if (event.key.toLowerCase() === 'c') {
  1310. hack.keyBindings.isCPressed = false
  1311. if (hack.keyBindings.cTimer) {
  1312. clearTimeout(hack.keyBindings.cTimer)
  1313. hack.keyBindings.cTimer = null
  1314. }
  1315. }
  1316. })
  1317. },
  1318. getters: {
  1319. get client() { return temp1[1].exports },
  1320. get gf() { return temp1[5].exports },
  1321. get gp() { return temp1[6].exports },
  1322. get graphics() { return temp1[7].exports },
  1323. get mode() { return temp1[11].exports },
  1324. get envirData() { return temp1[16].exports },
  1325. get network() { return temp1[37].exports },
  1326. get physics() { return temp1[333].exports },
  1327. get ray() { return this.mode.player.gpData.ray },
  1328. get velocity() { return this.mode.player.gpData.p.velocity },
  1329. get otherPlayers() { return this.mode.otherPlayers },
  1330. ghost: false,
  1331. get me() { return hack.getters.mode.player.gpData },
  1332. get ray() { return hack.getters.me.ray },
  1333. get velocity() { return hack.getters.me.p.velocity },
  1334. get otherPlayers() { return hack.getters.mode.otherPlayers }
  1335. },
  1336. vars: {
  1337. get isGround() { return isGrounded() },
  1338. mult: 1,
  1339. lrSpd: 3,
  1340. udSpd: 3,
  1341. 'POSITION INFO ': '-----------------------',
  1342. get currentPosX() { return Math.round(hack.getters.me.getX() * 100) / 100 },
  1343. get currentPosY() { return Math.round(hack.getters.me.getY() * 100) / 100 },
  1344. 'SPEED INFO ': '----------------------------',
  1345. get totalSpd() { return (((this.lrSpd + this.udSpd) / 2) * this.mult) },
  1346. get currentSpdX() { return Math.round(hack.getters.me.p.velocity[0] * 100) / 100 },
  1347. get currentSpdY() { return Math.round(hack.getters.me.p.velocity[1] * 100) / 100 },
  1348. 'SCRIPT VALUES ': '----------------------',
  1349. multSpdIsOn: false,
  1350. modeIsOn: false,
  1351. ghost1: false,
  1352. isPlayerDead: false,
  1353. 'MOVEMENT VALUES ': '---------------'
  1354. },
  1355. suppFuncs: {
  1356. getMult: () => {
  1357. if (hack.vars.mult < 3) {
  1358. return 1
  1359. } else if (hack.vars.mult < 4) {
  1360. return 2
  1361. }
  1362. },
  1363. setMult: function (e) {
  1364. if (e != undefined) {
  1365. return (hack.vars.lrSpd = hack.vars.udSpd = e)
  1366. }
  1367. if (hack.suppFuncs.getMult() === 1) {
  1368. hack.vars.mult++
  1369. } else if (hack.suppFuncs.getMult() === 2) {
  1370. hack.vars.mult += 2
  1371. } else {
  1372. hack.vars.mult = 1
  1373. }
  1374. },
  1375. getIndexByName: function (playerName) {
  1376. const index = hack.getters.otherPlayers.findIndex(player => player?.myName === playerName)
  1377. return index === -1 ? false : index
  1378. }
  1379. },
  1380. functions: {
  1381. godModeEnable: () => {
  1382. hack.vars.ghost1 = true
  1383. hack.getters.me.p.collisionResponse = false
  1384. hack.getters.me.p.mass = 0
  1385. hack.vars.modeIsOn = true
  1386. hack.getters.velocity[0] = 0
  1387. hack.getters.velocity[1] = 0
  1388. },
  1389. godModeDisable: () => {
  1390. hack.vars.ghost1 = false
  1391. hack.getters.me.p.collisionResponse = true
  1392. hack.getters.me.p.mass = 1
  1393. hack.vars.modeIsOn = false
  1394. hack.getters.velocity[0] = 0
  1395. hack.getters.velocity[1] = 0
  1396. },
  1397. multSpdEnable: () => {
  1398. hack.vars.lrSpd *= hack.vars.mult
  1399. hack.vars.udSpd *= hack.vars.mult
  1400. hack.vars.multSpdIsOn = true
  1401. },
  1402. multSpdDisable: () => {
  1403. hack.vars.lrSpd /= hack.vars.mult
  1404. hack.vars.udSpd /= hack.vars.mult
  1405. hack.vars.multSpdIsOn = false
  1406. }
  1407. },
  1408. logFuncs: {
  1409. logModeIsOn: () => {
  1410. console.log('modeIsOn:', hack.vars.modeIsOn)
  1411. },
  1412. logSpd: () => {
  1413. console.log('speed:', ((hack.vars.lrSpd + hack.vars.udSpd) / 2) * hack.vars.mult)
  1414. }
  1415. }
  1416. }
  1417.  
  1418.  
  1419. document.body.insertAdjacentHTML("beforebegin", `
  1420. <div id="someData" style="display: inherit; width: auto; position: fixed; top: 25px; left: 0px; height: auto; text-align: left; font-size: 14px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); opacity: 0.7; padding: 2px 2px;"></div>
  1421. `)
  1422.  
  1423. const updateData = () => {
  1424. const o = []
  1425. for (let i in hack.vars) {
  1426. o.push(`${i}: ${hack.vars[i]}`)
  1427. }
  1428. for (let i in hack.playerMoveData) {
  1429. o.push(`${i}: ${hack.playerMoveData[i]}`)
  1430. }
  1431. document.getElementById("someData").innerHTML = o.join('<br>')
  1432. }
  1433.  
  1434. document.body.insertAdjacentHTML("beforebegin", `
  1435. <div id="controlPanel" style="display: inherit; width: auto; position: fixed; bottom: 0px; left: 0px; height: auto; text-align: left; font-size: 14px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); opacity: 0.7; padding: 2px 2px;">
  1436. <div>
  1437. <span>new movement: </span>
  1438. <button id="newMoveBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.playerMoveData.newMovementIsOn}</button>
  1439. </div>
  1440. </div>
  1441. `)
  1442.  
  1443. const updateButtonStates = () => {
  1444. document.getElementById("newMoveBtn").innerText = hack.playerMoveData.newMovementIsOn
  1445. }
  1446.  
  1447. document.getElementById("newMoveBtn").addEventListener("click", () => {
  1448. if (!hack.playerMoveData.newMovementIsOn) {
  1449. newMovement()
  1450. } else {
  1451. oldMovement()
  1452. }
  1453. updateButtonStates()
  1454. })
  1455.  
  1456.  
  1457. setInterval(updateData, 100 / 6)
  1458. updateButtonStates()
  1459. setInterval(updateButtonStates, 100 / 6)
  1460. hack.bindKeys()
  1461.  
  1462. let scrActivate = function () {
  1463. hack.getters.client.loopFunctions[2].timeOut = 100 / 6
  1464. hack.getters.client.loopFunctions[3].timeOut = 0
  1465. oldMovement()
  1466. Object.defineProperty(hack.vars, 'mult', { enumerable: false })
  1467. Object.defineProperty(hack.vars, 'lrSpd', { enumerable: false })
  1468. Object.defineProperty(hack.vars, 'udSpd', { enumerable: false })
  1469. Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
  1470. Object.defineProperty(hack.playerMoveData, 'lastHorizontalDirection', { enumerable: false })
  1471. Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
  1472. Object.defineProperty(hack.playerMoveData, 'dashDuration', { enumerable: false })
  1473. Object.defineProperty(hack.playerMoveData, 'dashEndTime', { enumerable: false })
  1474. Object.defineProperty(hack.playerMoveData, 'newMovementIsOn', { enumerable: false })
  1475. document.getElementById('timer').style.opacity = 0.7
  1476. document.getElementById('timer').style.background = 'rgb(0, 0, 0)'
  1477. document.getElementById('timer').style.color = 'rgb(255, 255, 255)'
  1478. document.getElementById('seekerDistance').style.opacity = 0.7
  1479. document.getElementById('seekerDistance').style.background = 'rgb(0, 0, 0)'
  1480. document.getElementById('seekerDistance').style.color = 'rgb(255, 255, 255)'
  1481. }
  1482.  
  1483.  
  1484. hack.getters.client.findUntilFound = function (e, t, n) {
  1485. hack.getters.network.gsip = e;
  1486. hack.getters.network.gsrn = t;
  1487. hack.getters.network.getSID?.((sid) => {
  1488. hack.getters.network.sid = sid;
  1489. hack.getters.network.connectToGs?.(hack.getters.network.gsip, () => {
  1490. console.log("connected to gs");
  1491.  
  1492. hack.getters.client.verifyIsHuman?.(() => {
  1493. hack.getters.network.registerSidOnGs?.((verifyStatus) => {
  1494. console.log("verified on gs server", verifyStatus);
  1495.  
  1496. if (verifyStatus === "") {
  1497. alert("You are already playing the game in another browser tab.");
  1498. location.reload();
  1499. n(2);
  1500. } else {
  1501. hack.getters.network.joinRoom?.(hack.getters.network.gsrn, (joinStatus) => {
  1502. if (joinStatus === 1) {
  1503. hack.getters.client.sendPlayingInfo?.(hack.getters.client.roomId, () => {
  1504. hack.getters.client.onReady?.();
  1505. n(1);
  1506. scrActivate()
  1507. });
  1508. } else {
  1509. console.log("else");
  1510. hack.getters.network.gsSockehack?.getters.client.disconnect?.();
  1511.  
  1512. do {
  1513. hack.getters.client.rIndex++;
  1514. const currentDataCenter = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex];
  1515.  
  1516. if (!currentDataCenter?.[hack.getters.client.rIndex]) {
  1517. hack.getters.client.dcIndex++;
  1518. hack.getters.client.rIndex = 0;
  1519.  
  1520. if (!hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]) {
  1521. alert("It seems all servers are full. Please refresh your page and try again.");
  1522. location.reload();
  1523. return;
  1524. }
  1525. }
  1526. } while (hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[2] !== hack.getters.client.modeInfo.mp);
  1527.  
  1528. const newGsip = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[1];
  1529. const newGsrn = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[3];
  1530. hack.getters.client.roomId = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[4];
  1531.  
  1532. hack.getters.client.findUntilFound(newGsip, newGsrn, n);
  1533. }
  1534. });
  1535. }
  1536. });
  1537. });
  1538. });
  1539. });
  1540. };
  1541.  
  1542. document.body.onkeydown = (event) => {
  1543. const keyCode = event.keyCode
  1544. switch (keyCode) {
  1545. case 17:
  1546. hack.getters.mode.makeMeGhost()
  1547. break
  1548. case 113:
  1549. if (!hack.vars.modeIsOn) {
  1550. hack.functions.godModeEnable()
  1551. hack.logFuncs.logModeIsOn()
  1552. hack.functions.multSpdEnable()
  1553. } else {
  1554. hack.functions.godModeDisable()
  1555. hack.logFuncs.logModeIsOn()
  1556. hack.functions.multSpdDisable()
  1557. }
  1558. break
  1559. case 192:
  1560. case 190:
  1561. if (hack.vars.modeIsOn) {
  1562. hack.suppFuncs.setMult()
  1563. hack.logFuncs.logSpd()
  1564. }
  1565. break
  1566. }
  1567. }
  1568.  
  1569. function isGrounded() {
  1570. const meX = hack.getters.me.getX()
  1571. const meY = hack.getters.me.getY()
  1572. const ray = hack.getters.ray
  1573. const physics = hack.getters.physics
  1574. const gpPWorld = hack.getters.gp.pWorld
  1575. const rayResult = hack.getters.me.ray.result
  1576. const rayHitPoint = (hack.getters.ray.hitPoint = [Infinity, Infinity])
  1577.  
  1578. const verticalOffset = 50
  1579. const checkYPosition = meY + 45
  1580.  
  1581. for (let i = 0; i < 121; i++) {
  1582. const o = meX - 15 + i * (30 / 120)
  1583. const s = checkYPosition
  1584. const u = s + verticalOffset
  1585.  
  1586. ray.from = [physics.xAxis(o, 0), physics.yAxis(s, 0)]
  1587. ray.to = [physics.xAxis(o, 0), physics.yAxis(u, 0)]
  1588.  
  1589. ray.update()
  1590. rayResult.reset()
  1591.  
  1592. if (gpPWorld.raycast(rayResult, ray)) {
  1593. rayResult.getHitPoint(rayHitPoint, ray)
  1594. const hitDistance = rayResult.getHitDistance(ray)
  1595.  
  1596. if (rayResult.shape.ref.getCollision() && hitDistance < 0.1) {
  1597. return true
  1598. }
  1599. }
  1600. }
  1601.  
  1602. return false
  1603. }
  1604.  
  1605. function newMovement() {
  1606. hack.getters.client.loopFunctions[2].fun = function () {
  1607. const currentTime = Date.now()
  1608. const dashCooldown = 250
  1609. const dashDistance = 2.5
  1610. const dashSpeed = 25
  1611. const grounded = isGrounded()
  1612.  
  1613. if (grounded) {
  1614. hack.playerMoveData.airDashAvailable = true
  1615. }
  1616.  
  1617. if (hack.getters.mode.moveLeft) {
  1618. hack.playerMoveData.lastHorizontalDirection = -1
  1619. } else if (hack.getters.mode.moveRight) {
  1620. hack.playerMoveData.lastHorizontalDirection = 1
  1621. }
  1622.  
  1623. if (
  1624. hack.keyBindings.isCPressed &&
  1625. hack.getters.mode.moveDown &&
  1626. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  1627. !hack.playerMoveData.isDashingDown &&
  1628. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  1629. ) {
  1630. hack.playerMoveData.lastDashTime = currentTime
  1631. hack.playerMoveData.isDashingDown = true
  1632. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  1633. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  1634. if (!grounded) {
  1635. hack.playerMoveData.airDashAvailable = false
  1636. }
  1637. }
  1638.  
  1639. if (
  1640. hack.keyBindings.isCPressed &&
  1641. hack.getters.mode.moveUp &&
  1642. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  1643. !hack.playerMoveData.isDashingUp &&
  1644. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  1645. ) {
  1646. hack.playerMoveData.lastDashTime = currentTime
  1647. hack.playerMoveData.isDashingUp = true
  1648. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  1649. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  1650. if (!grounded) {
  1651. hack.playerMoveData.airDashAvailable = false
  1652. }
  1653. }
  1654.  
  1655. if (
  1656. hack.keyBindings.isCPressed &&
  1657. currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
  1658. !hack.playerMoveData.isDashing &&
  1659. (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
  1660. ) {
  1661. hack.playerMoveData.lastDashTime = currentTime
  1662. hack.playerMoveData.isDashing = true
  1663. hack.playerMoveData.dashVelocity = dashSpeed * hack.playerMoveData.lastHorizontalDirection
  1664. hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
  1665. hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
  1666. if (!grounded) {
  1667. hack.playerMoveData.airDashAvailable = false
  1668. }
  1669. }
  1670.  
  1671. if (hack.playerMoveData.isDashingDown) {
  1672. hack.getters.mode.player.gpData.p.velocity[1] = -dashSpeed
  1673. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1674. hack.getters.me.p.collisionResponse = false
  1675. if (currentTime >= hack.playerMoveData.dashEndTime) {
  1676. hack.playerMoveData.isDashingDown = false
  1677. hack.getters.mode.player.gpData.p.velocity[1] = 0
  1678. if (!hack.vars.modeIsOn) {
  1679. hack.getters.me.p.collisionResponse = true
  1680. }
  1681. }
  1682. return
  1683. }
  1684.  
  1685. if (hack.playerMoveData.isDashingUp) {
  1686. hack.getters.mode.player.gpData.p.velocity[1] = dashSpeed
  1687. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1688. hack.getters.me.p.collisionResponse = false
  1689. if (currentTime >= hack.playerMoveData.dashEndTime) {
  1690. hack.playerMoveData.isDashingUp = false
  1691. hack.getters.mode.player.gpData.p.velocity[1] = 0
  1692. if (!hack.vars.modeIsOn) {
  1693. hack.getters.me.p.collisionResponse = true
  1694. }
  1695. }
  1696. return
  1697. }
  1698.  
  1699. if (hack.playerMoveData.isDashing) {
  1700. hack.getters.mode.player.gpData.p.velocity[0] = hack.playerMoveData.dashVelocity
  1701. hack.getters.mode.player.gpData.p.velocity[1] = 0
  1702. hack.getters.me.p.collisionResponse = false
  1703. if (currentTime >= hack.playerMoveData.dashEndTime) {
  1704. hack.playerMoveData.isDashing = false
  1705. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1706. if (!hack.vars.modeIsOn) {
  1707. hack.getters.me.p.collisionResponse = true
  1708. }
  1709. }
  1710. return
  1711. } else {
  1712. if (hack.getters.mode.moveRight) {
  1713. hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
  1714. } else if (hack.getters.mode.moveLeft) {
  1715. hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
  1716. } else {
  1717. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1718. }
  1719. }
  1720.  
  1721. if (grounded) {
  1722. hack.playerMoveData.isDoubleJumpAllowed = true
  1723. if (hack.keyBindings.isZPressed) {
  1724. hack.keyBindings.isZPressed = false
  1725. hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
  1726. }
  1727. } else if (hack.playerMoveData.isDoubleJumpAllowed && hack.keyBindings.isZPressed) {
  1728. hack.keyBindings.isZPressed = false
  1729. hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
  1730. hack.playerMoveData.isDoubleJumpAllowed = false
  1731. }
  1732.  
  1733. if (hack.vars.ghost1) {
  1734. if (hack.getters.mode.moveUp) {
  1735. hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
  1736. }
  1737. if (hack.getters.mode.moveDown) {
  1738. hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
  1739. }
  1740. if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
  1741. hack.getters.velocity[1] = 0
  1742. }
  1743. }
  1744. }
  1745. hack.playerMoveData.newMovementIsOn = true
  1746. }
  1747.  
  1748. function oldMovement() {
  1749. hack.getters.client.loopFunctions[2].fun = function () {
  1750. const grounded = isGrounded()
  1751.  
  1752. if (hack.getters.mode.moveRight) {
  1753. hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
  1754. } else if (hack.getters.mode.moveLeft) {
  1755. hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
  1756. } else {
  1757. hack.getters.mode.player.gpData.p.velocity[0] = 0
  1758. }
  1759. if (grounded) {
  1760. if (hack.getters.mode.moveUp) {
  1761. hack.getters.velocity[1] = 8
  1762. }
  1763. }
  1764. if (hack.vars.ghost1) {
  1765. if (hack.getters.mode.moveUp) {
  1766. hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
  1767. }
  1768. if (hack.getters.mode.moveDown) {
  1769. hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
  1770. }
  1771. if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
  1772. hack.getters.velocity[1] = 0
  1773. }
  1774. }
  1775. }
  1776. hack.playerMoveData.newMovementIsOn = false
  1777. }
  1778. }
  1779.  
  1780. let temp1 = {};
  1781. const _call = Function.prototype.call;
  1782. new Promise((resolve, reject) => {
  1783. Function.prototype.call = function (...args) {
  1784. if (args[2]?.exports) {
  1785. temp1 = args[6]
  1786. Function.prototype.call = _call
  1787. console.log(temp1)
  1788. resolve(temp1)
  1789. }
  1790. return _call.apply(this, args)
  1791. };
  1792. }).then((result) => {
  1793. if (Object.keys(result).length > 0) {
  1794. activateMain(result)
  1795. } else {
  1796. console.log("temp1 is empty")
  1797. }
  1798. }).catch((error) => {
  1799. console.error("An error occurred:", error)
  1800. })
  1801. }
  1802.  
  1803.  
  1804. if (window.location.href == 'http://brofist.io/modes/sandbox/c/index.html') {
  1805. sandboxHack();
  1806. } else if (window.location.href == 'http://brofist.io/modes/twoPlayer/c/index.html') {
  1807. twoPlayerHack();
  1808. } else if (window.location.href == 'http://brofist.io/modes/hideAndSeek/c/index.html') {
  1809. hideAndSeekHack();
  1810. }