- // ==UserScript==
- // @name 1st-cheat-FOR-ALL-MODES
- // @namespace http://tampermonkey.net/
- // @version 1.13.4
- // @description Cheat for brofist.io
- // @author CiNoP
- // @match http://brofist.io/
- // @match http://brofist.io/modes/twoPlayer/c/index.html
- // @match http://brofist.io/modes/hideAndSeek/c/index.html
- // @match http://brofist.io/modes/sandbox/c/index.html
- // @icon https://www.google.com/s2/favicons?sz=64&domain=brofist.io
- // @grant none
- // @license GPL-3.0-only
- // ==/UserScript==
- /* jshint esversion: 11 */
- /* jshint asi: true */
-
- document.body.insertAdjacentHTML("beforebegin",
- `<button id="infoPanelBtn" style="display: inherit; width: 30px; height: 30px; position: fixed; top: 50%; left: 0px; background: rgba(0, 0, 0, 0.3); color: rgb(255, 255, 255); border: none; cursor: pointer;">ⓘ</button>`
- );
-
- document.getElementById('infoPanelBtn').addEventListener('click', () => {
- const panel = document.getElementById('cheatInfoPanel')
- panel.style.display = (panel.style.display === 'none') ? 'block' : 'none';
- })
-
- document.body.insertAdjacentHTML("beforebegin",
- `<div id="cheatInfoPanel" style="display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.8); color: rgb(255, 255, 255); padding: 15px; border-radius: 5px; font-size: 20px; text-align: center; z-index: 1000;">
- ${getCheatInfoText()}
- </div>`
- )
-
- function getCheatInfoText() {
- if (window.location.href === 'http://brofist.io/') {
- return "Зайдите в любой режим";
- } else if (window.location.href === 'http://brofist.io/modes/twoPlayer/c/index.html') {
- return `
- <b>Функционал чита:</b><br>
- английская <b>C</b> - рывок (во все стороны)<br>
- англ. <b>Z</b> - прыжок с возможностью второго прыжка<br>
- <b>F2</b> - Режим бога<br>
- <b>ё</b> или <b>\`</b> - Изменение скорости в режиме бога<br>
- <b>F4</b> - Невосприимчивость к яду<br>
- <b>F9</b> - Невосприимчивость к смерти (по умолчанию вкл.)<br>
- <b>Home</b>/<b>End</b> - тп к спавну/двери<br>
- Зажатие англ. <b>S</b> - Увеличение массы в 3 раза<br>
- <b>Insert</b> - Тп к игроку<br><br>
-
- <b>А так же:</b><br>
- Информация об игроке, скриптовых переменных и т.п. в левой верхней панели<br>
- Переключение между новым и старым передвижением в левой нижней панели<br>
- Нажмите <b>Esc</b> чтобы скрыть новые панели<br>
- `;
- } else {
- return `
- <b>Функционал чита:</b><br>
- английская <b>C</b> - рывок (во все стороны)<br>
- англ. <b>Z</b> - прыжок с возможностью второго прыжка<br>
- <b>F2</b> - Режим бога<br>
- <b>ё</b> или <b>\`</b> - Изменение скорости в режиме бога<br>
- Зажатие англ. <b>S</b> - Увеличение массы в 3 раза<br><br>
-
- <b>А так же:</b><br>
- Информация об игроке, скриптовых переменных и т.п. в левой верхней панели<br>
- Переключение между новым и старым передвижением в левой нижней панели<br>
- Нажмите <b>Esc</b> чтобы скрыть новые панели<br>
- `
- }
- }
-
-
-
-
- function sandboxHack() {
- function activateMain(temp1) {
- const hack = {
- keyBindings: {
- isCPressed: false,
- cTimer: null,
- isZPressed: false
- },
- playerMoveData: {
- lastHorizontalDirection: 1,
- isDashingDown: false,
- isDashingUp: false,
- lastDashTime: 0,
- dashDuration: 100,
- dashEndTime: 0,
- isDoubleJumpAllowed: false,
- airDashAvailable: true,
- newMovementIsOn: true,
- },
- bindKeys: function () {
- document.addEventListener('keydown', function (event) {
- if (event.key === 'Escape') {
- const panel = document.getElementById('someData')
- const panel1 = document.getElementById('controlPanel')
- if (panel.style.display === 'none') {
- panel.style.display = 'inherit'
- } else {
- panel.style.display = 'none'
- }
- if (panel1.style.display === 'none') {
- panel1.style.display = 'inherit'
- } else {
- panel1.style.display = 'none'
- }
- }
- if (event.key.toLowerCase() === 's' && event.repeat) {
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.mass = 3
- }
- }
- if (event.key.toLowerCase() === 'z' && !event.repeat) {
- hack.keyBindings.isZPressed = true
- } else if (event.repeat) {
- hack.keyBindings.isZPressed = false
- }
- if (event.key.toLowerCase() === 'c') {
- hack.keyBindings.isCPressed = true
- if (!hack.keyBindings.cTimer) {
- hack.keyBindings.cTimer = setTimeout(() => {
- hack.keyBindings.isCPressed = false
- hack.keyBindings.cTimer = null
- }, 250)
- }
- }
- })
- document.addEventListener('keyup', function (event) {
- if (event.key.toLowerCase() === 's') {
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.mass = 1
- }
- }
- if (event.key.toLowerCase() === 'z') {
- hack.keyBindings.isZPressed = false
- }
- if (event.key.toLowerCase() === 'c') {
- hack.keyBindings.isCPressed = false
- if (hack.keyBindings.cTimer) {
- clearTimeout(hack.keyBindings.cTimer)
- hack.keyBindings.cTimer = null
- }
- }
- })
- },
- getters: {
- get client() { return temp1[1].exports },
- get gf() { return temp1[5].exports },
- get gp() { return temp1[6].exports },
- get graphics() { return temp1[7].exports },
- get mode() { return temp1[11].exports },
- get envirData() { return temp1[16].exports },
- get network() { return temp1[29].exports },
- get physics() { return temp1[325].exports },
- get ray() { return this.mode.player.gpData.ray },
- get velocity() { return this.mode.player.gpData.p.velocity },
- get otherPlayers() { return this.mode.otherPlayers },
- ghost: false,
- get me() { return hack.getters.mode.player.gpData },
- get ray() { return hack.getters.me.ray },
- get velocity() { return hack.getters.me.p.velocity },
- get otherPlayers() { return hack.getters.mode.otherPlayers }
- },
- vars: {
- get isGround() { return isGrounded() },
- mult: 1,
- lrSpd: 3,
- udSpd: 3,
- 'POSITION INFO ': '-----------------------',
- get currentPosX() { return Math.round(hack.getters.me.getX() * 100) / 100 },
- get currentPosY() { return Math.round(hack.getters.me.getY() * 100) / 100 },
- 'SPEED INFO ': '----------------------------',
- get totalSpd() { return (((this.lrSpd + this.udSpd) / 2) * this.mult) },
- get currentSpdX() { return Math.round(hack.getters.me.p.velocity[0] * 100) / 100 },
- get currentSpdY() { return Math.round(hack.getters.me.p.velocity[1] * 100) / 100 },
- 'SCRIPT VALUES ': '----------------------',
- multSpdIsOn: false,
- modeIsOn: false,
- ghost1: false,
- 'MOVEMENT VALUES ': '---------------'
- },
- suppFuncs: {
- getMult: () => {
- if (hack.vars.mult < 3) {
- return 1
- } else if (hack.vars.mult < 4) {
- return 2
- }
- },
- setMult: function (e) {
- if (e != undefined) {
- return (hack.vars.lrSpd = hack.vars.udSpd = e)
- }
- if (hack.suppFuncs.getMult() === 1) {
- hack.vars.mult++
- } else if (hack.suppFuncs.getMult() === 2) {
- hack.vars.mult += 2
- } else {
- hack.vars.mult = 1
- }
- },
- getIndexByName: function (playerName) {
- const index = hack.getters.otherPlayers.findIndex(player => player?.myName === playerName)
- return index === -1 ? false : index
- }
- },
- functions: {
- godModeEnable: () => {
- hack.vars.ghost1 = true
- hack.getters.me.p.collisionResponse = false
- hack.getters.me.p.mass = 0
- hack.vars.modeIsOn = true
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- },
- godModeDisable: () => {
- hack.vars.ghost1 = false
- hack.getters.me.p.collisionResponse = true
- hack.getters.me.p.mass = 1
- hack.vars.modeIsOn = false
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- },
- multSpdEnable: () => {
- hack.vars.lrSpd *= hack.vars.mult
- hack.vars.udSpd *= hack.vars.mult
- hack.vars.multSpdIsOn = true
- },
- multSpdDisable: () => {
- hack.vars.lrSpd /= hack.vars.mult
- hack.vars.udSpd /= hack.vars.mult
- hack.vars.multSpdIsOn = false
- }
- },
- logFuncs: {
- logModeIsOn: () => {
- console.log('modeIsOn:', hack.vars.modeIsOn)
- },
- logSpd: () => {
- console.log('speed:', ((hack.vars.lrSpd + hack.vars.udSpd) / 2) * hack.vars.mult)
- }
- }
- }
-
-
-
- document.body.insertAdjacentHTML("beforebegin", `
- <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>
- `)
-
- const updateData = () => {
- const o = []
- for (let i in hack.vars) {
- o.push(`${i}: ${hack.vars[i]}`)
- }
- for (let i in hack.playerMoveData) {
- o.push(`${i}: ${hack.playerMoveData[i]}`)
- }
- document.getElementById("someData").innerHTML = o.join('<br>')
- }
-
- document.body.insertAdjacentHTML("beforebegin", `
- <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;">
- <div>
- <span>new movement: </span>
- <button id="newMoveBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.playerMoveData.newMovementIsOn}</button>
- </div>
- </div>
- `)
-
- const updateButtonStates = () => {
- document.getElementById("newMoveBtn").innerText = hack.playerMoveData.newMovementIsOn
- }
-
- document.getElementById("newMoveBtn").addEventListener("click", () => {
- if (!hack.playerMoveData.newMovementIsOn) {
- newMovement()
- } else {
- oldMovement()
- }
- updateButtonStates()
- })
-
-
- setInterval(updateData, 100 / 6)
- updateButtonStates()
- setInterval(updateButtonStates, 100 / 6)
- hack.bindKeys()
-
- let scrActivate = function () {
- hack.getters.client.loopFunctions[2].timeOut = 100 / 6
- hack.getters.client.loopFunctions[3].timeOut = 0
- oldMovement()
- Object.defineProperty(hack.vars, 'mult', { enumerable: false })
- Object.defineProperty(hack.vars, 'lrSpd', { enumerable: false })
- Object.defineProperty(hack.vars, 'udSpd', { enumerable: false })
- Object.defineProperty(hack.vars, 'multSpdIsOn', { enumerable: false })
- Object.defineProperty(hack.vars, 'ghost1', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastHorizontalDirection', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'dashDuration', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'dashEndTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'newMovementIsOn', { enumerable: false })
- }
-
-
- hack.getters.client.findUntilFound = function (e, t, n) {
- hack.getters.network.gsip = e;
- hack.getters.network.gsrn = t;
- hack.getters.network.getSID?.((sid) => {
- hack.getters.network.sid = sid;
- hack.getters.network.connectToGs?.(hack.getters.network.gsip, () => {
- console.log("connected to gs");
-
- hack.getters.client.verifyIsHuman?.(() => {
- hack.getters.network.registerSidOnGs?.((verifyStatus) => {
- console.log("verified on gs server", verifyStatus);
-
- if (verifyStatus === "") {
- alert("You are already playing the game in another browser tab.");
- location.reload();
- n(2);
- } else {
- hack.getters.network.joinRoom?.(hack.getters.network.gsrn, (joinStatus) => {
- if (joinStatus === 1) {
- hack.getters.client.sendPlayingInfo?.(hack.getters.client.roomId, () => {
- hack.getters.client.onReady?.();
- n(1);
- scrActivate()
- });
- } else {
- console.log("else");
- hack.getters.network.gsSockehack?.getters.client.disconnect?.();
-
- do {
- hack.getters.client.rIndex++;
- const currentDataCenter = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex];
-
- if (!currentDataCenter?.[hack.getters.client.rIndex]) {
- hack.getters.client.dcIndex++;
- hack.getters.client.rIndex = 0;
-
- if (!hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]) {
- alert("It seems all servers are full. Please refresh your page and try again.");
- location.reload();
- return;
- }
- }
- } while (hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[2] !== hack.getters.client.modeInfo.mp);
-
- const newGsip = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[1];
- const newGsrn = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[3];
- hack.getters.client.roomId = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[4];
-
- hack.getters.client.findUntilFound(newGsip, newGsrn, n);
- }
- });
- }
- });
- });
- });
- });
- };
-
- document.body.onkeydown = (event) => {
- const keyCode = event.keyCode
- switch (keyCode) {
- case 17:
- hack.getters.mode.makeMeGhost()
- break
- case 113:
- if (!hack.vars.modeIsOn) {
- hack.functions.godModeEnable()
- hack.logFuncs.logModeIsOn()
- hack.functions.multSpdEnable()
- } else {
- hack.functions.godModeDisable()
- hack.logFuncs.logModeIsOn()
- hack.functions.multSpdDisable()
- }
- break
- case 192:
- case 190:
- if (hack.vars.modeIsOn) {
- hack.suppFuncs.setMult()
- hack.logFuncs.logSpd()
- }
- break
- }
- }
-
- function isGrounded() {
- const meX = hack.getters.me.getX()
- const meY = hack.getters.me.getY()
- const ray = hack.getters.ray
- const physics = hack.getters.physics
- const gpPWorld = hack.getters.gp.pWorld
- const rayResult = hack.getters.me.ray.result
- const rayHitPoint = (hack.getters.ray.hitPoint = [Infinity, Infinity])
-
- const verticalOffset = 50
- const checkYPosition = meY + 45
-
- for (let i = 0; i < 121; i++) {
- const o = meX - 15 + i * (30 / 120)
- const s = checkYPosition
- const u = s + verticalOffset
-
- ray.from = [physics.xAxis(o, 0), physics.yAxis(s, 0)]
- ray.to = [physics.xAxis(o, 0), physics.yAxis(u, 0)]
-
- ray.update()
- rayResult.reset()
-
- if (gpPWorld.raycast(rayResult, ray)) {
- rayResult.getHitPoint(rayHitPoint, ray)
- const hitDistance = rayResult.getHitDistance(ray)
-
- if (rayResult.shape.ref.getCollision() && hitDistance < 0.1) {
- return true
- }
- }
- }
-
- return false
- }
-
- function newMovement() {
- hack.getters.client.loopFunctions[2].fun = function () {
- const currentTime = Date.now()
- const dashCooldown = 250
- const dashDistance = 2.5
- const dashSpeed = 25
- const grounded = isGrounded()
-
- if (grounded) {
- hack.playerMoveData.airDashAvailable = true
- }
-
- if (hack.getters.mode.moveLeft) {
- hack.playerMoveData.lastHorizontalDirection = -1
- } else if (hack.getters.mode.moveRight) {
- hack.playerMoveData.lastHorizontalDirection = 1
- }
-
- if (
- hack.keyBindings.isCPressed &&
- hack.getters.mode.moveDown &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashingDown &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashingDown = true
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (
- hack.keyBindings.isCPressed &&
- hack.getters.mode.moveUp &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashingUp &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashingUp = true
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (
- hack.keyBindings.isCPressed &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashing &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashing = true
- hack.playerMoveData.dashVelocity = dashSpeed * hack.playerMoveData.lastHorizontalDirection
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (hack.playerMoveData.isDashingDown) {
- hack.getters.mode.player.gpData.p.velocity[1] = -dashSpeed
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashingDown = false
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- }
-
- if (hack.playerMoveData.isDashingUp) {
- hack.getters.mode.player.gpData.p.velocity[1] = dashSpeed
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashingUp = false
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- }
-
- if (hack.playerMoveData.isDashing) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.playerMoveData.dashVelocity
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashing = false
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- } else {
- if (hack.getters.mode.moveRight) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
- } else if (hack.getters.mode.moveLeft) {
- hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
- } else {
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- }
- }
-
- if (grounded) {
- hack.playerMoveData.isDoubleJumpAllowed = true
- if (hack.keyBindings.isZPressed) {
- hack.keyBindings.isZPressed = false
- hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
- }
- } else if (hack.playerMoveData.isDoubleJumpAllowed && hack.keyBindings.isZPressed) {
- hack.keyBindings.isZPressed = false
- hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
- hack.playerMoveData.isDoubleJumpAllowed = false
- }
-
- if (hack.vars.ghost1) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
- }
- if (hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
- }
- if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = 0
- }
- }
- }
- hack.playerMoveData.newMovementIsOn = true
- }
-
- function oldMovement() {
- hack.getters.client.loopFunctions[2].fun = function () {
- const grounded = isGrounded()
-
- if (hack.getters.mode.moveRight) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
- } else if (hack.getters.mode.moveLeft) {
- hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
- } else {
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- }
- if (grounded) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = 8
- }
- }
- if (hack.vars.ghost1) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
- }
- if (hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
- }
- if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = 0
- }
- }
- }
- hack.playerMoveData.newMovementIsOn = false
- }
- }
-
- let temp1 = {};
- const _call = Function.prototype.call;
- new Promise((resolve, reject) => {
- Function.prototype.call = function (...args) {
- if (args[2]?.exports) {
- temp1 = args[6]
- Function.prototype.call = _call
- console.log(temp1)
- resolve(temp1)
- }
- return _call.apply(this, args)
- };
- }).then((result) => {
- if (Object.keys(result).length > 0) {
- activateMain(result)
- } else {
- console.log("temp1 is empty")
- }
- }).catch((error) => {
- console.error("An error occurred:", error)
- })
- }
-
- function twoPlayerHack() {
- function activateMain(temp1) {
- const hack = {
- keyBindings: {
- isCPressed: false,
- cTimer: null,
- isZPressed: false
- },
- playerMoveData: {
- lastHorizontalDirection: 1,
- isDashingDown: false,
- isDashingUp: false,
- lastDashTime: 0,
- dashDuration: 100,
- dashEndTime: 0,
- isDoubleJumpAllowed: false,
- airDashAvailable: true,
- newMovementIsOn: true,
- division: 120,
- },
- bindKeys: function () {
- document.addEventListener('keydown', function (event) {
- if (event.key === 'Escape') {
- const panel = document.getElementById('someData')
- const panel1 = document.getElementById('controlPanel')
- if (panel.style.display === 'none') {
- panel.style.display = 'inherit'
- } else {
- panel.style.display = 'none'
- }
- if (panel1.style.display === 'none') {
- panel1.style.display = 'inherit'
- } else {
- panel1.style.display = 'none'
- }
- }
- if (event.key.toLowerCase() === 's' && event.repeat) {
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.mass = 3
- }
- }
- if (event.key.toLowerCase() === 'z' && !event.repeat) {
- hack.keyBindings.isZPressed = true
- } else if (event.repeat) {
- hack.keyBindings.isZPressed = false
- }
- if (event.key.toLowerCase() === 'c') {
- hack.keyBindings.isCPressed = true
- if (!hack.keyBindings.cTimer) {
- hack.keyBindings.cTimer = setTimeout(() => {
- hack.keyBindings.isCPressed = false
- hack.keyBindings.cTimer = null
- }, 250)
- }
- }
- })
- document.addEventListener('keyup', function (event) {
- if (event.key.toLowerCase() === 's') {
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.mass = 1
- }
- }
- if (event.key.toLowerCase() === 'z') {
- hack.keyBindings.isZPressed = false
- }
- if (event.key.toLowerCase() === 'c') {
- hack.keyBindings.isCPressed = false
- if (hack.keyBindings.cTimer) {
- clearTimeout(hack.keyBindings.cTimer)
- hack.keyBindings.cTimer = null
- }
- }
- })
- },
- getters: {
- get client() { return temp1[1].exports },
- get gf() { return temp1[5].exports },
- get gp() { return temp1[6].exports },
- get graphics() { return temp1[7].exports },
- get mode() { return temp1[11].exports },
- get envirData() { return temp1[15].exports },
- get rGho() { return temp1[26].exports },
- get modules_resultScreen() { return temp1[35].exports },
- get network() { return temp1[36].exports },
- get physics() { return temp1[332].exports },
- get me() { return hack.getters.mode.player.gpData },
- get ray() { return hack.getters.me.ray },
- get velocity() { return hack.getters.me.p.velocity },
- get otherPlayers() { return hack.getters.mode.otherPlayers },
- },
- vars: {
- get isGround() {return isGrounded()},
- mult: 1,
- lrSpd: 3,
- udSpd: 3,
- 'POSITION INFO ': '-----------------------',
- get currentPosX() {return Math.round(hack.getters.me.getX()*100)/100},
- get currentPosY() {return Math.round(hack.getters.me.getY()*100)/100},
- pX: 0,
- pY: 0,
- 'SPEED INFO ': '----------------------------',
- get totalSpd() {return (((this.lrSpd + this.udSpd) / 2) * this.mult)},
- get currentSpdX() {return Math.round(hack.getters.me.p.velocity[0]*100)/100},
- get currentSpdY() {return Math.round(hack.getters.me.p.velocity[1]*100)/100},
- 'SCRIPT VALUES ': '----------------------',
- multSpdIsOn: false,
- modeIsOn: false,
- immIsOn: false,
- MMGIsOn: false,
- interTpToOtherIsOn: false,
- ghost1: false,
- ghost2: false,
- isPlayerDead: false,
- tpSpawnCounter: 0,
- 'MOVEMENT VALUES ': '---------------',
- },
- suppFuncs: {/*
- searchShapesById: function(b, a = temp1[6].exports.list) {
- for (n = [], i = 0; i < a.length; i++) {
- if (a[i]?.id == b) {
- n.push(a[i])
- }
- } return n
- },
- getDistanceToShape: function(spawn = this.searchShapesById('spawn')[0], checkpoints = this.searchShapesById('checkpoint')) {
- let distances = checkpoints.map((checkpoint, index) => {
- const distance = Math.sqrt(
- (spawn.getX() - checkpoint.getX()) ** 2 +
- (spawn.getY() - checkpoint.getY()) ** 2
- );
- return { index, distance };
- });
- distances.sort((a, b) => a.distance - b.distance);
- return distances.map(d => d.index);
- },*/
- getMult: () => {
- if (hack.vars.mult < 3) {
- return 1
- } else if (hack.vars.mult < 4) {
- return 2
- }
- },
- setMult: function (e) {
- if (e != undefined) {
- hack.vars.lrSpd = hack.vars.udSpd = e
- return
- }
- if (hack.suppFuncs.getMult() === 1) {
- hack.vars.mult++
- } else if (hack.suppFuncs.getMult() === 2) {
- hack.vars.mult += 2
- } else {
- hack.vars.mult = 1
- }
- },
- getIndexByName: function(playerName) {
- const index = hack.getters.otherPlayers.findIndex(player => player?.myName === playerName)
- return index === -1 ? false : index
- }
- },
- functions: {/*
- tpShape: function(e,o = 0) {
- this.tp(e[o].getX(),e[o].getY())
- },*/
- prevPos: function () {
- hack.vars.pX = temp1[11].exports.player.gpData.getX()
- hack.vars.pY = temp1[11].exports.player.gpData.getY()
- },
- tpSpawn: function () {
- if (hack.vars.tpSpawnCounter == 0) {
- this.tp(hack.vars.pX,hack.vars.pY); hack.vars.tpSpawnCounter++
- return
- } else if (hack.vars.tpSpawnCounter == 1) {this.tp(
- temp1[11].exports.spawn.refP.getX(),
- temp1[11].exports.spawn.refP.getY()
- )}; hack.vars.tpSpawnCounter = 0
- },
- tpDoor: function () {
- this.prevPos()
- hack.vars.tpSpawnCounter = 0
- this.tp(
- temp1[11].exports.exitGate.exitGateCounter.refP.getX(),
- temp1[11].exports.exitGate.exitGateCounter.refP.getY()
- )
- },
- tp: function (x,y) {
- temp1[11].exports.player.gpData.setX(x)
- temp1[11].exports.player.gpData.setY(y)
- },
- setTpToOther: function (playerIndex) {
- if (!hack.vars.interTpToOtherIsOn && playerIndex !== false) {
- this.interTpToOther = setInterval(() => {
- hack.getters.me.p.position[0] = hack.getters.otherPlayers[playerIndex].gpData.p.position[0]
- hack.getters.me.p.position[1] = hack.getters.otherPlayers[playerIndex].gpData.p.position[1]
- }, 100 / 14.4)
- hack.vars.interTpToOtherIsOn = true
- } else if (playerIndex === false) {
- try {
- clearInterval(this.interTpToOther)
- hack.vars.interTpToOtherIsOn = false
- } catch {
- console.log('не существующий интервал')
- }
- }
- },
- MMGEnable: function () {
- hack.getters.mode.makeMeGhost = function () {
- hack.getters.me.setAlpha(0.3)
- hack.getters.me.p.shapes[0].sensor = true
- hack.getters.me.p.gravityScale = 0
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- hack.getters.me.me = void 0
- hack.vars.ghost2 = true
- hack.vars.isPlayerDead = true
- if (hack.vars.multSpdIsOn) { hack.functions.multSpdDisable() }
- hack.getters.rGho.fire(hack.getters.network.gsSocket)
- if (hack.getters.mode.md.mobile()) {hack.getters.mode.setupTouchButtons(true)}
- }
- hack.vars.MMGIsOn = true
- },
- MMGDisable: function () {
- hack.getters.mode.makeMeGhost = () => { }
- hack.vars.MMGIsOn = false
- },
- immEnable: () => {
- hack.getters.me.me = void 0
- hack.vars.immIsOn = true
- },
- immDisable: () => {
- hack.getters.me.me = true
- hack.vars.immIsOn = false
- },
- godModeEnable: () => {
- hack.vars.ghost1 = true
- hack.getters.me.p.collisionResponse = false
- hack.getters.me.p.mass = 0
- hack.vars.modeIsOn = true
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- },
- godModeDisable: () => {
- hack.vars.ghost1 = false
- hack.getters.me.p.collisionResponse = true
- hack.getters.me.p.mass = 1
- hack.vars.modeIsOn = false
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- },
- multSpdEnable: () => {
- hack.vars.lrSpd *= hack.vars.mult
- hack.vars.udSpd *= hack.vars.mult
- hack.vars.multSpdIsOn = true
- },
- multSpdDisable: () => {
- hack.vars.lrSpd /= hack.vars.mult
- hack.vars.udSpd /= hack.vars.mult
- hack.vars.multSpdIsOn = false
- }
- },
- logFuncs: {
- logModeIsOn: () => {
- console.log('modeIsOn:', hack.vars.modeIsOn)
- },
- logImmIsOn: () => {
- console.log('immIsOn:', hack.vars.immIsOn)
- },
- logSpd: () => {
- console.log('speed:', ((hack.vars.lrSpd + hack.vars.udSpd) / 2) * hack.vars.mult)
- },
- logMMGIsOn: () => {
- console.log('MMGIsOn:', hack.vars.MMGIsOn)
- }
- }
- }
-
- document.body.insertAdjacentHTML("beforebegin", `
- <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>
- `)
-
- const updateData = () => {
- const o = []
- for (let i in hack.vars) {
- o.push(`${i}: ${hack.vars[i]}`)
- }
- for (let i in hack.playerMoveData) {
- o.push(`${i}: ${hack.playerMoveData[i]}`)
- }
- document.getElementById("someData").innerHTML = o.join('<br>')
- }
-
- setInterval(updateData, 100 / 6)
-
- document.body.insertAdjacentHTML("beforebegin", `
- <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;">
- <div>
- <span>new movement: </span>
- <button id="newMoveBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.playerMoveData.newMovementIsOn}</button>
- </div>
- <div>
- <span>poison immunity: </span>
- <button id="immBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.vars.immIsOn}</button>
- </div>
- <div>
- <span>death immunity: </span>
- <button id="MMGBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${!hack.vars.MMGIsOn}</button>
- </div>
- </div>
- `)
-
- const updateButtonStates = () => {
- document.getElementById("newMoveBtn").innerText = hack.playerMoveData.newMovementIsOn
- document.getElementById("immBtn").innerText = hack.vars.immIsOn
- document.getElementById("MMGBtn").innerText = !hack.vars.MMGIsOn
- }
-
- document.getElementById("newMoveBtn").addEventListener("click", () => {
- if (!hack.playerMoveData.newMovementIsOn) {
- newMovement()
- } else {
- oldMovement()
- }
- updateButtonStates()
- })
-
- document.getElementById("immBtn").addEventListener("click", () => {
- if (hack.vars.immIsOn) {
- hack.functions.immDisable()
- } else {
- hack.functions.immEnable()
- }
- updateButtonStates()
- })
-
- document.getElementById("MMGBtn").addEventListener("click", () => {
- if (hack.vars.MMGIsOn) {
- hack.functions.MMGDisable()
- } else {
- hack.functions.MMGEnable()
- }
- updateButtonStates()
- })
-
- updateButtonStates()
-
- setInterval(updateButtonStates, 100 / 6)
-
- hack.functions.MMGDisable()
-
- let scrActivate = function() {
- hack.getters.client.loopFunctions[2].timeOut = 100 / 6
- newMovement()
- Object.defineProperty(hack.vars, 'mult', { enumerable: false })
- Object.defineProperty(hack.vars, 'lrSpd', { enumerable: false })
- Object.defineProperty(hack.vars, 'udSpd', { enumerable: false })
- Object.defineProperty(hack.vars, 'ghost2', { enumerable: false })
- Object.defineProperty(hack.vars, 'pX', { enumerable: false })
- Object.defineProperty(hack.vars, 'pY', { enumerable: false })
- Object.defineProperty(hack.vars, 'tpSpawnCounter', { enumerable: false })
- Object.defineProperty(hack.vars, 'multSpdIsOn', { enumerable: false })
- Object.defineProperty(hack.vars, 'ghost1', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastHorizontalDirection', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'dashDuration', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'dashEndTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'newMovementIsOn', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'division', { enumerable: false })
- document.getElementById('timer').style.background = 'rgb(0, 0, 0)'
- document.getElementById('timer').style.color = 'rgb(255, 255, 255)'
- document.getElementById('mapCredits').style.background = 'rgb(0, 0, 0)'
- document.getElementById('mapCredits').style.color = 'rgb(255, 255, 255)'
- document.getElementById('leaderboard').style.background = 'rgb(0, 0, 0)'
- document.getElementById('timer').style.opacity = 0.7
- document.getElementById('leaderboard').style.opacity = 0.7
- document.getElementById('mapCredits').style.opacity = 0.7
- }
-
- hack.bindKeys()
-
- hack.getters.mode.onChangeMap = function (e) {
- try {
- scrActivate()
- scrActivate = null
- } catch {}
- clearInterval(hack.getters.mode.startTimeId)
- clearTimeout(hack.getters.mode.smallStepTimeId)
- hack.getters.modules_resultScreen.hideResultScreen()
- hack.getters.gp.unload(hack.getters.gp)
- hack.getters.gp.list = hack.getters.gp.load(e, hack.getters.gp)
- hack.getters.mode.syncArr = []
- hack.getters.mode.ghost = false
- hack.getters.mode.tweenObjects = []
- hack.getters.mode.defineBehaviours(hack.getters.gp.list, hack.getters.mode.syncArr, hack.getters.gp)
- if (hack.getters.mode.md.mobile()) {
- hack.getters.mode.setupTouchButtons(false)
- }
- hack.getters.mode.setMyBio()
- 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)
- for (let n = 0; n < hack.getters.otherPlayers.length; n++) {
- if (hack.getters.otherPlayers[n]) {
- let t = hack.getters.otherPlayers[n].gpData.g.myIndex
- hack.getters.otherPlayers[n].gpData = hack.getters.mode.createPlayer()
- hack.getters.otherPlayers[n].gpData.g.myIndex = t
- hack.getters.gp.gWorld.removeChild(hack.getters.otherPlayers[n].gpData.g)
- hack.getters.gp.gWorld.mid.addChild(hack.getters.otherPlayers[n].gpData.g)
- hack.getters.mode.setBio(
- hack.getters.otherPlayers[n].gpData,
- hack.getters.otherPlayers[n].myName,
- hack.getters.otherPlayers[n].mySkin,
- hack.getters.otherPlayers[n].whatBro,
- hack.getters.otherPlayers[n].chatColor,
- hack.getters.otherPlayers[n].teamColor
- )
- }
- }
- hack.getters.mode.firstTimeMapChange = hack.getters.mode.firstTimeMapChange || true
- hack.getters.mode.smallStepTimeId = setTimeout(function () {
- document.getElementById("startTime").style.display = "inherit"
- document.getElementById("startTime").innerHTML = hack.getters.mode.startTime
- hack.getters.client.runPhysics = false
- hack.getters.mode.startTimeId = setInterval(function () {
- hack.getters.mode.startTime++
- document.getElementById("startTime").innerHTML = hack.getters.mode.startTime
- if (hack.getters.mode.startTime == 3) {
- hack.getters.mode.startTime = 0
- hack.getters.client.runPhysics = true
- clearInterval(hack.getters.mode.startTimeId)
- document.getElementById("startTime").style.display = "none"
- }
- }, 1000)
- }, 0)
- hack.getters.me.me = true
- if (hack.vars.modeIsOn) {
- hack.functions.godModeEnable()
- } else {
- hack.functions.godModeDisable()
- }
- if (hack.vars.immIsOn) {
- hack.functions.immEnable()
- } else {
- hack.functions.immDisable()
- }
- hack.vars.ghost2 = false
- hack.vars.isPlayerDead = false
- }
-
- document.body.onkeydown = (event) => {
- const keyCode = event.keyCode
- switch (keyCode) {
- case 17:
- hack.getters.mode.makeMeGhost()
- break
- case 113:
- if (!hack.vars.modeIsOn) {
- hack.functions.godModeEnable()
- hack.logFuncs.logModeIsOn()
- hack.functions.multSpdEnable()
- } else {
- hack.functions.godModeDisable()
- hack.logFuncs.logModeIsOn()
- hack.functions.multSpdDisable()
- }
- break
- case 36:
- hack.functions.tpSpawn()
- break
- case 35:
- hack.functions.tpDoor()
- break
- case 120:
- if (!hack.vars.MMGIsOn) {
- hack.functions.MMGEnable()
- hack.logFuncs.logMMGIsOn()
- } else {
- hack.functions.MMGDisable()
- hack.logFuncs.logMMGIsOn()
- }
- break
- case 192:
- case 190:
- if (hack.vars.modeIsOn) {
- hack.suppFuncs.setMult()
- hack.logFuncs.logSpd()
- }
- break
- case 45:
- case 96:
- hack.functions.setTpToOther(hack.suppFuncs.getIndexByName(prompt('Введите корректный никнейм. Чтобы выйти из интервала нажмите Esc.')))
- break
- case 115:
- if (!hack.vars.immIsOn) {
- hack.functions.immEnable()
- hack.logFuncs.logImmIsOn()
- } else {
- hack.functions.immDisable()
- hack.logFuncs.logImmIsOn()
- }
- break
- }
- }
-
- function isGrounded() {
- const meX = hack.getters.me.getX()
- const meY = hack.getters.me.getY()
- const ray = hack.getters.ray
- const physics = hack.getters.physics
- const gpPWorld = hack.getters.gp.pWorld
- const rayResult = hack.getters.me.ray.result
- const rayHitPoint = (hack.getters.ray.hitPoint = [Infinity, Infinity])
- const division = hack.playerMoveData.division
-
- const verticalOffset = 50
- const checkYPosition = meY + 45
-
- for (let i = 0; i < division+1; i++) {
- const o = meX - 15 + i * (30 / division)
- const s = checkYPosition
- const u = s + verticalOffset
-
- ray.from = [physics.xAxis(o, 0), physics.yAxis(s, 0)]
- ray.to = [physics.xAxis(o, 0), physics.yAxis(u, 0)]
-
- ray.update()
- rayResult.reset()
-
- if (gpPWorld.raycast(rayResult, ray)) {
- rayResult.getHitPoint(rayHitPoint, ray)
- const hitDistance = rayResult.getHitDistance(ray)
-
- if (rayResult.shape.ref.getCollision() && hitDistance < 0.1) {
- return true
- }
- }
- }
-
- return false
- }
-
- function newMovement() {
- hack.playerMoveData.division = 120
- hack.getters.client.loopFunctions[2].fun = function() {
- const currentTime = Date.now()
- const dashCooldown = 250
- const dashDistance = 2.5
- const dashSpeed = 25
- const grounded = isGrounded()
-
- if (grounded) {
- hack.playerMoveData.airDashAvailable = true
- }
-
- if (hack.getters.mode.moveLeft) {
- hack.playerMoveData.lastHorizontalDirection = -1
- } else if (hack.getters.mode.moveRight) {
- hack.playerMoveData.lastHorizontalDirection = 1
- }
-
- if (
- hack.keyBindings.isCPressed &&
- hack.getters.mode.moveDown &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashingDown &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashingDown = true
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (
- hack.keyBindings.isCPressed &&
- hack.getters.mode.moveUp &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashingUp &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashingUp = true
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (
- hack.keyBindings.isCPressed &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashing &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashing = true
- hack.playerMoveData.dashVelocity = dashSpeed * hack.playerMoveData.lastHorizontalDirection
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (hack.playerMoveData.isDashingDown) {
- hack.getters.mode.player.gpData.p.velocity[1] = -dashSpeed
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashingDown = false
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- }
-
- if (hack.playerMoveData.isDashingUp) {
- hack.getters.mode.player.gpData.p.velocity[1] = dashSpeed
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashingUp = false
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- }
-
- if (hack.playerMoveData.isDashing) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.playerMoveData.dashVelocity
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashing = false
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- } else {
- if (hack.getters.mode.moveRight) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
- } else if (hack.getters.mode.moveLeft) {
- hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
- } else {
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- }
- }
-
- if (grounded) {
- hack.playerMoveData.isDoubleJumpAllowed = true
- if (hack.keyBindings.isZPressed) {
- hack.keyBindings.isZPressed = false
- hack.getters.velocity[1] = 8*(hack.getters.me.p.gravityScale)
- }
- } else if (hack.playerMoveData.isDoubleJumpAllowed && hack.keyBindings.isZPressed) {
- hack.keyBindings.isZPressed = false
- hack.getters.velocity[1] = 8*(hack.getters.me.p.gravityScale)
- hack.playerMoveData.isDoubleJumpAllowed = false
- }
-
- if (hack.vars.ghost1 || hack.vars.ghost2) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
- }
- if (hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
- }
- if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = 0
- }
- }
- }
- hack.playerMoveData.newMovementIsOn = true}
-
- function oldMovement() {
- hack.playerMoveData.division = 12
- hack.getters.client.loopFunctions[2].fun = function() {
- const grounded = isGrounded()
-
- if (hack.getters.mode.moveRight) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
- } else if (hack.getters.mode.moveLeft) {
- hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
- } else {
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- }
- if (grounded) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = 8
- }
- }
- if (hack.vars.ghost1 || hack.vars.ghost2) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
- }
- if (hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
- }
- if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = 0
- }
- }
- }
- hack.playerMoveData.newMovementIsOn = false}
- }
-
- let temp1 = {};
- const _call = Function.prototype.call;
- new Promise((resolve, reject) => {
- Function.prototype.call = function (...args) {
- if (args[2]?.exports) {
- temp1 = args[6]
- Function.prototype.call = _call
- console.log(temp1)
- resolve(temp1)
- }
- return _call.apply(this, args)
- };
- }).then((result) => {
- if (Object.keys(result).length > 0) {
- activateMain(result)
- } else {
- console.log("temp1 is empty")
- }
- }).catch((error) => {
- console.error("An error occurred:", error)
- })
- }
-
- function hideAndSeekHack() {
- function activateMain(temp1) {
- const hack = {
- keyBindings: {
- isCPressed: false,
- cTimer: null,
- isZPressed: false
- },
- playerMoveData: {
- lastHorizontalDirection: 1,
- isDashingDown: false,
- isDashingUp: false,
- lastDashTime: 0,
- dashDuration: 100,
- dashEndTime: 0,
- isDoubleJumpAllowed: false,
- airDashAvailable: true,
- newMovementIsOn: true
- },
- bindKeys: function () {
- document.addEventListener('keydown', function (event) {
- if (event.key === 'Escape') {
- const panel = document.getElementById('someData')
- const panel1 = document.getElementById('controlPanel')
- if (panel.style.display === 'none') {
- panel.style.display = 'inherit'
- } else {
- panel.style.display = 'none'
- }
- if (panel1.style.display === 'none') {
- panel1.style.display = 'inherit'
- } else {
- panel1.style.display = 'none'
- }
- }
- if (event.key.toLowerCase() === 's' && event.repeat) {
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.mass = 3
- }
- }
- if (event.key.toLowerCase() === 'z' && !event.repeat) {
- hack.keyBindings.isZPressed = true
- } else if (event.repeat) {
- hack.keyBindings.isZPressed = false
- }
- if (event.key.toLowerCase() === 'c') {
- hack.keyBindings.isCPressed = true
- if (!hack.keyBindings.cTimer) {
- hack.keyBindings.cTimer = setTimeout(() => {
- hack.keyBindings.isCPressed = false
- hack.keyBindings.cTimer = null
- }, 250)
- }
- }
- })
- document.addEventListener('keyup', function (event) {
- if (event.key.toLowerCase() === 's') {
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.mass = 1
- }
- }
- if (event.key.toLowerCase() === 'z') {
- hack.keyBindings.isZPressed = false
- }
- if (event.key.toLowerCase() === 'c') {
- hack.keyBindings.isCPressed = false
- if (hack.keyBindings.cTimer) {
- clearTimeout(hack.keyBindings.cTimer)
- hack.keyBindings.cTimer = null
- }
- }
- })
- },
- getters: {
- get client() { return temp1[1].exports },
- get gf() { return temp1[5].exports },
- get gp() { return temp1[6].exports },
- get graphics() { return temp1[7].exports },
- get mode() { return temp1[11].exports },
- get envirData() { return temp1[16].exports },
- get network() { return temp1[37].exports },
- get physics() { return temp1[333].exports },
- get ray() { return this.mode.player.gpData.ray },
- get velocity() { return this.mode.player.gpData.p.velocity },
- get otherPlayers() { return this.mode.otherPlayers },
- ghost: false,
- get me() { return hack.getters.mode.player.gpData },
- get ray() { return hack.getters.me.ray },
- get velocity() { return hack.getters.me.p.velocity },
- get otherPlayers() { return hack.getters.mode.otherPlayers }
- },
- vars: {
- get isGround() { return isGrounded() },
- mult: 1,
- lrSpd: 3,
- udSpd: 3,
- 'POSITION INFO ': '-----------------------',
- get currentPosX() { return Math.round(hack.getters.me.getX() * 100) / 100 },
- get currentPosY() { return Math.round(hack.getters.me.getY() * 100) / 100 },
- 'SPEED INFO ': '----------------------------',
- get totalSpd() { return (((this.lrSpd + this.udSpd) / 2) * this.mult) },
- get currentSpdX() { return Math.round(hack.getters.me.p.velocity[0] * 100) / 100 },
- get currentSpdY() { return Math.round(hack.getters.me.p.velocity[1] * 100) / 100 },
- 'SCRIPT VALUES ': '----------------------',
- multSpdIsOn: false,
- modeIsOn: false,
- ghost1: false,
- isPlayerDead: false,
- 'MOVEMENT VALUES ': '---------------'
- },
- suppFuncs: {
- getMult: () => {
- if (hack.vars.mult < 3) {
- return 1
- } else if (hack.vars.mult < 4) {
- return 2
- }
- },
- setMult: function (e) {
- if (e != undefined) {
- return (hack.vars.lrSpd = hack.vars.udSpd = e)
- }
- if (hack.suppFuncs.getMult() === 1) {
- hack.vars.mult++
- } else if (hack.suppFuncs.getMult() === 2) {
- hack.vars.mult += 2
- } else {
- hack.vars.mult = 1
- }
- },
- getIndexByName: function (playerName) {
- const index = hack.getters.otherPlayers.findIndex(player => player?.myName === playerName)
- return index === -1 ? false : index
- }
- },
- functions: {
- godModeEnable: () => {
- hack.vars.ghost1 = true
- hack.getters.me.p.collisionResponse = false
- hack.getters.me.p.mass = 0
- hack.vars.modeIsOn = true
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- },
- godModeDisable: () => {
- hack.vars.ghost1 = false
- hack.getters.me.p.collisionResponse = true
- hack.getters.me.p.mass = 1
- hack.vars.modeIsOn = false
- hack.getters.velocity[0] = 0
- hack.getters.velocity[1] = 0
- },
- multSpdEnable: () => {
- hack.vars.lrSpd *= hack.vars.mult
- hack.vars.udSpd *= hack.vars.mult
- hack.vars.multSpdIsOn = true
- },
- multSpdDisable: () => {
- hack.vars.lrSpd /= hack.vars.mult
- hack.vars.udSpd /= hack.vars.mult
- hack.vars.multSpdIsOn = false
- }
- },
- logFuncs: {
- logModeIsOn: () => {
- console.log('modeIsOn:', hack.vars.modeIsOn)
- },
- logSpd: () => {
- console.log('speed:', ((hack.vars.lrSpd + hack.vars.udSpd) / 2) * hack.vars.mult)
- }
- }
- }
-
-
-
- document.body.insertAdjacentHTML("beforebegin", `
- <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>
- `)
-
- const updateData = () => {
- const o = []
- for (let i in hack.vars) {
- o.push(`${i}: ${hack.vars[i]}`)
- }
- for (let i in hack.playerMoveData) {
- o.push(`${i}: ${hack.playerMoveData[i]}`)
- }
- document.getElementById("someData").innerHTML = o.join('<br>')
- }
-
- document.body.insertAdjacentHTML("beforebegin", `
- <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;">
- <div>
- <span>new movement: </span>
- <button id="newMoveBtn" style="background: rgba(255, 255, 255, 0.7); color: black;">${hack.playerMoveData.newMovementIsOn}</button>
- </div>
- </div>
- `)
-
- const updateButtonStates = () => {
- document.getElementById("newMoveBtn").innerText = hack.playerMoveData.newMovementIsOn
- }
-
- document.getElementById("newMoveBtn").addEventListener("click", () => {
- if (!hack.playerMoveData.newMovementIsOn) {
- newMovement()
- } else {
- oldMovement()
- }
- updateButtonStates()
- })
-
-
- setInterval(updateData, 100 / 6)
- updateButtonStates()
- setInterval(updateButtonStates, 100 / 6)
- hack.bindKeys()
-
- let scrActivate = function () {
- hack.getters.client.loopFunctions[2].timeOut = 100 / 6
- hack.getters.client.loopFunctions[3].timeOut = 0
- oldMovement()
- Object.defineProperty(hack.vars, 'mult', { enumerable: false })
- Object.defineProperty(hack.vars, 'lrSpd', { enumerable: false })
- Object.defineProperty(hack.vars, 'udSpd', { enumerable: false })
- Object.defineProperty(hack.vars, 'multSpdIsOn', { enumerable: false })
- Object.defineProperty(hack.vars, 'ghost1', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastHorizontalDirection', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'lastDashTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'dashDuration', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'dashEndTime', { enumerable: false })
- Object.defineProperty(hack.playerMoveData, 'newMovementIsOn', { enumerable: false })
- document.getElementById('timer').style.opacity = 0.7
- document.getElementById('timer').style.background = 'rgb(0, 0, 0)'
- document.getElementById('timer').style.color = 'rgb(255, 255, 255)'
- document.getElementById('seekerDistance').style.opacity = 0.7
- document.getElementById('seekerDistance').style.background = 'rgb(0, 0, 0)'
- document.getElementById('seekerDistance').style.color = 'rgb(255, 255, 255)'
- document.getElementById('hidersCount').style.color = 'rgb(255, 255, 255)'
- document.getElementById('hidersCount').style.opacity = 0.7
- }
-
- setTimeout(() => {if (hack.vars.modeIsOn) {hack.functions.godModeEnable()}},300)
-
- hack.getters.client.findUntilFound = function (e, t, n) {
- hack.getters.network.gsip = e;
- hack.getters.network.gsrn = t;
- hack.getters.network.getSID?.((sid) => {
- hack.getters.network.sid = sid;
- hack.getters.network.connectToGs?.(hack.getters.network.gsip, () => {
- console.log("connected to gs");
-
- hack.getters.client.verifyIsHuman?.(() => {
- hack.getters.network.registerSidOnGs?.((verifyStatus) => {
- console.log("verified on gs server", verifyStatus);
-
- if (verifyStatus === "") {
- alert("You are already playing the game in another browser tab.");
- location.reload();
- n(2);
- } else {
- hack.getters.network.joinRoom?.(hack.getters.network.gsrn, (joinStatus) => {
- if (joinStatus === 1) {
- hack.getters.client.sendPlayingInfo?.(hack.getters.client.roomId, () => {
- hack.getters.client.onReady?.();
- n(1);
- scrActivate()
- });
- } else {
- console.log("else");
- hack.getters.network.gsSockehack?.getters.client.disconnect?.();
-
- do {
- hack.getters.client.rIndex++;
- const currentDataCenter = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex];
-
- if (!currentDataCenter?.[hack.getters.client.rIndex]) {
- hack.getters.client.dcIndex++;
- hack.getters.client.rIndex = 0;
-
- if (!hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]) {
- alert("It seems all servers are full. Please refresh your page and try again.");
- location.reload();
- return;
- }
- }
- } while (hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[2] !== hack.getters.client.modeInfo.mp);
-
- const newGsip = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[1];
- const newGsrn = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[3];
- hack.getters.client.roomId = hack.getters.network.dataCenters?.[hack.getters.client.dcIndex]?.[hack.getters.client.rIndex]?.[4];
-
- hack.getters.client.findUntilFound(newGsip, newGsrn, n);
- }
- });
- }
- });
- });
- });
- });
- };
-
- document.body.onkeydown = (event) => {
- const keyCode = event.keyCode
- switch (keyCode) {
- case 17:
- hack.getters.mode.makeMeGhost()
- break
- case 113:
- if (!hack.vars.modeIsOn) {
- hack.functions.godModeEnable()
- hack.logFuncs.logModeIsOn()
- hack.functions.multSpdEnable()
- } else {
- hack.functions.godModeDisable()
- hack.logFuncs.logModeIsOn()
- hack.functions.multSpdDisable()
- }
- break
- case 192:
- case 190:
- if (hack.vars.modeIsOn) {
- hack.suppFuncs.setMult()
- hack.logFuncs.logSpd()
- }
- break
- }
- }
-
- function isGrounded() {
- const meX = hack.getters.me.getX()
- const meY = hack.getters.me.getY()
- const ray = hack.getters.ray
- const physics = hack.getters.physics
- const gpPWorld = hack.getters.gp.pWorld
- const rayResult = hack.getters.me.ray.result
- const rayHitPoint = (hack.getters.ray.hitPoint = [Infinity, Infinity])
-
- const verticalOffset = 50
- const checkYPosition = meY + 45
-
- for (let i = 0; i < 121; i++) {
- const o = meX - 15 + i * (30 / 120)
- const s = checkYPosition
- const u = s + verticalOffset
-
- ray.from = [physics.xAxis(o, 0), physics.yAxis(s, 0)]
- ray.to = [physics.xAxis(o, 0), physics.yAxis(u, 0)]
-
- ray.update()
- rayResult.reset()
-
- if (gpPWorld.raycast(rayResult, ray)) {
- rayResult.getHitPoint(rayHitPoint, ray)
- const hitDistance = rayResult.getHitDistance(ray)
-
- if (rayResult.shape.ref.getCollision() && hitDistance < 0.1) {
- return true
- }
- }
- }
-
- return false
- }
-
- function newMovement() {
- hack.getters.client.loopFunctions[2].fun = function () {
- const currentTime = Date.now()
- const dashCooldown = 250
- const dashDistance = 2.5
- const dashSpeed = 25
- const grounded = isGrounded()
-
- if (grounded) {
- hack.playerMoveData.airDashAvailable = true
- }
-
- if (hack.getters.mode.moveLeft) {
- hack.playerMoveData.lastHorizontalDirection = -1
- } else if (hack.getters.mode.moveRight) {
- hack.playerMoveData.lastHorizontalDirection = 1
- }
-
- if (
- hack.keyBindings.isCPressed &&
- hack.getters.mode.moveDown &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashingDown &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashingDown = true
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (
- hack.keyBindings.isCPressed &&
- hack.getters.mode.moveUp &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashingUp &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashingUp = true
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (
- hack.keyBindings.isCPressed &&
- currentTime - hack.playerMoveData.lastDashTime >= dashCooldown &&
- !hack.playerMoveData.isDashing &&
- (grounded || (!grounded && hack.playerMoveData.airDashAvailable))
- ) {
- hack.playerMoveData.lastDashTime = currentTime
- hack.playerMoveData.isDashing = true
- hack.playerMoveData.dashVelocity = dashSpeed * hack.playerMoveData.lastHorizontalDirection
- hack.playerMoveData.dashDuration = (dashDistance / dashSpeed) * 1000
- hack.playerMoveData.dashEndTime = currentTime + hack.playerMoveData.dashDuration
- if (!grounded) {
- hack.playerMoveData.airDashAvailable = false
- }
- }
-
- if (hack.playerMoveData.isDashingDown) {
- hack.getters.mode.player.gpData.p.velocity[1] = -dashSpeed
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashingDown = false
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- }
-
- if (hack.playerMoveData.isDashingUp) {
- hack.getters.mode.player.gpData.p.velocity[1] = dashSpeed
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashingUp = false
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- }
-
- if (hack.playerMoveData.isDashing) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.playerMoveData.dashVelocity
- hack.getters.mode.player.gpData.p.velocity[1] = 0
- hack.getters.me.p.collisionResponse = false
- if (currentTime >= hack.playerMoveData.dashEndTime) {
- hack.playerMoveData.isDashing = false
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- if (!hack.vars.modeIsOn) {
- hack.getters.me.p.collisionResponse = true
- }
- }
- return
- } else {
- if (hack.getters.mode.moveRight) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
- } else if (hack.getters.mode.moveLeft) {
- hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
- } else {
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- }
- }
-
- if (grounded) {
- hack.playerMoveData.isDoubleJumpAllowed = true
- if (hack.keyBindings.isZPressed) {
- hack.keyBindings.isZPressed = false
- hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
- }
- } else if (hack.playerMoveData.isDoubleJumpAllowed && hack.keyBindings.isZPressed) {
- hack.keyBindings.isZPressed = false
- hack.getters.velocity[1] = 8 * (hack.getters.me.p.gravityScale)
- hack.playerMoveData.isDoubleJumpAllowed = false
- }
-
- if (hack.vars.ghost1) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
- }
- if (hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
- }
- if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = 0
- }
- }
- }
- hack.playerMoveData.newMovementIsOn = true
- }
-
- function oldMovement() {
- hack.getters.client.loopFunctions[2].fun = function () {
- const grounded = isGrounded()
-
- if (hack.getters.mode.moveRight) {
- hack.getters.mode.player.gpData.p.velocity[0] = hack.vars.lrSpd * hack.vars.mult
- } else if (hack.getters.mode.moveLeft) {
- hack.getters.mode.player.gpData.p.velocity[0] = -hack.vars.lrSpd * hack.vars.mult
- } else {
- hack.getters.mode.player.gpData.p.velocity[0] = 0
- }
- if (grounded) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = 8
- }
- }
- if (hack.vars.ghost1) {
- if (hack.getters.mode.moveUp) {
- hack.getters.velocity[1] = hack.vars.udSpd * hack.vars.mult
- }
- if (hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = -hack.vars.udSpd * hack.vars.mult
- }
- if (!hack.getters.mode.moveUp && !hack.getters.mode.moveDown) {
- hack.getters.velocity[1] = 0
- }
- }
- }
- hack.playerMoveData.newMovementIsOn = false
- }
- }
-
- let temp1 = {};
- const _call = Function.prototype.call;
- new Promise((resolve, reject) => {
- Function.prototype.call = function (...args) {
- if (args[2]?.exports) {
- temp1 = args[6]
- Function.prototype.call = _call
- console.log(temp1)
- resolve(temp1)
- }
- return _call.apply(this, args)
- };
- }).then((result) => {
- if (Object.keys(result).length > 0) {
- activateMain(result)
- } else {
- console.log("temp1 is empty")
- }
- }).catch((error) => {
- console.error("An error occurred:", error)
- })
- }
-
-
- if (window.location.href == 'http://brofist.io/modes/sandbox/c/index.html') {
- sandboxHack();
- } else if (window.location.href == 'http://brofist.io/modes/twoPlayer/c/index.html') {
- twoPlayerHack();
- } else if (window.location.href == 'http://brofist.io/modes/hideAndSeek/c/index.html') {
- hideAndSeekHack();
- }