// ==UserScript== // @name Sigmally Mod // @version 3 // @description Mod for Sigmally.com | by cursd#0126. Themes, Long Nickname, Macros, Extanded Settings, Freeze Player; 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://greasyfork.org/users/981958 // @downloadURL none // ==/UserScript== (function () { if(localStorage.getItem("rxSettings")) localStorage.removeItem("rxSettings") //temporarily let modSettings = localStorage.getItem("modSettings"); if (!modSettings) { modSettings = { keyBindingsRapidFeed: "q", keyBindingsdoubleSplit: "d", keyBindingsTripleSplit: "f", keyBindingsQuadSplit: "g", keyBindingsFreezePlayer: "s", keyBindingsToggleMenu: "v", mapColor: null, nameColor: null, borderColor: null, mapImageURL: "", Theme: "Dark", savedNames: [] }; localStorage.setItem("modSettings", JSON.stringify(modSettings)); } else { modSettings = JSON.parse(modSettings); } let user; const welcomeuser = document.createElement("span"); setTimeout(() => { user = uData.givenName || "Guest"; welcomeuser.textContent = `Welcome ${user}, to SigMod!` }, 1500) function k_p(key, keycode) { const keyDownEvent = new KeyboardEvent("keydown", { key: key, code: keycode }); const keyUpEvent = new KeyboardEvent("keyup", { key: key, code: keycode }); window.dispatchEvent(keyDownEvent); window.dispatchEvent(keyUpEvent); } function move(cx, cy) { const mouseMoveEvent = new MouseEvent("mousemove", { clientX: cx, clientY: cy }); const canvas = document.querySelector("canvas"); canvas.dispatchEvent(mouseMoveEvent); } function center(sx, sy) { const mouseMoveEvent = new MouseEvent("mousemove", { clientX: sx, clientY: sy }); const canvas = document.getElementById("canvas"); canvas.dispatchEvent(mouseMoveEvent); } const KEY_SPLIT = { keyCode: 32, code: "Space", cancelable: true, composed: true, isTrusted: true, which: 32, }; const Mods = [{ modName: "small mods", modType: "automatic", modDescription: "Changes Game title and Nickname length", modCode: () => { const gameTitle = document.getElementById("title"); gameTitle.innerHTML = 'SigmallyMod by Cursed'; const nickName = document.getElementById("nick"); nickName.maxLength = 50; }, }, { modName: "Game Settings", modType: "automatic", modDescription: "Extanded Game Settings", modCode: () => { const gameSettings = document.querySelector(".checkbox-grid"); gameSettings.innerHTML += `
  • `; }, }, { modName: "Macro", modType: "automatic", modDescription: "Keybindings for Fastfeed, splits, freeze cell and more", modCode: () => { let ff = null; let keydown = false; let open = false; window.addEventListener("keyup", (e) => { if (e.key == modSettings.keyBindingsRapidFeed && keydown) { clearInterval(ff); keydown = false; } }); window.addEventListener("keydown", (e) => { let x = true; if (!x || document.activeElement.nodeName === "INPUT") { return; } if (e.key == "Tab") { e.preventDefault(); } if (e.key == modSettings.keyBindingsToggleMenu) { if (!open) { _cm_settings_open(); open = true; } else { document.querySelector("#cm_close__settings").click(); open = false; } } if (e.key == modSettings.keyBindingsFreezePlayer) { const CX = window.innerWidth / 2; const CY = window.innerHeight / 2; center(CX, CY); } if (e.key == modSettings.keyBindingsRapidFeed && !keydown) { keydown = true; function fastMass() { let x = 15; while (x--) { k_p("w", "KeyW"); } } ff = setInterval(fastMass, 50); } if (e.key == modSettings.keyBindingsdoubleSplit) { 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 == modSettings.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 == modSettings.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: "set Keybindings", modType: "automatic", modDescription: "set / change keybindings", modCode: () => { setTimeout(() => { const kinputs = ["modinput1", "modinput2", "modinput3", "modinput4", "modinput5"]; kinputs.forEach((modkey) => { const kinput = document.getElementById(modkey); kinput.addEventListener("input", () => { const lowercaseValue = kinput.value.toLowerCase(); if (kinput !== lowercaseValue) { kinput.value = lowercaseValue; } if (kinput.value !== "") { if (kinputs.filter((item) => item === kinput.value).length > 1) { alert("This value already exists!"); kinput.value = ""; return; } else { kinputs.forEach((otherKey) => { const otherInput = document.getElementById(otherKey); if (otherInput !== kinput && otherInput.value === kinput.value) { alert("You can't have 2 keybindings at the same time."); kinput.value = ""; return; } }); } } }); const macroInputs = ["modinput1", "modinput2", "modinput3", "modinput4", "modinput5"]; macroInputs.forEach((macroInput) => { let macroKey = document.getElementById(macroInput); macroKey.addEventListener('input', () => { let propertyName = macroKey.name; modSettings[propertyName] = macroKey.value; localStorage.setItem('modSettings', JSON.stringify(modSettings)); }); }) }); }, 500); }, }, { modName: "Map Customazation", modType: "automatic", modDescription: "Change background of map by image or color", modCode: () => { setTimeout(() => { const mapColor = document.getElementById("mapColor"); const mapImage = document.getElementById("mapImage"); const originalFillRect = CanvasRenderingContext2D.prototype.fillRect; function ChangeMapColor() { CanvasRenderingContext2D.prototype.fillRect = function (x, y, width, height) { if ((width + height) / 2 === (window.innerWidth + window.innerHeight) / 2) { this.fillStyle = mapColor.value; } originalFillRect.apply(this, arguments); }; modSettings.mapColor = mapColor.value; localStorage.setItem("modSettings", JSON.stringify(modSettings)); } mapColor.addEventListener("input", ChangeMapColor); function ChangeMapImage() { const canvas = document.getElementById("canvas"); const ctx = canvas.getContext("2d"); const img = new Image(); let pattern; img.onload = function () { const tempCanvas = document.createElement("canvas"); const tempCtx = tempCanvas.getContext("2d"); tempCanvas.width = img.width; tempCanvas.height = img.height; tempCtx.drawImage(img, 0, 0); pattern = ctx.createPattern(tempCanvas, "repeat"); fillCanvas(); }; function fillCanvas() { const fillRect = CanvasRenderingContext2D.prototype.fillRect; CanvasRenderingContext2D.prototype.fillRect = function (x, y, width, height) { this.fillStyle = pattern; fillRect.apply(this, arguments); }; ctx.fillRect(0, 0, canvas.width, canvas.height); } img.src = mapImage.value; modSettings.mapImageURL = mapImage.value; localStorage.setItem("modSettings", JSON.stringify(modSettings)); } document.getElementById("setMapImage").addEventListener("click", () => { if(mapImage.value == "") return }); const mapColorReset = document.getElementById("mapColorReset"); mapColorReset.addEventListener("click", () => { modSettings.mapColor = null; localStorage.setItem("modSettings", JSON.stringify(modSettings)); const mapColor = document.getElementById("mapColor"); mapColor.value = ""; }); const removeButton = document.getElementById("removeMapImage"); removeButton.addEventListener("click", () => { if (mapImage.value == "" || modSettings.mapImageURL === "") return; if (confirm("You need to reload the page to remove the background image. Reload?")) { modSettings.mapImageURL = ""; localStorage.setItem("modSettings", JSON.stringify(modSettings)); location.reload(); } }); if (localStorage.getItem("modSettings")) { function ChangeMapColor() { CanvasRenderingContext2D.prototype.fillRect = function (x, y, width, height) { if ((width + height) / 2 === (window.innerWidth + window.innerHeight) / 2) { this.fillStyle = modSettings.mapColor; } originalFillRect.apply(this, arguments); }; } ChangeMapColor(); function ChangeMapImage() { const canvas = document.getElementById("canvas"); const ctx = canvas.getContext("2d"); const img = new Image(); let pattern; img.onload = function () { const tempCanvas = document.createElement("canvas"); const tempCtx = tempCanvas.getContext("2d"); tempCanvas.width = img.width; tempCanvas.height = img.height; tempCtx.drawImage(img, 0, 0); pattern = ctx.createPattern(tempCanvas, "repeat"); fillCanvas(); }; function fillCanvas() { const fillRect = CanvasRenderingContext2D.prototype.fillRect; CanvasRenderingContext2D.prototype.fillRect = function (x, y, width, height) { this.fillStyle = pattern; fillRect.apply(this, arguments); }; ctx.fillRect(0, 0, canvas.width, canvas.height); } img.src = modSettings.mapImageURL; } mapImage.value = modSettings.mapImageURL; ChangeMapImage(); } }, 500); }, }, { modName: "Name Color", modType: "automatic", modDescription: "Change the color of your name", modCode: () => { setTimeout(() => { const nameColorValue = document.getElementById("nameColor"); const fillText = CanvasRenderingContext2D.prototype.fillText; nameColorValue.addEventListener("input", () => { CanvasRenderingContext2D.prototype.fillText = function(text, x, y) { if (text === document.getElementById("nick").value) { const width = this.measureText(text).width; const fontSize = 8; this.fillStyle = nameColorValue.value; } return fillText.apply(this, arguments); }; modSettings.nameColor = nameColorValue.value localStorage.setItem("modSettings", JSON.stringify(modSettings)) }) if (localStorage.getItem("modSettings")) { const nameColor = document.getElementById("nameColor"); CanvasRenderingContext2D.prototype.fillText = function(text, x, y) { if (text === document.getElementById("nick").value) { const width = this.measureText(text).width; const fontSize = 8; this.fillStyle = modSettings.nameColor; } return fillText.apply(this, arguments); }; nameColor.value = modSettings.nameColor; } const nameColorReset = document.getElementById("nameColorReset"); nameColorReset.addEventListener("click", () => { CanvasRenderingContext2D.prototype.fillText = function(text, x, y) { if (text === document.getElementById("nick").value) { const width = this.measureText(text).width; const fontSize = 8; this.fillStyle = "#ffffff"; } return fillText.apply(this, arguments); }; nameColorValue.value = "#ffffff" modSettings.nameColor = null; localStorage.setItem("modSettings", JSON.stringify(modSettings)) }); if(modSettings.nameColor == null) nameColorValue.value = "#ffffff" }, 500) } }, { modName: 'Border', modType: 'automatic', modDescription: 'Changes Border colors', modCode: () => { setTimeout(() => { const borderColorinput = document.getElementById("borderColor"); const borderColorReset = document.getElementById("borderColorReset"); const moveTo = CanvasRenderingContext2D.prototype.moveTo; borderColorinput.addEventListener("input", () => { CanvasRenderingContext2D.prototype.moveTo = function(x, y) { this.strokeStyle = borderColorinput.value; return moveTo.apply(this, arguments) } modSettings.borderColor = borderColorinput.value; localStorage.setItem("modSettings", JSON.stringify(modSettings)) }) borderColorReset.addEventListener("click", () => { CanvasRenderingContext2D.prototype.moveTo = function(x, y) { this.strokeStyle = "" return moveTo.apply(this, arguments) } }) if(modSettings.borderColor !== null) { CanvasRenderingContext2D.prototype.moveTo = function(x, y) { this.strokeStyle = modSettings.borderColor; return moveTo.apply(this, arguments) } } }, 500) } }, { modName: 'Mod Menu', modType: 'automatic', modDescription: 'Mod Menu configuration', modCode: () => { setTimeout(() => { let Tab1; let Tab2; let Tab3; let Tab4; let Tab5; const ModSettings = document.createElement("div"); const KeyBindings = document.createElement("div"); function openTab(tab) { let tabSelected = document.getElementById(tab); let allTabs = document.getElementsByClassName("tab"); for (let i = 0; i < allTabs.length; i++) { allTabs[i].style.display = "none"; } tabSelected.style.display = "flex"; } const settings = document.querySelector("#cm_modal__settings > .ctrl-modal__overlay > .ctrl-modal__modal"); const DefaultSettings = document.querySelector("#settings > .checkbox-grid"); const settingsTitle = settings.querySelector(".ctrl-modal__header > .ctrl-modal__title"); settingsTitle.innerHTML = ' SigMod Settings'; settingsTitle.style.textAlign = "left"; settings.setAttribute("id", "sig-mod-settings"); const settingsHeader = settings.querySelector(".ctrl-modal__header"); const menuTabs = document.createElement("div"); menuTabs.classList.add("tabs_navigation"); menuTabs.innerHTML = ` `; settingsHeader.insertAdjacentElement("afterend", menuTabs); const gameSettings = document.querySelector("#settings"); const defaultSettingsTitle = document.createElement("span"); defaultSettingsTitle.textContent = "Basic Settings"; defaultSettingsTitle.classList.add("text", "settingsTitle"); gameSettings.insertAdjacentElement("afterbegin", defaultSettingsTitle); welcomeuser.textContent = `Welcome Guest, to SigMod!`; welcomeuser.classList.add("text"); welcomeuser.style = "margin: 10px 0; text-align: center; font-size: 16px;"; const bsettings = document.querySelector("#sig-mod-settings > .ctrl-modal__content > .menu__item"); bsettings.classList.add("tab") bsettings.style = "display: flex; flex-direction: column; margin: 0"; bsettings.insertAdjacentElement("afterbegin", welcomeuser); Tab1 = bsettings; Tab1.setAttribute("id", "Tab1") Tab2 = document.createElement("div"); Tab2.classList.add("centerX"); Tab2.innerHTML = `
    Map Color
    Name Color
    Border Colors
    Map image:
    `; Tab2.classList.add("tab", "hidden"); Tab2.setAttribute("id", "Tab2"); Tab3 = document.createElement("div"); Tab3.innerHTML = `
    Save names
    saved:
    `; Tab3.classList.add("tab", "hidden", "centerX"); Tab3.setAttribute("id", "Tab3"); Tab4 = document.createElement("div"); Tab4.innerHTML = `
    `; Tab4.classList.add("tab", "hidden", "centerX"); Tab4.setAttribute("id", "Tab4"); Tab5 = document.createElement("div"); Tab5.innerHTML = `

    SigMod V3 | Cursed YT | Official Sigmally YT

    `; Tab5.classList.add("tab", "hidden"); Tab5.setAttribute("id", "Tab5"); document.getElementById("modHome").addEventListener("click", () => { openTab("Tab1"); }); document.getElementById("GameOptions").addEventListener("click", () => { openTab("Tab2"); }); document.getElementById("NameOptions").addEventListener("click", () => { openTab("Tab3"); }); document.getElementById("modThemes").addEventListener("click", () => { openTab("Tab4"); }); document.getElementById("modInfo").addEventListener("click", () => { openTab("Tab5"); }); const tabContent = document.querySelector("#sig-mod-settings > .ctrl-modal__content"); tabContent.append(Tab2) tabContent.append(Tab3) tabContent.append(Tab4) tabContent.append(Tab5) KeyBindings.style = `display: flex; flex-direction: column;` KeyBindings.innerHTML = ` KeyBindings `; bsettings.append(ModSettings); ModSettings.append(gameSettings) ModSettings.append(KeyBindings); ModSettings.classList.add("ModSettings") document.querySelector("#cm_close__settings svg").setAttribute("width", "22") document.querySelector("#cm_close__settings svg").setAttribute("height", "24") }, 10) } }, { modName: "Themes", modType: "automatic", modDescription: "Add Themes to menu", modCode: () => { setTimeout(() => { const elements = [ "#menu", ".top-users__inner", "#left-menu", ".menu-links", ".menu--stats-mode", "#js-skin-select-icon-text", "#nick", "#gamemode", "#option_0", "#option_1", "#option_2", "#signInBtn", "#cm_modal__settings > .ctrl-modal__overlay > .ctrl-modal__modal" ]; const b_inner = document.querySelector(".body__inner"); let bodyColorElements = b_inner.querySelectorAll( ".body__inner > :not(.body__inner), #s-skin-select-icon-text" ); const toggleColor = (element, background, text) => { let image = `url("${background}")`; if (background.includes("http")) { element.style.background = image; element.style.backgroundPosition = "center"; element.style.backgroundSize = "cover"; } else { element.style.background = background; } element.style.color = text; }; const openSVG = document.querySelector("#clans_and_settings > Button > svg"); const openSVGPath = document.querySelector("#clans_and_settings > Button > svg > path"); const newPath = openSVG.setAttribute("fill", "#fff") const closeSVGPath = document.querySelector("#cm_close__settings > svg > path"); openSVG.setAttribute("width", "36") openSVG.setAttribute("height", "36") const toggleTheme = (theme) => { if (theme.text === "#FFFFFF") { openSVGPath.setAttribute("fill", "#fff") closeSVGPath.setAttribute("stroke", "#fff") } else { closeSVGPath.setAttribute("stroke", "#222"); openSVG.setAttribute("fill", "#222"); } const backgroundColor = theme.background; const textColor = theme.text; elements.forEach((element) => { const el = document.querySelector(element); toggleColor(el, backgroundColor, textColor); }); bodyColorElements.forEach((element) => { element.style.color = textColor; }); modSettings.Theme = theme.name; localStorage.setItem("modSettings", JSON.stringify(modSettings)); }; const themes = [ { name: "Dark", background: "#151515", text: "#FFFFFF" }, { name: "White", background: "#ffffff", text: "#000000" }, { name: "THC", background: "linear-gradient(160deg, #9BEC7A, #117500)", text: "#000000" }, { name: "4 AM", background: "linear-gradient(160deg, #8B0AE1, #111)", text: "#FFFFFF" }, { name: "OTO", background: "linear-gradient(160deg, #A20000, #050505)", text: "#FFFFFF" }, { name: "Gaming", background: "https://i.ibb.co/DwKkQfh/BG-1-lower-quality.jpg", text: "#FFFFFF" }, { name: "Shapes", background: "https://i.ibb.co/h8TmVyM/BG-2.png", text: "#FFFFFF" }, { name: "Blue", background: "https://i.ibb.co/9yQBfWj/BG-3.png", text: "#FFFFFF" }, { name: "Blue - 2", background: "https://i.ibb.co/7RJvNCX/BG-4.png", text: "#FFFFFF" }, { name: "Purple", background: "https://i.ibb.co/vxY15Tv/BG-5.png", text: "#FFFFFF" }, { name: "Orange Blue", background: "https://i.ibb.co/99nfFBN/BG-6.png", text: "#FFFFFF" }, { name: "Basic Gradient", background: "https://i.ibb.co/hWMLwLS/BG-7.png", text: "#FFFFFF" }, { name: "Sky", background: "https://i.ibb.co/P4XqDFw/BG-9.png", text: "#000000" }, { name: "Sunset", background: "https://i.ibb.co/0BVbYHC/BG-10.png", text: "#FFFFFF" }, { name: "Galaxy", background: "https://i.ibb.co/MsssDKP/Galaxy.png", text: "#FFFFFF" }, { name: "Planet", background: "https://i.ibb.co/KLqWM32/Planet.png", text: "#FFFFFF" }, ]; themes.forEach((theme) => { const themeCard = document.createElement("div"); themeCard.classList.add("theme"); let themeBG; if(theme.background.includes("http")) { themeBG = `background: url(${theme.background})`; } else { themeBG = `background: ${theme.background}` } themeCard.innerHTML = `
    ${theme.name}
    `; themeCard.addEventListener("click", () => { toggleTheme(theme); }); setTimeout(() => { const themesContainer = document.getElementById("themes"); themesContainer.append(themeCard); }, 100); }); const savedTheme = modSettings.Theme; if (savedTheme) { const selectedTheme = themes.find((theme) => theme.name === savedTheme); if (selectedTheme) { toggleTheme(selectedTheme); } } }, 500); } }, { modName: 'save Names', modType: 'automatic', modDescription: 'save names to local storage', modCode: () => { setTimeout(() => { let savedNames = modSettings.savedNames; let savedNamesOutput = document.getElementById("savedNames"); let saveNameBtn = document.getElementById("saveName"); let saveNameInput = document.getElementById("saveNameValue"); const createNameDiv = (name) => { let nameDiv = document.createElement("div"); nameDiv.classList.add("NameDiv"); let nameLabel = document.createElement("label"); nameLabel.classList.add("NameLabel"); nameLabel.innerText = name; let delName = document.createElement("button"); delName.innerText = "X"; delName.classList.add("delName"); nameDiv.addEventListener("click", () => { navigator.clipboard.writeText(nameLabel.innerText).then(() => { const copiedAlert = document.createElement("div"); copiedAlert.innerHTML = ` Added Nickname to clipboard! `; copiedAlert.classList.add("modAlert"); setTimeout(() => { copiedAlert.style.opacity = 0; setTimeout(() => { copiedAlert.remove(); }, 300) }, 500) document.querySelector(".body__inner").append(copiedAlert) }); }); delName.addEventListener("click", () => { if (confirm("Are you sure you want to delete the name '" + nameLabel.innerText + "'?")) { console.log("deleted name: " + nameLabel.innerText); nameDiv.remove(); savedNames = savedNames.filter((n) => n !== nameLabel.innerText); modSettings.savedNames = savedNames; localStorage.setItem("modSettings", JSON.stringify(modSettings)); } }); nameDiv.appendChild(nameLabel); nameDiv.appendChild(delName); return nameDiv; }; saveNameBtn.addEventListener("click", () => { if (saveNameInput.value == "") { console.log("empty name"); } else { setTimeout(() => { saveNameInput.value = ""; }, 10); if (savedNames.includes(saveNameInput.value)) { console.log("You already have this name saved!"); return; } let nameDiv = createNameDiv(saveNameInput.value); savedNamesOutput.appendChild(nameDiv); savedNames.push(saveNameInput.value); modSettings.savedNames = savedNames; localStorage.setItem("modSettings", JSON.stringify(modSettings)); } }); if (savedNames.length > 0) { savedNames.forEach((name) => { let nameDiv = createNameDiv(name); savedNamesOutput.appendChild(nameDiv); }); } }, 500); } }, { modName: 'Main Menu', modType: 'automatic', modDescription: 'Main Menu configuration', modCode: () => { setTimeout(() => { let menucontent = document.querySelector(".menu-center-content"); menucontent.style.margin = "auto"; const discordlinks = document.createElement("div"); discordlinks.setAttribute("id", "dclinkdiv") discordlinks.innerHTML = ` Sigmally Discord SigModz Discord `; document.getElementById("discord_link").remove(); document.getElementById("menu").appendChild(discordlinks) document.querySelector("#cm_modal__settings .ctrl-modal__modal").style.padding = "20px" }, 10); } }]; Mods.forEach((mod) => { let modElement = null; switch (mod.modType) { case "automatic": mod.modCode.call(); break; } }); let V2S = ` :root { --default-mod-color: #2E2D80; } input, select, button{ outline: none; } .flex { display: flex; } .centerX { display: flex; justify-content: center; } .centerY { display: flex; align-items: center; } .centerXY { display: flex; align-items: center; justify-content: center } .f-column { display: flex; flex-direction: column; } #sig-mod-settings { border-radius: 4px; border: 2px solid #2E2D80; width: 440px; box-shadow: inset 0 0 10px #424190, 0 0 10px #424190; height: 353px; } .tabs_navigation { display: flex; justify-content: space-around; } .keybinding { max-width: 20px; text-align: center; margin-right: 5px; outline: none; color: #fff; background-color: #111; border: 0px solid #fff; font-weight: 500; border-bottom: 2px solid var(--default-mod-color); position: relative; border-top-right-radius: 4px; border-top-left-radius: 4px; transition: all .3s ease; } .keybinding:hover { background-color: #333; } #sig-mod-settings.hidden { display: none; } #text-block,#left_ad_block,#ad_bottom,.ad-block,.ad-block-left,.ad-block-right { display: none; } .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; } .text { user-select: none; font-weight: 500; text-align: left; } .titleImg{ width: 50px; height: 50px; border-radius: 20px; object-fit: cover; } .modContainer { display: flex; justify-content: space-between; } .modButton{ background-color: #333; border-radius: 5px; color: #fff; transition: all .3s; outline: none; padding: 5px; font-size: 13px; border: none; } .modButton:hover { background-color: #222 } .tabbtn { background-color: #111; border-bottom: 2px solid var(--default-mod-color); border-radius: 0; position: relative; border-top-right-radius: 2px; border-top-left-radius: 2px; box-shadow: 0 4px 10px -4px var(--default-mod-color); } .tabbtn::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 0; background: linear-gradient(to top, var(--default-mod-color), transparent); transition: height 0.3s ease; } .tabbtn:hover::before { height: 30%; } .modInput { background-color: #111; border: none; border-bottom: 2px solid var(--default-mod-color); border-radius: 0; position: relative; border-top-right-radius: 4px; border-top-left-radius: 4px; font-family: arial; font-weight: 500; padding: 4px; box-shadow: 0 4px 10px -4px var(--default-mod-color); color: #fff; } .SettingsButton{ border: none; outline: none; margin-right: 10px; transition: all .3s ease; } .SettingsButton:hover { scale: 1.1; } .colorInput{ background-color: transparent; width: 33px; height: 35px; border-radius: 50%; border: none; } .colorInput::-webkit-color-swatch { border-radius: 50%; border: 1px solid #000; } #dclinkdiv { display: flex; flex-direction: row; } .dclinks { width: calc(50% - 5px); height: 36px; display: flex; justify-content: center; align-items: center; background-color: rgba(88, 101, 242, 1); border-radius: 6px; margin: 0 auto; color: #fff; } #settings { display: flex; flex-direction: column; } #cm_close__settings { width: 50px; transition: all .3s ease; } #cm_close__settings svg:hover { scale: 1.1; } #cm_close__settings svg { transition: all .3s ease; } .modTitleText { text-align: center; font-size: 16px; } #settings > .checkbox-grid { width: 232px; } .ModSettings { display: flex; justify-content: center; } .settingsTitle { margin-bottom: 6px; text-decoration: underline; font-size: 16px font-weight: 600 } .tab { display: none; } .modItem { display: flex; justify-content: center; align-items: center; flex-direction: column; } .tab-content { margin: 10px; } .w-100 { width: 100% } .btnRS { margin: 0 5px; width: 50% } #savedNames { background-color: #222; padding: 5px; border-top-left-radius: 5px; overflow-y: scroll; width: 200px; height: 170px; display: flex; border-bottom: 2px solid var(--default-mod-color); box-shadow: 0 4px 20px -4px var(--default-mod-color); } #savedNames::-webkit-scrollbar, .themes::-webkit-scrollbar { width: 10px; } #savedNames::-webkit-scrollbar-track, .themes::-webkit-scrollbar-track { background: #222; border-radius: 5px; } #savedNames::-webkit-scrollbar-thumb, .themes::-webkit-scrollbar-thumb { background-color: #555; border-radius: 5px; } #savedNames::-webkit-scrollbar-thumb:hover, .themes::-webkit-scrollbar-thumb:hover { background: #666; } .themes { display: flex; flex-direction: row; width: 100%; height: 220px; background: #000; border-radius: 5px; overflow-y: scroll; gap: 10px; padding: 5px; flex-wrap: wrap; justify-content: center; } .themeContent { width: 50px; height: 50px; border: 2px solid #222; border-radius: 50%; background-position: center; } .theme { height: 75px; display: flex; align-items: center; justify-content: center; flex-direction: column; cursor: pointer; } .delName { font-weight: 500; background: #e17e7e; height: 20px; border: none; border-radius: 5px; font-size: 10px; margin-left: 5px; color: #fff; display: flex; justify-content: center; align-items: center; width: 20px; } .NameDiv { display: flex; background: #151515; border-radius: 5px; margin: 5px; padding: 3px 8px; height: 34px; align-items: center; justify-content: space-between; cursor: pointer; box-shadow: 0 4px 10px -4px var(--default-mod-color); } .NameLabel { cursor: pointer; font-weight: 500; text-align: center; color: #fff; } .resetButton { width: 25px; height: 25px; background-image: url("https://raw.githubusercontent.com/Sigmally/SigMod/main/images/reset.svg"); background-color: transparent; border: none; } .modAlert { position: absolute; top: 50px; left: 50%; transform: translate(-50%, -50%); z-index: 99998; background: #57C876; padding: 10px; border-radius: 10px; text-align: center; transition: all .3s ease-out; } .modAlert > .text { color: #fff; } `; let s = document.createElement("style"); s.innerHTML = V2S; (document.head || document.documentElement).appendChild(s); })();