Minefun Sky Text Flash

Sky text flashing colors for Minefun

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Minefun Sky Text Flash
// @namespace    https://greasyfork.org
// @version      1.1
// @description  Sky text flashing colors for Minefun
// @match        *://*minefun*/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    // ===== SKY TEXT =====
    const skyText = document.createElement("div");
    skyText.innerText = "☁ BẦU TRỜI GALAXY ☁";
    document.body.appendChild(skyText);

    Object.assign(skyText.style, {
        position: "fixed",
        top: "20px",
        left: "50%",
        transform: "translateX(-50%)",
        fontSize: "22px",
        fontWeight: "bold",
        zIndex: "9999",
        pointerEvents: "none",
        color: "#00ffcc",
        textShadow: "0 0 10px black",
        transition: "0.3s"
    });

    // ===== BUTTON =====
    const btn = document.createElement("div");
    btn.innerText = "Sky OFF";
    document.body.appendChild(btn);

    Object.assign(btn.style, {
        position: "fixed",
        top: "100px",
        right: "20px",
        zIndex: "10000",
        padding: "8px 12px",
        background: "#111",
        color: "#fff",
        border: "1px solid #444",
        cursor: "pointer",
        userSelect: "none"
    });

    let enabled = false;

    const colors = ["#00ffff", "#ff0033", "#cc00ff", "#ffcc00"];
    let i = 0;
    let interval = null;

    btn.onclick = () => {
        enabled = !enabled;

        if (enabled) {
            btn.innerText = "Sky ON";

            interval = setInterval(() => {
                skyText.style.color = colors[i % colors.length];
                skyText.style.textShadow = `0 0 15px ${colors[i % colors.length]}`;
                i++;
            }, 300);

        } else {
            btn.innerText = "Sky OFF";
            clearInterval(interval);
            skyText.style.color = "#00ffcc";
            skyText.style.textShadow = "0 0 10px black";
        }
    };

    // ===== DRAG BUTTON =====
    let drag = false, ox, oy;

    btn.addEventListener("mousedown", (e) => {
        drag = true;
        ox = e.clientX - btn.offsetLeft;
        oy = e.clientY - btn.offsetTop;
    });

    document.addEventListener("mousemove", (e) => {
        if (!drag) return;
        btn.style.left = (e.clientX - ox) + "px";
        btn.style.top = (e.clientY - oy) + "px";
        btn.style.right = "auto";
    });

    document.addEventListener("mouseup", () => drag = false);

})();