Sigmally Mod

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

目前為 2023-04-23 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Sigmally Mod
  3. // @version 2.1.5
  4. // @description Mod for Sigmally.com | by cursd#0126. Dark Mode, Long Nickname, Macros, Extanded Settings, Freeze Player; Mod Menu
  5. // @author Cursed
  6. // @match *://sigmally.com/*
  7. // @icon https://raw.githubusercontent.com/Sigmally/SigMod/main/images/SigmodV2-Circle.png
  8. // @run-at document-end
  9. // @license MIT
  10. // @namespace https://greasyfork.org/users/981958
  11. // ==/UserScript==
  12. (function() {
  13. const rzModSettings = document.createElement("form");
  14.  
  15. const KEY_FEED = {
  16. key: "w",
  17. keyCode: 32,
  18. which: 32,
  19. };
  20. const KEY_SPLIT = {
  21. keyCode: 32,
  22. code: "Space",
  23. cancelable: true,
  24. composed: true,
  25. isTrusted: true,
  26. which: 32,
  27. };
  28.  
  29. let rxSettings = localStorage.getItem("rxSettings");
  30.  
  31. if (!rxSettings) {
  32. rxSettings = {
  33. keyBindingsRapidFeed: "q",
  34. keyBindingsdoubleSplit: "d",
  35. keyBindingsTripleSplit: "f",
  36. keyBindingsQuadSplit: "g",
  37. keyBindingsFreezePlayer: "s",
  38. darkMode: true,
  39. };
  40. } else {
  41. rxSettings = JSON.parse(rxSettings);
  42. }
  43.  
  44. rzModSettings.setAttribute("id", "rx-mod-settings");
  45. rzModSettings.classList.add("hidden");
  46. rzModSettings.onsubmit = (e) => {
  47. rzModSettings.classList.toggle("hidden");
  48. e.preventDefault();
  49.  
  50. let options = new FormData(rzModSettings);
  51.  
  52. for (var key of options.keys()) {
  53. rxSettings[key] = options.get(key);
  54. }
  55.  
  56. localStorage.setItem("rxSettings", JSON.stringify(rxSettings));
  57.  
  58. return false;
  59. };
  60. rzModSettings.innerHTML =
  61. '<div class="cztop">' +
  62. '<div class="cztopleft">' +
  63. '<img src="https://i.ibb.co/stQVx38/SigmodV2.png" draggable="false" class="titleImg">' +
  64. '<h4 class="SettingsTitle">Settings</h4>' +
  65. "</div>" +
  66. '<input type="submit" class="CloseBtn"; value="X"/>' +
  67. "</div>" +
  68. "<hr/>" +
  69. '<h5 class="Sett">Keybindings</h5>' +
  70. '<div class="left-modg">' +
  71. '<label class="flex">' +
  72. '<input type="text" name="keyBindingsRapidFeed" id="modinput1" class="keybinding" value="' +
  73. rxSettings.keyBindingsRapidFeed +
  74. '" maxlength="1" onfocus="this.select()">' +
  75. '<span class="Sett">Rapid Feed</span>' +
  76. "</label>" +
  77. '<label class="flex">' +
  78. '<input type="text" name="keyBindingsdoubleSplit" id="modinput2" class="keybinding" value="' +
  79. rxSettings.keyBindingsdoubleSplit +
  80. '" maxlength="1" onfocus="this.select()">' +
  81. '<span class="Sett">Double Split</span>' +
  82. "</label>" +
  83. '<label class="flex">' +
  84. '<input type="text" name="keyBindingsTripleSplit" id="modinput3" class="keybinding" value="' +
  85. rxSettings.keyBindingsTripleSplit +
  86. '" maxlength="1" onfocus="this.select()">' +
  87. '<span class="Sett">Triple Split</span>' +
  88. "</label>" +
  89. '<label class="flex">' +
  90. '<input type="text" name="keyBindingsQuadSplit" id="modinput4" class="keybinding" value="' +
  91. rxSettings.keyBindingsQuadSplit +
  92. '" maxlength="1" onfocus="this.select()">' +
  93. '<span class="Sett">Quad Split</span>' +
  94. "</label>" +
  95. "</label>" +
  96. '<label class="flex">' +
  97. '<input type="text" name="keyBindingsFreezePlayer" id="modinput5" class="keybinding" value="' +
  98. rxSettings.keyBindingsFreezePlayer +
  99. '" maxlength="1" onfocus="this.select()">' +
  100. '<span class="Sett">Freeze Player</span>' +
  101. "</label>" +
  102. "</div>" +
  103. '<div class="right-modg">' +
  104. "</div>" +
  105. "<hr/>" +
  106. '<h4 class="Sett">Discord</h4>' +
  107. '<div class="modContainer"><a href="https://discord.gg/gHmhpCaPfP" target="_blank" class="modButton" style="width: 100%;">Join Sigmally Modz Server</a></div>' +
  108. "<hr/>" +
  109. '<h4 class="Sett">Stylish Names</h4>' +
  110. '<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>' +
  111. "<hr/>" +
  112. '<h4 class="Sett">Youtube</h4>' +
  113. '<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>';
  114.  
  115. const rzMods = [{
  116. modName: "Branding",
  117. modType: "automatic",
  118. modDescription: "Branding",
  119. modCode: () => {
  120. const gameTitle = document.getElementById("title");
  121. gameTitle.innerHTML = 'Sigmally<span style="display:block; font-size: 14px;">Mod by Cursed / Ringzer0</span>';
  122. },
  123. },
  124. {
  125. modName: "Game Settings",
  126. modType: "automatic",
  127. modDescription: "Extanded Game Settings",
  128. modCode: () => {
  129. const gameSettings = document.querySelector(".checkbox-grid");
  130. gameSettings.innerHTML += `
  131. <li>
  132. <div class="pretty p-svg p-round p-smooth">
  133. <input type="checkbox" id="showNames">
  134. <div class="state p-success">
  135. <svg class="svg svg-icon" viewBox="0 0 20 20">
  136. <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>
  137. </svg>
  138. <label>Names</label>
  139. </div>
  140. </div>
  141. </li>
  142. <li>
  143. <div class="pretty p-svg p-round p-smooth">
  144. <input type="checkbox" id="showSkins">
  145. <div class="state p-success">
  146. <svg class="svg svg-icon" viewBox="0 0 20 20">
  147. <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>
  148. </svg>
  149. <label>Skins</label>
  150. </div>
  151. </div>
  152. </li>
  153. <li>
  154. <div class="pretty p-svg p-round p-smooth">
  155. <input type="checkbox" id="longNick" checked>
  156. <div class="state p-success">
  157. <svg class="svg svg-icon" viewBox="0 0 20 20">
  158. <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>
  159. </svg>
  160. <label>Long Nick</label>
  161. </div>
  162. </div>
  163. </li>
  164. <li>
  165. <div class="pretty p-svg p-round p-smooth">
  166. <input type="checkbox" id="darkMenu">
  167. <div class="state p-success">
  168. <svg class="svg svg-icon" viewBox="0 0 20 20">
  169. <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>
  170. </svg>
  171. <label>Dark Menu</label>
  172. </div>
  173. </div>
  174. </li>`;
  175. },
  176. },
  177. {
  178. modName: "Rapid Feed (q)",
  179. modType: "automatic",
  180. modDescription: "You feed faster",
  181. modCode: () => {
  182. window.rxTimeouts = [];
  183. const amount = 10;
  184.  
  185. window.addEventListener("keyup", (e) => {
  186. if (e.key == rxSettings.keyBindingsRapidFeed) {
  187. for (var i = 0; i < rxTimeouts.length; i++) {
  188. clearTimeout(rxTimeouts[i]);
  189. }
  190. }
  191. });
  192. window.addEventListener("keydown", (e) => {
  193. let x = true;
  194. if (!x || document.activeElement.nodeName === "INPUT") {
  195. return;
  196. }
  197. if (e.key == "Tab") {
  198. e.preventDefault();
  199. }
  200.  
  201. if (e.key == rxSettings.keyBindingsFreezePlayer) {
  202. function center(sx, sy) {
  203. const mouseMoveEvent = new MouseEvent("mousemove", {
  204. clientX: sx,
  205. clientY: sy
  206. })
  207. const canvas = document.getElementById("canvas")
  208. canvas.dispatchEvent(mouseMoveEvent)
  209. }
  210.  
  211. const CX = window.innerWidth / 2;
  212. const CY = window.innerHeight / 2;
  213.  
  214. center(CX, CY)
  215. }
  216.  
  217. if (e.key == rxSettings.keyBindingsRapidFeed) {
  218. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  219. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  220. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  221. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  222. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  223. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  224. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  225. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  226. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  227. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  228. for (var i = 0; i < amount; ++i) {
  229. rxTimeouts.push(setTimeout(function() {
  230. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  231. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  232. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  233. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  234. window.dispatchEvent(new KeyboardEvent('keydown', KEY_FEED));
  235. window.dispatchEvent(new KeyboardEvent('keyup', KEY_FEED));
  236. }, i));
  237. }
  238. return;
  239. }
  240.  
  241. if (e.key == rxSettings.keyBindingsdoubleSplit) {
  242. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  243. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  244. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  245. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  246. return;
  247. }
  248.  
  249. if (e.key == rxSettings.keyBindingsTripleSplit) {
  250. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  251. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  252. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  253. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  254. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  255. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  256. return;
  257. }
  258.  
  259. if (e.key == rxSettings.keyBindingsQuadSplit) {
  260. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  261. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  262. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  263. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  264. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  265. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  266. window.dispatchEvent(new KeyboardEvent("keydown", KEY_SPLIT));
  267. window.dispatchEvent(new KeyboardEvent("keyup", KEY_SPLIT));
  268. return;
  269. }
  270. });
  271. },
  272. },
  273. {
  274. modName: "Long Nicknames",
  275. modType: "automatic",
  276. modDescription: "Allows for longer nicknames.",
  277. modCode: () => {
  278. const nickName = document.getElementById("nick");
  279. let longNick = document.getElementById("longNick");
  280. nickName.maxLength = 50;
  281.  
  282. longNick.addEventListener("change", () => {
  283. if (nickName.maxLength == 50) {
  284. nickName.maxLength = 15;
  285. } else if (nickName.maxLength == 15) {
  286. nickName.maxLength = 50;
  287. }
  288. });
  289. },
  290. }, {
  291. modName: "Dark Menu",
  292. modType: "automatic",
  293. modDescription: "Changes the menu color to darker color.",
  294. modCode: () => {
  295. setTimeout(() => {
  296. const menu = document.getElementById("menu");
  297. const rightMenu = document.querySelector(".top-users__inner");
  298. const leftMenu = document.getElementById("left-menu");
  299. const linksMenu = document.querySelector(".menu-links");
  300. const deathScreen = document.querySelector(".menu--stats-mode");
  301. const skin_text = document.getElementById("js-skin-select-icon-text");
  302. const nick = document.getElementById("nick");
  303. const gamemode = document.getElementById("gamemode");
  304. const gamemodeoptions = ["option_0", "option_1", "option_2"];
  305. const signInBtn = document.getElementById("signInBtn");
  306. let darkM = true;
  307. let darkMode_cb = document.getElementById("darkMenu");
  308. let b_inner = document.querySelector(".body__inner");
  309. let elements = b_inner.querySelectorAll(".body__inner > :not(.body__inner), #s-skin-select-icon-text");
  310. const darkColor = "#252525";
  311. const darkColor2 = "#222222";
  312. const lightColor = "#FFFFFF";
  313.  
  314. function darkMode() {
  315. if (!darkM) {
  316. darkM = true;
  317. rxSettings.darkMode = true;
  318. localStorage.setItem("rxSettings", JSON.stringify(rxSettings));
  319. skin_text.style.color = lightColor;
  320.  
  321. menu.style.backgroundColor = darkColor;
  322. rightMenu.style.backgroundColor = darkColor;
  323. leftMenu.style.backgroundColor = darkColor;
  324. linksMenu.style.backgroundColor = darkColor;
  325. deathScreen.style.backgroundColor = darkColor;
  326. signInBtn.style.backgroundColor = darkColor;
  327. signInBtn.style.color = lightColor;
  328. nick.style.backgroundColor = darkColor;
  329. nick.style.color = lightColor;
  330. gamemode.style.backgroundColor = darkColor;
  331. gamemode.style.color = lightColor;
  332.  
  333. gamemodeoptions.forEach((options) => {
  334. const option = document.getElementById(options);
  335. option.style.backgroundColor = darkColor;
  336. option.style.color = lightColor;
  337. })
  338.  
  339. elements.forEach((textElements) => {
  340. textElements.style.color = lightColor;
  341. });
  342. } else {
  343. darkM = false;
  344. rxSettings.darkMode = false;
  345. localStorage.setItem("rxSettings", JSON.stringify(rxSettings));
  346. skin_text.style.color = darkColor2;
  347. menu.style.backgroundColor = lightColor;
  348. rightMenu.style.backgroundColor = lightColor;
  349. leftMenu.style.backgroundColor = lightColor;
  350. linksMenu.style.backgroundColor = lightColor;
  351. deathScreen.style.backgroundColor = lightColor;
  352. signInBtn.style.backgroundColor = lightColor;
  353. signInBtn.style.color = darkColor;
  354. nick.style.backgroundColor = lightColor;
  355. nick.style.color = darkColor;
  356. gamemode.style.backgroundColor = lightColor;
  357. gamemode.style.color = darkColor;
  358.  
  359. gamemodeoptions.forEach((options) => {
  360. const option = document.getElementById(options);
  361. option.style.backgroundColor = lightColor;
  362. option.style.color = darkColor;
  363. })
  364.  
  365. elements.forEach((textElements) => {
  366. textElements.style.color = darkColor2;
  367. });
  368. }
  369. }
  370. darkMode_cb.addEventListener("change", darkMode)
  371. if (rxSettings.darkMode) {
  372. darkMode_cb.checked = true;
  373. darkM = true;
  374. skin_text.style.color = lightColor;
  375. menu.style.backgroundColor = darkColor;
  376. rightMenu.style.backgroundColor = darkColor;
  377. leftMenu.style.backgroundColor = darkColor;
  378. linksMenu.style.backgroundColor = darkColor;
  379. deathScreen.style.backgroundColor = darkColor;
  380. signInBtn.style.backgroundColor = darkColor;
  381. signInBtn.style.color = lightColor;
  382. nick.style.backgroundColor = darkColor;
  383. nick.style.color = lightColor;
  384. gamemode.style.backgroundColor = darkColor;
  385. gamemode.style.color = lightColor;
  386.  
  387. gamemodeoptions.forEach((options) => {
  388. const option = document.getElementById(options);
  389. option.style.backgroundColor = darkColor;
  390. option.style.color = lightColor;
  391. })
  392.  
  393. elements.forEach((textElements) => {
  394. textElements.style.color = lightColor;
  395. });
  396. } else {
  397. darkM = false;
  398. darkMode_cb.checked = false;
  399. }
  400. }, 500);
  401. },
  402. },
  403. {
  404. modName: "",
  405. modType: "button",
  406. modDescription: "Mod Settings Button",
  407. modId: "SettingsButton",
  408. modCode: () => {
  409. rzModSettings.classList.toggle("hidden");
  410. },
  411. }, {
  412. modName: "input filter",
  413. modType: "automatic",
  414. modDescription: "filters invalid input",
  415. modCode: () => {
  416. setTimeout(() => {
  417. const kinputs = ["modinput1", "modinput2", "modinput3", "modinput4", "modinput5"];
  418. kinputs.forEach((modkey) => {
  419. const kinput = document.getElementById(modkey);
  420. kinput.addEventListener("input", () => {
  421. const lowercaseValue = kinput.value.toLowerCase();
  422. if (kinput !== lowercaseValue) {
  423. kinput.value = lowercaseValue;
  424. }
  425. if (kinput.value !== "") {
  426. if (kinputs.filter((item) => item === kinput.value).length > 1) {
  427. alert("This value already exists!");
  428. kinput.value = "";
  429. return;
  430. } else {
  431. kinputs.forEach((otherKey) => {
  432. const otherInput = document.getElementById(otherKey);
  433. if (otherInput !== kinput && otherInput.value === kinput.value) {
  434. alert("You can't have 2 keybindings at the same time.");
  435. kinput.value = "";
  436. return;
  437. }
  438. });
  439. }
  440. }
  441. });
  442. });
  443.  
  444. let fastfeedkey = document.getElementById(kinputs[0]);
  445.  
  446. fastfeedkey.addEventListener("input", () => {
  447. if (fastfeedkey.value === "w") {
  448. alert("Currently, you can't change the fastfeed key to W. Please wait for updates.");
  449. fastfeedkey.value = "";
  450. return;
  451. }
  452. });
  453.  
  454. }, 500)
  455. }
  456. }
  457. ];
  458.  
  459. rzMods.forEach((mod) => {
  460. let modElement = null;
  461.  
  462. switch (mod.modType) {
  463. case "automatic":
  464. mod.modCode.call();
  465.  
  466. break;
  467. case "button":
  468. modElement = document.createElement("button");
  469. modElement.innerText = mod.modName;
  470. modElement.onclick = mod.modCode;
  471. modElement.title = mod.modDescription;
  472. modElement.id = mod.modId;
  473. break;
  474. }
  475.  
  476. if (modElement) {
  477. document.body.append(modElement);
  478. }
  479. });
  480.  
  481. document.body.prepend(rzModSettings);
  482. let V2S = `
  483. *{
  484. outline: none;
  485. }
  486. .flex {
  487. display: flex;
  488. justify-content: center;
  489. }
  490. #rx-mod-settings {
  491. background: #333;
  492. padding: 30px;
  493. border-radius: 15px;
  494. width: 350px;
  495. min-height: 200px;
  496. top: 1em;
  497. left: 50%;
  498. margin-left: -175px;
  499. z-index: 99999;
  500. box-shadow: 0 0 40px #8D00FF;
  501. position: fixed;
  502. text-align: center;
  503. }
  504. #rx-mod-settings input.keybinding {
  505. max-width: 20px;
  506. border: 1px solid #ccc;
  507. padding: 0;
  508. text-align: center;
  509. margin-right: 5px;
  510. outline: none;
  511. color: #fff;
  512. background-color: transparent;
  513. border: 1px solid #fff;
  514. border-radius: 5px;
  515. font-weight: 500;
  516. }
  517. #rx-mod-settings.hidden {
  518. display: none;
  519. }
  520.  
  521. #text-block,#left_ad_block,#ad_bottom,.ad-block,.ad-block-left,.ad-block-right {
  522. display: none;
  523. }
  524. .cztop{
  525. display: flex;
  526. justify-content: space-between;
  527. align-items: center;
  528. }
  529. .SettingsTitle{
  530. font-size: 32px;
  531. color: #EEE;
  532. margin-left: 10px;
  533. }
  534. .CloseBtn{
  535. outline: none;
  536. background-color: transparent;
  537. padding: 10px;
  538. font-size: 16px;
  539. transition: all .3s;
  540. color: #fff;
  541. border-radius: 15px;
  542. border: 2px solid #4C2B8D;
  543. width: 48px;
  544. }
  545. .CloseBtn:hover{
  546. border: 2px solid #5600FF;
  547. }
  548. .Sett{
  549. color: #fff;
  550. user-select: none;
  551. font-weight: 500;
  552. }
  553. .cztopleft{
  554. display: flex;
  555. align-items: center;
  556. }
  557. .titleImg{
  558. width: 50px;
  559. height: 50px;
  560. border-radius: 20px;
  561. object-fit: cover;
  562. }
  563. .modContainer {
  564. display: flex;
  565. justify-content: space-between;
  566. }
  567. .modButton{
  568. background-color: transparent;
  569. border: 1px solid #fff;
  570. border-radius: 5px;
  571. color: #fff;
  572. transition: all .3s;
  573. outline: none;
  574. padding: 5px;
  575. width: 60%;
  576. margin: 0 5px;
  577. font-size: 13px;
  578. }
  579. .modButton:hover {
  580. background-color: #5865F2;
  581. }
  582. #SettingsButton{
  583. background-color: transparent;
  584. height: 30px;
  585. background-image: url('https://i.ibb.co/pJhSvHJ/icons8-zahnrad-30.png');
  586. width: 30px;
  587. background-size: cover;
  588. border: none;
  589. outline: none;
  590. position: fixed;
  591. top: 15%;
  592. z-index:99997;
  593. }
  594.  
  595. @media screen and (max-height: 800px) {
  596. #rx-mod-settings{
  597. top: 0
  598. }
  599. }
  600. `;
  601.  
  602. let s = document.createElement("style");
  603. s.type = "text/css";
  604. s.innerHTML = V2S;
  605. (document.head || document.documentElement).appendChild(s);
  606. })();