hackqd's Render Options {Zombia.io}

Simple yet modern render options for zombia.io.

目前為 2025-02-15 提交的版本,檢視 最新版本

// ==UserScript==
// @name         hackqd's Render Options {Zombia.io}
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Simple yet modern render options for zombia.io.
// @author       hackqd
// @match        *://zombia.io/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let disableBackground = false;
    let disableProjectiles = false;
    let disableBuildings = false;
    let disableZombies = false;
    let disableScenery = false;
    let disablePlayers = false;

    const settingsButton = document.createElement("div");
    settingsButton.innerHTML = "⚙️";
    settingsButton.style.position = "absolute";
    settingsButton.style.top = "10px";
    settingsButton.style.left = "10px";
    settingsButton.style.width = "40px";
    settingsButton.style.height = "40px";
    settingsButton.style.background = "#717d7e";
    settingsButton.style.color = "white";
    settingsButton.style.fontSize = "24px";
    settingsButton.style.textAlign = "center";
    settingsButton.style.lineHeight = "40px";
    settingsButton.style.borderRadius = "8px";
    settingsButton.style.cursor = "pointer";
    settingsButton.style.zIndex = "1000";
    document.body.appendChild(settingsButton);

    let isDraggingButton = false;
    let buttonOffsetX = 0;
    let buttonOffsetY = 0;

    settingsButton.addEventListener('mousedown', (e) => {
        isDraggingButton = true;
        buttonOffsetX = e.clientX - settingsButton.offsetLeft;
        buttonOffsetY = e.clientY - settingsButton.offsetTop;
        settingsButton.style.cursor = "grabbing";
    });

    document.addEventListener('mousemove', (e) => {
        if (isDraggingButton) {
            settingsButton.style.left = (e.clientX - buttonOffsetX) + "px";
            settingsButton.style.top = (e.clientY - buttonOffsetY) + "px";
        }
    });

    document.addEventListener('mouseup', () => {
        isDraggingButton = false;
        settingsButton.style.cursor = "pointer";
    });

    const settingsPanel = document.createElement("div");
    settingsPanel.style.position = "absolute";
    settingsPanel.style.top = "60px";
    settingsPanel.style.left = "10px";
    settingsPanel.style.padding = "15px";
    settingsPanel.style.background = "rgba(255, 255, 255, 0.1)";
    settingsPanel.style.backdropFilter = "blur(10px)";
    settingsPanel.style.borderRadius = "12px";
    settingsPanel.style.boxShadow = "0 4px 10px rgba(0, 0, 0, 0.4)";
    settingsPanel.style.color = "white";
    settingsPanel.style.display = "none";
    settingsPanel.style.zIndex = "1000";
    settingsPanel.style.minWidth = "200px";
    settingsPanel.style.width = "auto";
    document.body.appendChild(settingsPanel);

    let isDraggingPanel = false;
    let offsetX = 0;
    let offsetY = 0;

    settingsPanel.addEventListener('mousedown', (e) => {
        isDraggingPanel = true;
        offsetX = e.clientX - settingsPanel.offsetLeft;
        offsetY = e.clientY - settingsPanel.offsetTop;
        settingsPanel.style.cursor = "move";
    });

    document.addEventListener('mousemove', (e) => {
        if (isDraggingPanel) {
            settingsPanel.style.left = (e.clientX - offsetX) + "px";
            settingsPanel.style.top = (e.clientY - offsetY) + "px";
        }
    });

    document.addEventListener('mouseup', () => {
        isDraggingPanel = false;
        settingsPanel.style.cursor = "default";
    });

    const title = document.createElement("div");
    title.innerText = "Render Options";
    title.style.fontSize = "18px";
    title.style.fontWeight = "bold";
    title.style.marginBottom = "10px";
    settingsPanel.appendChild(title);

    settingsButton.addEventListener("click", function() {
        settingsPanel.style.display = (settingsPanel.style.display === "none") ? "block" : "none";
    });

})();