Bloxd.io Mod Menu | Made by iron web10

Mod menu for Bloxd.io

目前為 2025-03-18 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Bloxd.io Mod Menu | Made by iron web10
// @namespace    http://tampermonkey.net/
// @version      2025-03-14
// @description  Mod menu for Bloxd.io
// @author       iron web10
// @match        https://bloxd.io/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=bloxd.io
// @grant        none
// @license      iron web10
// ==/UserScript==

(function () {
    'use strict';

    function getStorage(name) {
        return localStorage.getItem(name);
    }

    function setStorage(name, value) {
        localStorage.setItem(name, value);
    }

    function createMenu() {
        if (document.getElementById('modMenu')) return;

        let menu = document.createElement('div');
        menu.id = 'modMenu';
        menu.style.position = 'fixed';
        menu.style.top = getStorage('menuTop') || '50px';
        menu.style.left = getStorage('menuLeft') || '50px';
        menu.style.width = '200px';
        menu.style.background = 'rgba(0, 0, 0, 0.9)';
        menu.style.color = 'white';
        menu.style.padding = '15px';
        menu.style.borderRadius = '10px';
        menu.style.zIndex = '9999';
        menu.style.fontFamily = 'Arial';
        menu.style.boxShadow = '0 0 10px rgba(255, 255, 255, 0.2)';
        menu.style.display = getStorage('menuMinimized') === 'true' ? 'none' : 'flex';
        menu.style.flexDirection = 'column';
        menu.style.alignItems = 'center';

        let titleBar = document.createElement('div');
        titleBar.style.display = 'flex';
        titleBar.style.justifyContent = 'space-between';
        titleBar.style.alignItems = 'center';
        titleBar.style.cursor = 'move';
        titleBar.style.width = '100%';
        titleBar.style.padding = '5px';
        titleBar.style.background = '#333';
        titleBar.style.borderRadius = '5px';

        let title = document.createElement('h3');
        title.textContent = 'Bloxd.io Mod Menu';
        title.style.margin = '0';
        title.style.flexGrow = '1';
        title.style.color = 'white';

        let minimizeButton = document.createElement('button');
        minimizeButton.textContent = '-';
        minimizeButton.style.background = 'transparent';
        minimizeButton.style.color = 'white';
        minimizeButton.style.border = 'none';
        minimizeButton.style.cursor = 'pointer';

        titleBar.appendChild(title);
        titleBar.appendChild(minimizeButton);
        menu.appendChild(titleBar);

        let content = document.createElement('div');
        content.style.display = getStorage('menuMinimized') === 'true' ? 'none' : 'block';
        menu.appendChild(content);

        document.body.appendChild(menu);

        minimizeButton.addEventListener('click', function () {
            let isHidden = content.style.display === 'none';
            content.style.display = isHidden ? 'block' : 'none';
            setStorage('menuMinimized', !isHidden);
        });

        function createSwitch(name, callback) {
            let container = document.createElement('div');
            container.style.display = 'flex';
            container.style.justifyContent = 'space-between';
            container.style.alignItems = 'center';
            container.style.width = '100%';
            container.style.marginBottom = '5px';

            let label = document.createElement('span');
            label.textContent = name;
            label.style.flexGrow = '1';

            let switchContainer = document.createElement('label');
            switchContainer.style.position = 'relative';
            switchContainer.style.display = 'inline-block';
            switchContainer.style.width = '34px';
            switchContainer.style.height = '18px';

            let input = document.createElement('input');
            input.type = 'checkbox';
            input.style.opacity = '0';
            input.style.width = '0';
            input.style.height = '0';
            input.checked = getStorage(name) === 'true';

            let slider = document.createElement('span');
            slider.style.position = 'absolute';
            slider.style.cursor = 'pointer';
            slider.style.top = '0';
            slider.style.left = '0';
            slider.style.right = '0';
            slider.style.bottom = '0';
            slider.style.backgroundColor = input.checked ? '#4CAF50' : '#ccc';
            slider.style.transition = '.4s';
            slider.style.borderRadius = '18px';

            let circle = document.createElement('span');
            circle.style.position = 'absolute';
            circle.style.height = '14px';
            circle.style.width = '14px';
            circle.style.left = '2px';
            circle.style.bottom = '2px';
            circle.style.backgroundColor = 'white';
            circle.style.borderRadius = '50%';
            circle.style.transition = '.4s';
            circle.style.transform = input.checked ? 'translateX(16px)' : 'translateX(0)';

            slider.appendChild(circle);
            switchContainer.appendChild(input);
            switchContainer.appendChild(slider);
            container.appendChild(label);
            container.appendChild(switchContainer);
            content.appendChild(container);

            input.addEventListener('change', function () {
                slider.style.backgroundColor = this.checked ? '#4CAF50' : '#ccc';
                circle.style.transform = this.checked ? 'translateX(16px)' : 'translateX(0)';
                setStorage(name, this.checked);
                callback(this.checked);
            });

            if (input.checked) {
                callback(true);
            }
        }


        createSwitch('Full Screen Bypass', function (enabled) {
            if (enabled) {
                if (!window.fullScreenBypassInterval) {
                    window.fullScreenBypassInterval = setInterval(function () {
                        let elementToDelete = document.querySelector('.ForceRotateBackground.FullyFancyText');
                        if (elementToDelete) {
                            elementToDelete.remove();
                        }
                    }, 100);
                }
            } else {
                clearInterval(window.fullScreenBypassInterval);
                window.fullScreenBypassInterval = null;
            }
        });


        createSwitch('Custom Crosshair', function (enabled) {
            if (enabled) {
                let crosshairUrl = prompt("Ingrese la URL de la imagen para la Crosshair:", getStorage('crosshairURL') || '');
                if (crosshairUrl) {
                    setStorage('crosshairURL', crosshairUrl);
                    applyCrosshair(crosshairUrl);
                }
            } else {
                applyCrosshair(null); 
            }
        });

        function applyCrosshair(url) {
            let crosshair = document.querySelector('.CrossHair');
            if (crosshair) {
                crosshair.textContent = "";
                if (url) {
                    crosshair.style.backgroundImage = `url(${url})`;
                    crosshair.style.backgroundRepeat = "no-repeat";
                    crosshair.style.backgroundSize = "contain";
                    crosshair.style.width = "50px";
                    crosshair.style.height = "50px";
                } else {
                    crosshair.style.backgroundImage = "";
                }
            }
        }

        
        let savedCrosshair = getStorage('crosshairURL');
        if (savedCrosshair) {
            applyCrosshair(savedCrosshair);
        }

             
        let reloadContainer = document.createElement('div');
        reloadContainer.style.display = 'flex';
        reloadContainer.style.flexDirection = 'column';  
        reloadContainer.style.alignItems = 'center';
        reloadContainer.style.width = '100%';
        reloadContainer.style.marginBottom = '5px';

        let reloadLabel = document.createElement('span');
        reloadLabel.textContent = 'Account Generator';
        reloadLabel.style.flexGrow = '1';
        reloadLabel.style.textAlign = 'center'; 

        let reloadButtonContainer = document.createElement('label');
        reloadButtonContainer.style.position = 'relative';
        reloadButtonContainer.style.display = 'inline-block';
        reloadButtonContainer.style.width = 'auto';  

        let reloadButton = document.createElement('button');
        reloadButton.textContent = 'Account Gen';
        reloadButton.style.backgroundColor = '#4CAF50';
        reloadButton.style.color = 'white';
        reloadButton.style.border = 'none';
        reloadButton.style.padding = '5px 10px';
        reloadButton.style.marginTop = '10px';
        reloadButton.style.cursor = 'pointer';
        reloadButton.style.borderRadius = '5px';
        reloadButton.disabled = true;

        reloadButton.addEventListener('click', function () {
            location.reload();
            var cookies = document.cookie.split(";");
            for (var _i = 0, cookies_1 = cookies; _i < cookies_1.length; _i++) {
                var cookie = cookies_1[_i];
                var eqPos = cookie.indexOf("=");
                var name_1 = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
                document.cookie = name_1 + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
            }
        });

        reloadButtonContainer.appendChild(reloadButton);
        reloadContainer.appendChild(reloadLabel);
        reloadContainer.appendChild(reloadButtonContainer);

        content.appendChild(reloadContainer);



        setTimeout(function () {
            reloadButton.disabled = false;
        }, 3000);
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', createMenu);
    } else {
        createMenu();
    }
})();