// ==UserScript== // @name Bonk Host // @version 3.5 // @author Salama // @description Makes hosting rooms in bonk.io better // @match https://bonk.io/gameframe-release.html // @match https://bonkisback.io/gameframe-release.html // @run-at document-start // @grant none // @supportURL https://discord.gg/Dj6usq7ww3 // @namespace https://greasyfork.org/users/824888 // @downloadURL https://update.greasyfork.org/scripts/435169/Bonk%20Host.user.js // @updateURL https://update.greasyfork.org/scripts/435169/Bonk%20Host.meta.js // ==/UserScript== // for use as a userscript ensure you have Excigma's code injector userscript // https://greasyfork.org/en/scripts/433861-code-injector-bonk-io let injector = (str) => { let newStr = str; window.bonkHost = {}; window.bonkHost.playerManagement = {}; window.bonkHost.freejoin = false; window.bonkHost.bans = []; window.bonkHost.inGame = false; window.bonkHost.playerManagement.canBeVisible = false; window.bonkHost.bonkCallbacks = {}; window.bonkHost.playerHistory = {}; window.bonkHost.playerSus = []; window.bonkHost.fig = 0; window.bonkHost.cheatDetection = false; let mapHistory = []; let mapHistoryIndex = 0; window.bonkCommands = window.bonkCommands.concat(["/kick", "/mute", "/unmute", "/lock", "/unlock", "/balance", "/fav", "/unfav", "/curate", "/curateyes", "/curateno", "/roomname", "/roompass", "/clearroompass", "/hhelp", "/balanceall", "/start", "/freejoin", "/host", "/ban", "/bans", "/unban", "/scoreboard", "/resetpos"]); if(!localStorage.getItem("bonkHost")) { localStorage.setItem("bonkHost", "{}"); } let hostPlayerMenuCSS = document.createElement('style'); hostPlayerMenuCSS.innerHTML = ` #hostPlayerMenu { background-color: #cfd8cd; width: calc(35.2vw - 400px); min-width: 154px; max-width: 200px; height: 576px; position: absolute; left: 10px; top: 60px; bottom: unset; border-radius: 7px; display: none; transition: ease-in-out 100ms; z-index: 100; overflow: visible; } #hostPlayerMenuBox { top: 32px; height: calc(47px * 8); } #hostPlayerMenuCollapse { position: absolute; left: 3px; top: 3px; width: 26px; height: 26px; border-radius: 2px; visibility: visible; } #hostPlayerMenuGrab { position: absolute; right: 3px; top: 3px; width: 26px; height: 26px; border-radius: 2px; visibility: visible; cursor: grab; } #hostPlayerMenuControls { position: absolute; bottom: 0; width: 100%; } #hostPlayerCheatDetection { position: absolute; left: 0; top: 0; z-index: -1; background-color: #cfd8cd; width: inherit; min-width: inherit; max-width: inherit; height: inherit; border-radius: 7px; transition: ease-in-out 100ms; opacity: 70%; visibility: hidden; } #hostPlayerCheatDetection canvas { background-color: rgb(58, 58, 58); margin-left: 5%; height: 45px; width: 95%; margin-top: 1px; margin-bottom: 1px; } #selectionWheel { width: 150px; height: 150px; position: absolute; left: 588px; top: 181px; pointer-events: none; display: none; z-index: 150; } #selectionWheelTeams { width: 150px; height: 150px; position: absolute; left: 1061px; top: 169px; pointer-events: none; display: none; z-index: 150; } #hostPlayerMenuRestartButton { width: 100%; border-width: 0 !important; } #newbonklobby_hostprevmap { width: 27px; height: 27px; position: absolute; top: 106px; left: 15px; } #newbonklobby_hostnextmap { width: 27px; height: 27px; position: absolute; top: 106px; left: 48px; } #newbonklobby_roundsinput { height: 50px !important; text-align: center !important; } `; document.getElementsByTagName('head')[0].appendChild(hostPlayerMenuCSS); let hostPlayerMenu = document.createElement('div'); document.getElementById('pagecontainer').appendChild(hostPlayerMenu); hostPlayerMenu.outerHTML = `
Teamlock | |
Freejoin | |
Keep scores | |
Cheat detection | |
Keep positions
|