Sigmally Mod

Mod for Sigmally.com | by cursd#0126. Dark Mode, Long Nickname, Macros, Extanded Settings, no ads; Mod Menu

Versión del día 20/04/2023. Echa un vistazo a la versión más reciente.

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

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

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Necesitará instalar una extensión como Tampermonkey para instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         Sigmally Mod
// @version      2.0.3
// @description  Mod for Sigmally.com | by cursd#0126. Dark Mode, Long Nickname, Macros, Extanded Settings, no ads; Mod Menu
// @author       Cursed
// @match        *://sigmally.com/*
// @icon         https://raw.githubusercontent.com/Sigmally/SigMod/main/images/SigmodV2-Circle.png
// @run-at       document-end
// @license      MIT
// @namespace    https://greatest.deepsurf.us/users/981958
// ==/UserScript==

(function () {
    const rzModWrap = document.createElement("div");
    const rzModSettings = document.createElement("form");

    const KEY_FEED = {
        key: "w",
        keyCode: 32,
        which: 32,
    };
    const KEY_SPLIT = {
        keyCode: 32,
        code: "Space",
        cancelable: true,
        composed: true,
        isTrusted: true,
        which: 32,
    };

    rzModWrap.setAttribute("id", "rx-mod-wrap");

    let rxSettings = localStorage.getItem("rxSettings");

    if (!rxSettings) {
        rxSettings = {
            keyBindingsRapidFeed: "q",
            keyBindingsdoubleSplit: "d",
            keyBindingsTripleSplit: "f",
            keyBindingsQuadSplit: "g",
            darkMode: true,
        };
    } else {
        rxSettings = JSON.parse(rxSettings);
    }

    rzModSettings.setAttribute("id", "rx-mod-settings");
    rzModSettings.classList.add("hidden");
    rzModSettings.onsubmit = (e) => {
        rzModSettings.classList.toggle("hidden");
        e.preventDefault();

        let options = new FormData(rzModSettings);

        rxSettings = {};
        for (var key of options.keys()) {
            rxSettings[key] = options.get(key);
        }

        localStorage.setItem("rxSettings", JSON.stringify(rxSettings));

        return false;
    };
    rzModSettings.innerHTML =
        '<div class="cztop">' +
        '<div class="cztopleft">' +
        '<img src="https://i.ibb.co/stQVx38/SigmodV2.png" draggable="false" class="titleImg">' +
        '<h4 class="SettingsTitle">Settings</h4>' +
        "</div>" +
        '<input type="submit" class="CloseBtn"; value="X"/>' +
        "</div>" +
        "<hr/>" +
        '<h5 class="Sett">General Settings</h5>' +
        '<div class="left-modg">' +
        '<label class="flex">' +
        '<input type="text" name="keyBindingsRapidFeed" class="keybinding" value="' +
        rxSettings.keyBindingsRapidFeed +
        '" maxlength="1" onfocus="this.select()">' +
        '<span class="Sett">Rapid Feed</span>' +
        "</label>" +
        '<label class="flex">' +
        '<input type="text" name="keyBindingsdoubleSplit" class="keybinding" value="' +
        rxSettings.keyBindingsdoubleSplit +
        '" maxlength="1" onfocus="this.select()">' +
        '<span class="Sett">Double Split</span>' +
        "</label>" +
        '<label class="flex">' +
        '<input type="text" name="keyBindingsTripleSplit" class="keybinding" value="' +
        rxSettings.keyBindingsTripleSplit +
        '" maxlength="1" onfocus="this.select()">' +
        '<span class="Sett">Triple Split</span>' +
        "</label>" +
        '<label class="flex">' +
        '<input type="text" name="keyBindingsQuadSplit" class="keybinding" value="' +
        rxSettings.keyBindingsQuadSplit +
        '" maxlength="1" onfocus="this.select()">' +
        '<span class="Sett">Quad Split</span>' +
        "</label>" +
        "</div>" +
        '<div class="right-modg">' +
        "</div>" +
        "<hr/>" +
        '<h4 class="Sett">Discord</h4>' +
        '<div class="modContainer"><a href="https://discord.gg/gHmhpCaPfP" target="_blank" class="modButton" style="width: 100%;">Join Sigmally Modz Server</a></div>' +
        "<hr/>" +
        '<h4 class="Sett">Stylish Names</h4>' +
        '<div class="modContainer"><a href="https://www.stylishnamemaker.com" target="_blank" class="modButton">Stylish Name Maker</a><a href="https://nickfinder.com" target="_blank" class="modButton">Nickfinder</a></div>' +
        "<hr/>" +
        '<h4 class="Sett">Youtube</h4>' +
        '<div class="modContainer"><a href="https://www.youtube.com/@cursed9645/" target="_blank" class="modButton">Cursed</a><a href="https://www.youtube.com/channel/UCEn7a9rEtJNsw1WKgsAoyXQ" class="modButton" target="_blank">Sigmally Modz</a></div>';

    const rzMods = [
        {
            modName: "Branding",
            modType: "automatic",
            modDescription: "Branding",
            modCode: () => {
                const gameTitle = document.getElementById("title");
                gameTitle.innerHTML = 'Sigmally<span style="display:block; font-size: 14px;">Mod by Cursed / Ringzer0</span>';
            },
        },
        {
            modName: "Game Settings",
            modType: "automatic",
            modDescription: "Extanded Game Settings",
            modCode: () => {
                const gameSettings = document.querySelector(".checkbox-grid");
                gameSettings.innerHTML += `
                <li>
                  <div class="pretty p-svg p-round p-smooth">
                    <input type="checkbox" id="showNames">
                    <div class="state p-success">
                      <svg class="svg svg-icon" viewBox="0 0 20 20">
                        <path d="M7.629,14.566c0.125,0.125,0.291,0.188,0.456,0.188c0.164,0,0.329-0.062,0.456-0.188l8.219-8.221c0.252-0.252,0.252-0.659,0-0.911c-0.252-0.252-0.659-0.252-0.911,0l-7.764,7.763L4.152,9.267c-0.252-0.251-0.66-0.251-0.911,0c-0.252,0.252-0.252,0.66,0,0.911L7.629,14.566z" style="stroke: white;fill:white;"></path>
                      </svg>
                      <label>Names</label>
                    </div>
                  </div>
                </li>
                    <li>
                  <div class="pretty p-svg p-round p-smooth">
                    <input type="checkbox" id="showSkins">
                    <div class="state p-success">
                      <svg class="svg svg-icon" viewBox="0 0 20 20">
                        <path d="M7.629,14.566c0.125,0.125,0.291,0.188,0.456,0.188c0.164,0,0.329-0.062,0.456-0.188l8.219-8.221c0.252-0.252,0.252-0.659,0-0.911c-0.252-0.252-0.659-0.252-0.911,0l-7.764,7.763L4.152,9.267c-0.252-0.251-0.66-0.251-0.911,0c-0.252,0.252-0.252,0.66,0,0.911L7.629,14.566z" style="stroke: white;fill:white;"></path>
                      </svg>
                      <label>Skins</label>
                    </div>
                  </div>
                </li>
                  <li>
                     <div class="pretty p-svg p-round p-smooth">
                        <input type="checkbox" id="longNick" checked>
                        <div class="state p-success">
                           <svg class="svg svg-icon" viewBox="0 0 20 20">
                              <path d="M7.629,14.566c0.125,0.125,0.291,0.188,0.456,0.188c0.164,0,0.329-0.062,0.456-0.188l8.219-8.221c0.252-0.252,0.252-0.659,0-0.911c-0.252-0.252-0.659-0.252-0.911,0l-7.764,7.763L4.152,9.267c-0.252-0.251-0.66-0.251-0.911,0c-0.252,0.252-0.252,0.66,0,0.911L7.629,14.566z" style="stroke: white;fill:white;"></path>
                           </svg>
                           <label>Long Nick</label>
                        </div>
                     </div>
                  </li>
                  <li>
                     <div class="pretty p-svg p-round p-smooth">
                        <input type="checkbox" id="darkMenu">
                        <div class="state p-success">
                           <svg class="svg svg-icon" viewBox="0 0 20 20">
                              <path d="M7.629,14.566c0.125,0.125,0.291,0.188,0.456,0.188c0.164,0,0.329-0.062,0.456-0.188l8.219-8.221c0.252-0.252,0.252-0.659,0-0.911c-0.252-0.252-0.659-0.252-0.911,0l-7.764,7.763L4.152,9.267c-0.252-0.251-0.66-0.251-0.911,0c-0.252,0.252-0.252,0.66,0,0.911L7.629,14.566z" style="stroke: white;fill:white;"></path>
                           </svg>
                           <label>Dark Menu</label>
                        </div>
                     </div>
                  </li>`;
            },
        },
        {
            modName: "Rapid Feed (q)",
            modType: "automatic",
            modDescription: "You feed faster",
            modCode: () => {
                window.rxTimeouts = [];
                const amount = 10;

                window.addEventListener("keyup", (e) => {
                    if (e.key == rxSettings.keyBindingsRapidFeed) {
                        for (var i = 0; i < rxTimeouts.length; i++) {
                            clearTimeout(rxTimeouts[i]);
                        }
                    }
                });
                window.addEventListener("keydown", (e) => {
                    if (e.key == "Tab") {
                        e.preventDefault();
                    }

                    if (e.key == "Escape") {
                        rzModSettings.classList.add("hidden");
                    }

                    if (e.key == rxSettings.keyBindingsRapidFeed) {
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                        for (var i = 0; i < amount; ++i) {
                            rxTimeouts.push(
                                setTimeout(function () {
                                    window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                                    window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                                    window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                                    window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                                    window.dispatchEvent(new KeyboardEvent("keydown", KEY_FEED));
                                    window.dispatchEvent(new KeyboardEvent("keyup", KEY_FEED));
                                }, i)
                            );
                        }

                        return;
                    }

                    if (e.key == rxSettings.keyBindingsdoubleSplit) {
                        for (let i = 0; i < 2; ++i) {
                            setTimeout(function () {
                                window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                                window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                            }, i + 1);
                        }
                        return;
                    }

                    if (e.key == rxSettings.keyBindingsTripleSplit) {
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        return;
                    }

                    if (e.key == rxSettings.keyBindingsQuadSplit) {
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
                        window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
                        return;
                    }
                });
            },
        },
        {
            modName: "Long Nicknames",
            modType: "automatic",
            modDescription: "Allows for longer nicknames.",
            modCode: () => {
                const nickName = document.getElementById("nick");
                let longNick = document.getElementById("longNick");
                nickName.maxLength = 50;

                longNick.addEventListener("change", () => {
                    if (nickName.maxLength == 50) {
                        nickName.maxLength = 15;
                    } else if (nickName.maxLength == 15) {
                        nickName.maxLength = 50;
                    }
                });
            },
        }, {
            modName: "Dark Menu",
            modType: "automatic",
            modDescription: "Changes the menu color to darker color.",
            modCode: () => {
                setTimeout(() => {
                    const menu = document.getElementById("menu");
                    const rightMenu = document.querySelector(".top-users__inner");
                    const leftMenu = document.getElementById("left-menu");
                    const linksMenu = document.querySelector(".menu-links");
                    const deathScreen = document.querySelector(".menu--stats-mode");
                    const skin_text = document.getElementById("js-skin-select-icon-text");
                    let darkM = true;
                    let darkMode_cb = document.getElementById("darkMenu");
                    let b_inner = document.querySelector(".body__inner");
                    let elements = b_inner.querySelectorAll(".body__inner > :not(.body__inner), #s-skin-select-icon-text");
                    darkMode_cb.addEventListener("change", () => {
                        if (!darkM) {
                            darkM = true;
                            rxSettings.darkMode = true;
                            localStorage.setItem("rxSettings", JSON.stringify(rxSettings));
                            skin_text.style.color = "#fff";

                            menu.style.backgroundColor = "#252525";
                            rightMenu.style.backgroundColor = "#252525";
                            leftMenu.style.backgroundColor = "#252525";
                            linksMenu.style.backgroundColor = "#252525";
                            deathScreen.style.backgroundColor = "#252525";

                            elements.forEach((textElements) => {
                                textElements.style.color = "#fff";
                            });
                        } else {
                            darkM = false;
                            rxSettings.darkMode = false;
                            localStorage.setItem("rxSettings", JSON.stringify(rxSettings));
                            skin_text.style.color = "#222";
                            menu.style.backgroundColor = "#fff";
                            rightMenu.style.backgroundColor = "#fff";
                            leftMenu.style.backgroundColor = "#fff";
                            linksMenu.style.backgroundColor = "#fff";
                            deathScreen.style.backgroundColor = "#fff";

                            elements.forEach((textElements) => {
                                textElements.style.color = "#222";
                            });
                        }
                    });
                    if (rxSettings.darkMode) {
                        darkMode_cb.checked = true;
                        darkM = true;
                        skin_text.style.color = "#fff";
                        menu.style.backgroundColor = "#252525";
                        rightMenu.style.backgroundColor = "#252525";
                        leftMenu.style.backgroundColor = "#252525";
                        linksMenu.style.backgroundColor = "#252525";
                        deathScreen.style.backgroundColor = "#252525";

                        elements.forEach((textElements) => {
                            textElements.style.color = "#fff";
                        });
                    } else {
                        darkM = false;
                        darkMode_cb.checked = false;
                    }
                }, 500);
            },
        },
        {
            modName: "",
            modType: "button",
            modDescription: "Mod Settings Button",
            modId: "SettingsButton",
            modCode: () => {
                rzModSettings.classList.toggle("hidden");
            },
        },
    ];

    rzMods.forEach((mod) => {
        let modElement = null;

        switch (mod.modType) {
            case "automatic":
                mod.modCode.call();

                break;
            case "button":
                modElement = document.createElement("button");
                modElement.innerText = mod.modName;
                modElement.onclick = mod.modCode;
                modElement.title = mod.modDescription;
                modElement.id = mod.modId;
                break;
        }

        if (modElement) {
            rzModWrap.append(modElement);
        }
    });

    document.body.prepend(rzModWrap);
    document.body.prepend(rzModSettings);
    let Cursed__style = `
    *{
        outline: none;
    }
    .flex {
        display: flex;
        justify-content: center;
    }
    #rx-mod-settings {
        background: #333;
        padding: 30px;
        border-radius: 15px;
        width: 350px;
        min-height: 200px;
        top: 1em;
        left: 50%;
        margin-left: -175px;
        z-index: 99999;
        box-shadow: 0 0 40px #8D00FF;
        position: fixed;
        text-align: center;
    }
    #rx-mod-settings input.keybinding {
        max-width: 20px;
        border: 1px solid #ccc;
        padding: 0;
        text-align: center;
        margin-right: 5px;
        outline: none;
        color: #fff;
        background-color: transparent;
        border: 1px solid #fff;
        border-radius: 5px;
        font-weight: 500;
    }
    #rx-mod-settings.hidden {
        display: none;
    }

    #text-block,#left_ad_block,#ad_bottom,.ad-block,.ad-block-left,.ad-block-right {
        display: none;
    }
    .cztop{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .SettingsTitle{
        font-size: 32px;
        color: #EEE;
        margin-left: 10px;
    }
    .CloseBtn{
        outline: none;
        background-color: transparent;
        padding: 10px;
        font-size: 16px;
        transition: all .3s;
        color: #fff;
        border-radius: 15px;
        border: 2px solid #4C2B8D;
        width: 48px;
    }
    .CloseBtn:hover{
        border: 2px solid #5600FF;
    }
    .Sett{
        color: #fff;
        user-select: none;
        font-weight: 500;
    }
    .cztopleft{
        display: flex;
        align-items: center;
    }
    .titleImg{
        width: 50px;
        height: 50px;
        border-radius: 20px;
        object-fit: cover;
    }
    .modContainer {
        display: flex;
        justify-content: space-between;
    }
    .modButton{
        background-color: transparent;
        border: 1px solid #fff;
        border-radius: 5px;
        color: #fff;
        transition: all .3s;
        outline: none;
        padding: 5px;
        width: 60%;
        margin: 0 5px;
        font-size: 13px;
    }
    .modButton:hover {
        background-color: #5865F2;
    }
    #SettingsButton{
        background-color: transparent;
        height: 30px;
        background-image: url('https://i.ibb.co/pJhSvHJ/icons8-zahnrad-30.png');
        width: 30px;
        background-size: cover;
        border: none;
        outline: none;
        position: fixed;
        top: 15%;
        z-index:99997;
    }

    @media screen and (max-height: 800px) {
        #rx-mod-settings{
            top: 0
       }
    }
  `;

    let s = document.createElement("style");
    s.type = "text/css";
    s.innerHTML = Cursed__style;
    (document.head || document.documentElement).appendChild(s);
})();