Sigmally Mod

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

As of 2023-04-20. See the latest version.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

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

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

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

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

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==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);
})();