您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Mod menu to change level progress, deaths, win tokens, and additional features in BFDIA 5b
// ==UserScript== // @name BFDIA 5b Mod Menu // @namespace http://tampermonkey.net/ // @version 1.5 // @description Mod menu to change level progress, deaths, win tokens, and additional features in BFDIA 5b // @author BakedCake // @match https://coppersalts.github.io/HTML5b/ // @license CC BY-ND 4.0 - See below // @grant none // ==/UserScript== (function() { 'use strict'; let menu = document.createElement("div"); menu.style.position = "fixed"; menu.style.top = "10px"; menu.style.left = "10px"; menu.style.padding = "10px"; menu.style.border = "2px solid white"; menu.style.fontFamily = "Arial, sans-serif"; menu.style.zIndex = "9999"; menu.style.borderRadius = "8px"; menu.style.width = "300px"; menu.style.cursor = "move"; menu.style.userSelect = "none"; menu.style.transition = "all 0.3s ease-in-out"; function updateTheme() { let hour = new Date().getHours(); if (hour >= 7 && hour < 19) { menu.style.background = "rgba(255, 255, 255, 0.9)"; menu.style.color = "black"; menu.style.border = "2px solid black"; } else { menu.style.background = "rgba(0, 0, 0, 0.8)"; menu.style.color = "white"; menu.style.border = "2px solid white"; } } updateTheme(); setInterval(updateTheme, 60000); let isDragging = false; let offsetX, offsetY; menu.addEventListener("mousedown", (e) => { isDragging = true; offsetX = e.clientX - menu.offsetLeft; offsetY = e.clientY - menu.offsetTop; }); document.addEventListener("mousemove", (e) => { if (isDragging) { menu.style.left = `${e.clientX - offsetX}px`; menu.style.top = `${e.clientY - offsetY}px`; } }); document.addEventListener("mouseup", () => { isDragging = false; }); let closeButton = document.createElement("button"); closeButton.innerText = "X"; closeButton.style.position = "absolute"; closeButton.style.top = "5px"; closeButton.style.right = "5px"; closeButton.style.cursor = "pointer"; closeButton.addEventListener("click", () => { if (confirm("Are you sure you want to close the mod menu?")) { menu.remove(); } }); menu.appendChild(closeButton); let title = document.createElement("h3"); title.innerText = "BFDIA 5b Mod Menu"; title.style.margin = "0 0 10px 0"; title.style.textAlign = "center"; menu.appendChild(title); let inputLevel = document.createElement("input"); inputLevel.type = "number"; inputLevel.placeholder = "Enter level..."; inputLevel.style.width = "100%"; inputLevel.style.marginBottom = "5px"; menu.appendChild(inputLevel); let buttonLevel = document.createElement("button"); buttonLevel.innerText = "Set Level"; buttonLevel.style.width = "100%"; buttonLevel.style.cursor = "pointer"; menu.appendChild(buttonLevel); let inputDeath = document.createElement("input"); inputDeath.type = "number"; inputDeath.placeholder = "Enter deaths..."; inputDeath.style.width = "100%"; inputDeath.style.marginBottom = "5px"; menu.appendChild(inputDeath); let buttonDeath = document.createElement("button"); buttonDeath.innerText = "Set Deaths"; buttonDeath.style.width = "100%"; buttonDeath.style.cursor = "pointer"; menu.appendChild(buttonDeath); let levelDisplay = document.createElement("p"); levelDisplay.style.marginTop = "10px"; levelDisplay.style.textAlign = "center"; menu.appendChild(levelDisplay); let unlockButton = document.createElement("button"); unlockButton.innerText = "Unlock all levels"; unlockButton.style.width = "100%"; unlockButton.style.cursor = "pointer"; unlockButton.style.marginTop = "5px"; menu.appendChild(unlockButton); let winTokenButton = document.createElement("button"); winTokenButton.innerText = "Collect all Win Tokens"; winTokenButton.style.width = "100%"; winTokenButton.style.cursor = "pointer"; winTokenButton.style.marginTop = "5px"; menu.appendChild(winTokenButton); let wipeDataButton = document.createElement("button"); wipeDataButton.innerText = "Wipe Data"; wipeDataButton.style.width = "100%"; wipeDataButton.style.cursor = "pointer"; wipeDataButton.style.marginTop = "5px"; menu.appendChild(wipeDataButton); function updateLevelDisplay() { let currentProgress = localStorage.getItem('levelProgress') || "0"; let currentDeaths = localStorage.getItem('deathCount') || "0"; levelDisplay.innerText = `Level Progress: ${currentProgress} | Deaths: ${currentDeaths}`; } buttonLevel.addEventListener("click", function() { let newValue = inputLevel.value; if (newValue !== "") { localStorage.setItem('levelProgress', newValue); updateLevelDisplay(); } }); buttonDeath.addEventListener("click", function() { let newValue = inputDeath.value; if (newValue !== "") { localStorage.setItem('deathCount', newValue); updateLevelDisplay(); } }); unlockButton.addEventListener("click", function() { localStorage.setItem('levelProgress', "53"); updateLevelDisplay(); }); winTokenButton.addEventListener("click", function() { localStorage.setItem('gotCoin', 'true,'.repeat(53).slice(0, -1)); }); wipeDataButton.addEventListener("click", function() { localStorage.clear(); updateLevelDisplay(); }); let credits = document.createElement("p"); credits.innerHTML = "Thanks to <a href='https://www.youtube.com/@minechat638' target='_blank'>@minechat638</a> | <a href='https://www.youtube.com/@bakedcake02' target='_blank'>BakedCake</a>"; credits.style.textAlign = "center"; credits.style.marginTop = "10px"; menu.appendChild(credits); updateLevelDisplay(); document.body.appendChild(menu); })();