// ==UserScript== // @name Sploop.io-Modifications [ spikeMod - LegitMod ] - // @namespace - // @version 2.0.2 // @description spike's are cool // @author Viperrrr // @match *://sploop.io/* // @grant none // @require http://code.jquery.com/jquery-3.3.1.min.js // @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js // @icon https://i.imgur.com/ytddtwh.png // @downloadURL none // ==/UserScript== document.title = 'Sploop.io - spikeMod[Legit]'; document.querySelector("link[rel='icon']").href = "https://i.imgur.com/ytddtwh.png"; document.getElementById("logo").src = "https://i.imgur.com/Bd0QMkT.png"; // -/ | \- Spike Mod -/ | \- \\ function addRainbowText() { const rainbowText = document.createElement('div'); rainbowText.id = 'sMod'; rainbowText.innerHTML = 'SpikeMod'; rainbowText.className = 'rainbow-text'; // Add a class for styling and animation rainbowText.style.display = 'none'; // Initially hide the sMod div document.body.appendChild(rainbowText); } addRainbowText(); let gridToggle = false function toggleGrid() { const grid = document.querySelector('#grid-toggle'); grid.click(); } document.getElementById('play').addEventListener('click', function() { if (!gridToggle) { toggleGrid(); gridToggle = true; } document.getElementById('sMod').style.display = 'block'; // Show the sMod div }); (function() { 'use strict'; let modB = ` `; $("body").append(modB) let cfB = `
`; $("body").append(cfB) let SploopStyle = ` `; $("body").append(SploopStyle) const hatStoreBox = document.getElementById("hat-menu") const clanMenuBox = document.getElementById("clan-menu") const mainMenuBox = document.getElementById("game-middle-main") const hatStoreContentBox = document.getElementById("hat_menu_content") const nicknameBox = document.getElementById("nickname-container"); const nickname = document.getElementById("nickname") const informationBox = document.getElementById("infoBox") const cpsBox = document.getElementById("cps") const fpsBox = document.getElementById("fps") const serverBox = document.getElementById("server-label") const gameBox = document.getElementById("game-mode-label") const ModMenu = document.getElementById("spikeModMenu") const sideBarMenu = document.getElementById("block-bind") const hatDescriptions = [ document.getElementsByClassName("column-flex column-flex-extra").item(0), document.getElementsByClassName("column-flex column-flex-extra").item(1), document.getElementsByClassName("column-flex column-flex-extra").item(2), document.getElementsByClassName("column-flex column-flex-extra").item(3), document.getElementsByClassName("column-flex column-flex-extra").item(4), document.getElementsByClassName("column-flex column-flex-extra").item(5), document.getElementsByClassName("column-flex column-flex-extra").item(6), document.getElementsByClassName("column-flex column-flex-extra").item(7), document.getElementsByClassName("column-flex column-flex-extra").item(8), document.getElementsByClassName("column-flex column-flex-extra").item(9), document.getElementsByClassName("column-flex column-flex-extra").item(10) ] const hatPrices = [ document.getElementsByClassName("pricing hat_price_tag").item(0), document.getElementsByClassName("pricing hat_price_tag").item(1), document.getElementsByClassName("pricing hat_price_tag").item(2), document.getElementsByClassName("pricing hat_price_tag").item(3), document.getElementsByClassName("pricing hat_price_tag").item(4), document.getElementsByClassName("pricing hat_price_tag").item(5), document.getElementsByClassName("pricing hat_price_tag").item(6), document.getElementsByClassName("pricing hat_price_tag").item(7), document.getElementsByClassName("pricing hat_price_tag").item(8), document.getElementsByClassName("pricing hat_price_tag").item(9), document.getElementsByClassName("pricing hat_price_tag").item(10) ] const hatButtons = [ document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(0), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(1), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(2), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(3), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(4), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(5), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(6), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(7), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(8), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(9), document.getElementsByClassName("green-button text-shadowed-3 action hat_action_button").item(10) ] const hatTitle = document.getElementsByClassName("pop-title text-shadowed-4").item(0) const sandbox = document.getElementById("sandbox-mode") const classic = document.getElementById("ffa-mode") const popUi = document.getElementById("pop-ui") const popSettings = document.getElementById("pop-settings") const homeScreen = document.getElementById("homepage"); const chatBox = document.getElementById("chat-wrapper"); const grid = document.getElementById("grid-toggle") const ping = document.getElementById("display-ping-toggle") const settingsBox = document.getElementById("top-wrap-left"); const Skins = document.getElementById("nav-skins"); const Ranking = document.getElementById("nav-ranking"); const Game = document.getElementById("nav-game"); const Shop = document.getElementById("nav-shop"); const Profile = document.getElementById("nav-profile"); const Warning = document.getElementById("Warning"); const ranking = document.getElementById("ranking2-middle-main"); const rankSpots = document.getElementById("ranking-rank-container"); // -/ | \- Transparent HattStoreeee -/ | \- setInterval(() => { if (document.getElementById("hatStore").checked == true) { hatStoreBox.style.opacity = "0.4" } else { hatStoreBox.style.opacity = "1" } }) // -/ | \- Transparent ClanMenu -/ | \- setInterval(() => { if (document.getElementById("clanMenu").checked == true) { clanMenuBox.style.opacity = "0.5" clanMenuBox.style.background = "rgba(0,0,0,0)" } else { clanMenuBox.style.opacity = "1" } }) // -/ | \- Transparent HomePagee -/ | \- setInterval(() => { if (document.getElementById("homeDisplay").checked == true) { mainMenuBox.style.opacity = "0.4" } else { mainMenuBox.style.opacity = "1" } }) function blur() { const homepage = document.getElementById("homepage"); homepage.style.display = "flex"; // -/ | \- Set a fixed blur value -/ | \- const blurValue = 1.5; homepage.style.backdropFilter = `blur(${blurValue}px)`; } setTimeout(blur, 2000); // -/ | \- Auto-Ping -/ | \- var checkbox = document.getElementById('display-ping-toggle'); checkbox.checked = true; checkbox.dispatchEvent(new Event('change')); // -/ | \- better hat Store -/ | \- setInterval(() => { if (document.getElementById("betterStore").checked == true) { hatStoreBox.style.boxShadow = "none"; hatStoreBox.style.border = "none"; hatStoreBox.style.background = "none"; hatStoreContentBox.style.background = "none"; hatStoreContentBox.style.border = "none"; hatStoreContentBox.style.boxShadow = "none" hatDescriptions[0].style.display = "none" hatDescriptions[1].style.display = "none" hatDescriptions[2].style.display = "none" hatDescriptions[3].style.display = "none" hatDescriptions[4].style.display = "none" hatDescriptions[5].style.display = "none" hatDescriptions[6].style.display = "none" hatDescriptions[7].style.display = "none" hatDescriptions[8].style.display = "none" hatDescriptions[9].style.display = "none" hatDescriptions[10].style.display = "none" hatPrices[0].style.display = "none" hatPrices[1].style.display = "none" hatPrices[2].style.display = "none" hatPrices[3].style.display = "none" hatPrices[4].style.display = "none" hatPrices[5].style.display = "none" hatPrices[6].style.display = "none" hatPrices[7].style.display = "none" hatPrices[8].style.display = "none" hatPrices[9].style.display = "none" hatPrices[10].style.display = "none" hatButtons[0].style.background = "none" hatButtons[0].style.boxShadow = "none" hatButtons[1].style.background = "none" hatButtons[1].style.boxShadow = "none" hatButtons[2].style.background = "none" hatButtons[2].style.boxShadow = "none" hatButtons[3].style.background = "none" hatButtons[3].style.boxShadow = "none" hatButtons[4].style.background = "none" hatButtons[4].style.boxShadow = "none" hatButtons[5].style.background = "none" hatButtons[5].style.boxShadow = "none" hatButtons[6].style.background = "none" hatButtons[6].style.boxShadow = "none" hatButtons[7].style.background = "none" hatButtons[7].style.boxShadow = "none" hatButtons[8].style.background = "none" hatButtons[8].style.boxShadow = "none" hatButtons[9].style.background = "none" hatButtons[9].style.boxShadow = "none" hatButtons[10].style.background = "none" hatButtons[10].style.boxShadow = "none" hatTitle.innerText = "SpikeMod - Transparent"; } else { hatStoreBox.style.boxShadow = "rgb(78, 86, 69) 0px 4px 0px inset, rgb(56, 72, 37) 0px -4px 0px inset, rgba(20, 20, 20, 0.3) 0px 2px 0px 5px, rgba(20, 20, 20, 0.1) 0px 0px 0px 15px"; hatStoreBox.style.border = "5px solid black"; hatStoreBox.style.background = "rgb(40 45 34 / 60%)"; hatStoreContentBox.style.background = "rgba(20, 20, 20, 0.3)"; hatStoreContentBox.style.border = "4px solid black"; hatStoreContentBox.style.boxShadow = "rgba(20, 20, 20, 0.4) 0px 5px 0px inset" hatDescriptions[0].style.display = "flex" hatDescriptions[1].style.display = "flex" hatDescriptions[2].style.display = "flex" hatDescriptions[3].style.display = "flex" hatDescriptions[4].style.display = "flex" hatDescriptions[5].style.display = "flex" hatDescriptions[6].style.display = "flex" hatDescriptions[7].style.display = "flex" hatDescriptions[8].style.display = "flex" hatDescriptions[9].style.display = "flex" hatDescriptions[10].style.display = "flex" hatPrices[0].style.display = "flex" hatPrices[1].style.display = "flex" hatPrices[2].style.display = "flex" hatPrices[3].style.display = "flex" hatPrices[4].style.display = "flex" hatPrices[5].style.display = "flex" hatPrices[6].style.display = "flex" hatPrices[7].style.display = "flex" hatPrices[8].style.display = "flex" hatPrices[9].style.display = "flex" hatPrices[10].style.display = "flex" hatButtons[0].style.background = "rgb(150, 185, 67)" hatButtons[0].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[1].style.background = "rgb(150, 185, 67)" hatButtons[1].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[2].style.background = "rgb(150, 185, 67)" hatButtons[2].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[3].style.background = "rgb(150, 185, 67)" hatButtons[3].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[4].style.background = "rgb(150, 185, 67)" hatButtons[4].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[5].style.background = "rgb(150, 185, 67)" hatButtons[5].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[6].style.background = "rgb(150, 185, 67)" hatButtons[6].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[7].style.background = "rgb(150, 185, 67)" hatButtons[7].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[8].style.background = "rgb(150, 185, 67)" hatButtons[8].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[9].style.background = "rgb(150, 185, 67)" hatButtons[9].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatButtons[10].style.background = "rgb(150, 185, 67)" hatButtons[10].style.boxShadow = "rgb(128, 152, 54) 0px -5px 0px inset" hatTitle.innerText = "SpikeMod - Visible" } }) // -/ | \- starving Hat Store (lol it needs to eat more) -/ | \- setInterval(() => { if (document.getElementById("ThinStore").checked == true) { document.getElementById("betterStore").checked = true hatStoreBox.style.width = "200px" } else { hatStoreBox.style.width = "500px" } }) // -/ | \- Anti-NameChange -/ | \- setInterval(() => { if (document.getElementById("antiName").checked == true) { nicknameBox.style.pointerEvents = "none" } else { nicknameBox.style.pointerEvents = "auto" } }) // -/ | \- BIGGer Rank Leaderboard -/ | \- setInterval(() => { if (document.getElementById("BiggerR").checked == true) { ranking.style.height = "600px" rankSpots.style.height = "475px" } else { ranking.style.height = "285px" rankSpots.style.height = "181px" } }) // -/ | \- classic Toggle -/ | \- function checkClassicA() { if (document.getElementById("classicA").checked == true) { document.getElementById("sandboxA").checked = false; classic.click(); } } document.getElementById("classicA").addEventListener("change", checkClassicA); // -/ | \- sandbox Toggle -/ | \- function checkSandboxA() { if (document.getElementById("sandboxA").checked == true) { document.getElementById("classicA").checked = false; sandbox.click(); } } document.getElementById("sandboxA").addEventListener("change", checkSandboxA); // -/ | \- Transparent InfoBox + ModMenu -/ | \- setInterval(() => { if (document.getElementById("opacityDisplay").checked == true) { informationBox.style.opacity = "0.4" } else { informationBox.style.opacity = "1" } }) setInterval(() => { if (document.getElementById("opacityDisplay").checked == true) { ModMenu.style.background = "rgba(40, 45, 34, 0.31)" sideBarMenu.style.background = "rgba(40, 45, 34, 0.31)" } else { ModMenu.style.background = "rgb(40, 45, 34)" sideBarMenu.style.background = "rgb(40, 45, 34)" } }) // -/ | \- hide Cps -/ | \- setInterval(() => { if (document.getElementById("cpsDisplay").checked == true) { cpsBox.style.display = "none" } else { cpsBox.style.display = "block" } }) // -/ | \- hide Fps -/ | \- setInterval(() => { if (document.getElementById("framesPerSecondDisplay").checked == true) { fpsBox.style.display = "none" } else { fpsBox.style.display = "block" } }) // -/ | \- hide Server -/ | \- setInterval(() => { if (document.getElementById("serverDisplay").checked == true) { serverBox.style.display = "none" } else { serverBox.style.display = "block" } }) // -/ | \- hide gameMode -/ | \- setInterval(() => { if (document.getElementById("gameDisplay").checked == true) { gameBox.style.display = "none" } else { gameBox.style.display = "block" } }) // -/ | \- Auto Grid-toggle -/ | \- function handleCheckbox() { const checkbox = document.getElementById("grid-toggle"); const smallWaiting = document.getElementById("small-waiting"); if (checkbox.checked) { smallWaiting.style.pointerEvents = "none"; checkbox.click(); } else { smallWaiting.style.pointerEvents = "auto"; checkbox.click(); } } handleCheckbox(); // -/ | \- Move InfoBox if Ping toggled ON -/ | \- setInterval(() => { if (document.getElementById("display-ping-toggle").checked == true) { informationBox.style.left = "18px" informationBox.style.top = "40px" } else { informationBox.style.left = "12px" informationBox.style.top = '6px' } }) // -/ | \- Remove InfoBox if all Info toggled OFF -/ | \- setInterval(() => { if (document.getElementById("cpsDisplay").checked == true && document.getElementById("framesPerSecondDisplay").checked == true && document.getElementById("serverDisplay").checked == true && document.getElementById("gameDisplay").checked == true) { informationBox.style.display = "none" } }) // -/ | \- Custom ClanTitle -/ | \- var phrases = [,"/ Spike /", "| Spike |", "- Spike -", "/ Spike /"]; var currentIndex = 0; setInterval(function() { var element = document.getElementById('clan-title'); if (element) { element.textContent = phrases[currentIndex]; currentIndex = (currentIndex + 1) % phrases.length; } }, 200); // -/ | \- Change Chat Box Inner Text -/ | \- const placeholders = [ "SPIKE", "_S_P_I_K_E", "-S-P-I-K-E", ".S.P.I.K.E.", "=S=P=I=K=E=", "+S+P+I+K+E" ]; function changePlaceholder(index) { if (index >= placeholders.length) { return; } setTimeout(() => { document.getElementById('chat').placeholder = placeholders[index]; changePlaceholder(index + 1); }, 200); } setInterval(() => { changePlaceholder(0); }, 1100); // -/ | \- Delete Elements -/ | \- const elementsToRemove = [ 'game-left-content-main', 'game-right-content-main', 'game-bottom-content', 'right-content', 'left-content', 'skin-message', 'shop-message', 'cross-promo', 'google_play', 'landscape', 'waiting', 'policy', ]; elementsToRemove.forEach(function(elementId) { const element = document.getElementById(elementId); if (element) { element.remove(); } }); // -/ | \- Change Health bar color + Add stroke -/ | \- const enhanceFillRect = function (fill, cColor) { return function (x, y, width, height) { if (this.fillStyle === "#a4cc4f") { this.fillStyle = cColor; } fill.call(this, x, y, width, height); }; }; const customColor = "#397bed"; const FillRect = CanvasRenderingContext2D.prototype.fillRect; CanvasRenderingContext2D.prototype.fillRect = enhanceFillRect(FillRect, customColor); CanvasRenderingContext2D.prototype.fillText = new Proxy(CanvasRenderingContext2D.prototype.fillText, { apply: function (target, thisArg, argumentsList) { thisArg.lineWidth = 7; thisArg.strokeStyle = "black"; thisArg.strokeText.apply(thisArg, argumentsList); return target.apply(thisArg, argumentsList); } }); // -/ | \- Access homepage -/ | \- function handleArrowRightKeyPress(event) { if (ModMenu.style.display === "none" && popUi.style.display === "none") { if (event.code === $("#homeBind").val()) { if (homeScreen) { if (homeScreen.style.display === "flex") { homeScreen.style.display = "none"; settingsBox.style.display = "flex" } else { homeScreen.style.display = "flex"; settingsBox.style.display = "none"; } } event.preventDefault(); event.stopPropagation(); } } } document.addEventListener("keydown", handleArrowRightKeyPress); // -/ | \- Instant Leave / Ragequite (lol imagine) -/ | \- (function() { 'use strict'; document.addEventListener("keydown", function(event) { var homepage = document.getElementById("homepage"); var isPlayerInGame = homepage.style.display === "none"; if (isPlayerInGame && event.code === "AltRight" ) { event.preventDefault(); var ffaMode = document.getElementById("ffa-mode"); var sandboxMode = document.getElementById("sandbox-mode"); var popProgressLoss = document.getElementById("pop-progress-loss"); var changeServer = document.getElementById("change-server"); if (isPlayerInGame) { var activeButton = ffaMode.classList.contains("dark-blue-button-3-active") ? sandboxMode : ffaMode; homepage.style.display = "flex"; activeButton.click(); } if (popProgressLoss.style.display === "flex") { changeServer.click(); } } }); })(); // -/ | \- Access Settings -/ | \- function handleArrowLeftKeyPress(event) { if (homeScreen.style.display === "none" && ModMenu.style.display === "none" ) { if (event.code === $("#settingsBind").val()) { if (popUi && popSettings) { if (popUi.style.display === "flex") { popUi.style.display = "none"; popSettings.style.display = "none"; } else { popUi.style.display = "flex"; popUi.classList.add("fade-in") popSettings.style.display = "flex"; popSettings.classList.add("fade-in") popUi.style.background = "none" popSettings.style.background = "none" popSettings.style.boxShadow = "none" popSettings.style.border = "2px solid black" } } event.preventDefault(); event.stopPropagation(); } } } document.addEventListener("keydown", handleArrowLeftKeyPress); // -/ | \- ModMenu toggle -/ | \- function handleArrowUpKeyPress(event) { if (popUi.style.display === "none") { if (event.code === $("#modBind").val()) { if (ModMenu) { if (ModMenu.style.display === "block") { ModMenu.style.display = "none" } else { ModMenu.style.display = "block" } } event.preventDefault(); event.stopPropagation(); } } } document.addEventListener("keydown", handleArrowUpKeyPress); // -/ | \- Info Box -/ | \- function handleArrowDownKeyPress(event) { if (event.code === $("#infoBind").val()) { if (informationBox) { if (informationBox.style.display === "block") { informationBox.style.display = "none" } else { informationBox.style.display = "block" } } event.preventDefault(); event.stopPropagation(); } } document.addEventListener("keydown", handleArrowDownKeyPress); // -/ | \- Server and Gamemode Label -/ | \- var serverLabel = document.getElementById("server-label"); var gameModeLabel = document.getElementById("game-mode-label"); serverLabel.textContent = "Server: Unknown"; gameModeLabel.textContent = "Game Mode: Unknown"; function updateLabels() { var serverSelect = document.getElementById("server-select"); var serverName = ""; for (var i = 0; i < serverSelect.options.length; i++) { var option = serverSelect.options[i]; if (option.selected) { serverName = option.textContent; break; } } if (serverName !== "") { serverLabel.textContent = serverName; } else { serverLabel.textContent = "Server: Connecting"; } var ffaMode = document.getElementById("ffa-mode"); var sandboxMode = document.getElementById("sandbox-mode"); var battleRoyaleMode = document.getElementById("battleroyale-mode"); var smallWaiting = document.getElementById("small-waiting"); if (smallWaiting.style.display === "flex") { gameModeLabel.textContent = "Game Mode: Connecting"; } else if (ffaMode.classList.contains("dark-blue-button-3-active")) { gameModeLabel.textContent = "Game Mode: Classic"; } else if (sandboxMode.classList.contains("dark-blue-button-3-active")) { gameModeLabel.textContent = "Game Mode: SandBox"; } else if (battleRoyaleMode.classList.contains("dark-blue-button-3-active")) { gameModeLabel.textContent = "Game Mode: BattleRoyale"; } else { gameModeLabel.textContent = "Game Mode: Unknown"; } } updateLabels(); setInterval(updateLabels, 500); // -/ | \- Fps -/ | \- var frameCount = 0; var fpsStartTime = 0; var fpsDisplay = document.getElementById("fps"); function updateDisplay() { var currentTime = new Date().getTime(); var fpsElapsedTime = (currentTime - fpsStartTime) / 1000; var fps = frameCount / fpsElapsedTime; fpsDisplay.innerHTML = "FPS: " + fps.toFixed(0); frameCount = 0; fpsStartTime = currentTime; } function updateFrame() { frameCount++; requestAnimationFrame(updateFrame); } setInterval(updateDisplay, 1000); updateFrame(); // -/ | \- Cps -/ | \- let isSpacebarHeld = false; let cps = 0; let Mcps = 0; let Hue = 0; function updateCPS() { const cpsElement = document.getElementById("cps"); cpsElement.textContent = "CPS: " + cps; } document.addEventListener("mousedown", function() { cps++; setTimeout(function() { cps--; }, 900); }); document.addEventListener("keydown", function(event) { if (event.key === " ") { if (!isSpacebarHeld) { isSpacebarHeld = true; event.preventDefault(); } } }); document.addEventListener("keyup", function(event) { if (event.key === " ") { isSpacebarHeld = false; cps++; setTimeout(function() { cps--; }, 900); } }); setInterval(function() { if (cps > Mcps) Mcps = cps; Hue += Math.random() * 0.4; updateCPS(); }, 0); // -/ | \- Text into Emoji -/ | \- const emojiMappings = { ":skull:": "💀", ":heart:": "❤️", ":smile:": "😄", ":thumbu:": "👍", ":thumbd:": "👎", ":sad:":"😔", ":happy:":"😃", ":nerd:":"🤓", ":sun:":"😎", ":think:":"🤔", ":eyes:":"👀", ":shock:" : "😱", ":yawn:":"🥱", ":shush:":"🤫", ":mewing:":"🤫🧏‍♂️", ":angry:":"😡", ":angel:":"😇", ":laugh:":"😂", ":wink:":"😉", ":smirk:":"😏" }; function replaceTextWithEmojis(text) { let replacedText = text; for (const pattern in emojiMappings) { if (emojiMappings.hasOwnProperty(pattern)) { replacedText = replacedText.replace(new RegExp(pattern, "g"), emojiMappings[pattern]); } } return replacedText; } document.getElementById("chat").addEventListener("keydown", function(event) { if (event.key === "Enter") { const chatInput = event.target; const text = chatInput.value; const replacedText = replaceTextWithEmojis(text); chatInput.value = replacedText; } }); document.getElementById("chat-wrapper").addEventListener("keydown", function(event) { if (event.key === " ") { event.stopPropagation(); } }); document.getElementById("nickname").addEventListener("keydown", function(event) { if (event.key === " ") { event.stopPropagation(); } }); // -/ | \- test (failed :C dm me if you know how to make chat commands :D) document.getElementById("chat-wrapper").addEventListener("keydown", function(ev) { if(ev.key == "Enter" && document.getElementById('chat-wrapper').value != '') { const chatInput = event.target; const text = chatInput.value.trim(); if (text.startsWith("!log ")) { const name = text.substring(5).trim(); // Extracting the name after "!log " if (name) { setTimeout(() => { const loggedMessage = `Logged ${name}`; chatInput.value = loggedMessage; // Clear the input field after a delay setTimeout(() => { chatInput.value = ""; }, 3000); // Clear after 3 seconds to allow time for sending the message }, 1500); } } } }); // -/ | \- Dagger Fix cuz why not -/ | \- (function() { const { drawImage } = CanvasRenderingContext2D.prototype CanvasRenderingContext2D.prototype.drawImage = function(image, x, y, width, height) { if (/dagger/.test(image?.src) && (y === 5 || y > window.screen.availHeight - 100)) { this.save() this.strokeStyle = "rgba(45, 49, 49, .5)" this.lineWidth = 6 this.roundRect(x + 3, y + 3, 95, 95, 16) this.stroke() this.restore() arguments[3] = arguments[4] = 80 arguments[1] += 11 arguments[2] += 11 } drawImage.apply(this, arguments) } })() // -/ | \- Anti-Swear [make this toggleable] -/ | \- const { fillText } = CanvasRenderingContext2D.prototype; const cursing = ["cunt", "whore", "fuck", "shit", "faggot", "nigger", "nigga", "dick", "vagina", "minge", "cock", "rape", "cum", "sex", "tits", "penis", "clit", "pussy", "jizz", "prune", "douche", "wanker", "damn", "bitch", "dick", "fag", "bastard"], replace = ["cxxx", "wxxxx", "fxxx", "sxxx", "fxxxxx", "nxxxxx", "nxxxx", "dxxx", "vxxxxx", "mxxxx", "cxxx", "rxxx", "cxx", "sxx", "txxx", "pxxxx", "cxxx", "pxxxx", "jxxx", "pxxxx", "dxxxxx", "wxxxxx", "dxxx", "bxxxx", "dxxx", "fxx", "bxxxxxx"]; CanvasRenderingContext2D.prototype.fillText = function (word) { if (typeof word == "string") { var tmpString; for (var i = 0; i < cursing.length; ++i) { if (word.toLowerCase().indexOf(cursing[i]) > -1) { tmpString = replace[i]; var re = new RegExp(cursing[i], "ig"); word = word.replace(re, tmpString); } } } fillText.call(this, ...arguments); }; })();