Custom Voxiom Style

Resource Color Changer (For Skin) Also Styles!!

目前为 2024-12-08 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name Custom Voxiom Style
  3. // @namespace http://tampermonkey.net/
  4. // @version 2.3
  5. // @description Resource Color Changer (For Skin) Also Styles!!
  6. // @author Garuda_ and VoxWilda
  7. // @match *://voxiom.io/
  8. // @grant GM_addStyle
  9. // @license GNU GPLv3
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. // Current version of this script
  16. const currentVersion = '2.3'; // Your current version (this will be updated manually)
  17. const updateURL = 'https://gf.qytechs.cn/en/scripts/519088-custom-voxiom-style/code';
  18.  
  19. // Function to compare versions as numbers
  20. function compareVersions(version1, version2) {
  21. const v1Parts = version1.split('.').map(Number); // Split and convert to numbers
  22. const v2Parts = version2.split('.').map(Number); // Split and convert to numbers
  23.  
  24. // Compare each part of the version number
  25. for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
  26. const part1 = v1Parts[i] || 0; // Default to 0 if version part is missing
  27. const part2 = v2Parts[i] || 0; // Default to 0 if version part is missing
  28.  
  29. if (part1 > part2) return 1; // version1 is greater
  30. if (part1 < part2) return -1; // version2 is greater
  31. }
  32.  
  33. return 0; // Versions are equal
  34. }
  35.  
  36. // Fetch metadata to check for the latest version
  37. fetch(updateURL)
  38. .then(response => response.text()) // Get metadata text
  39. .then(data => {
  40. console.log("Fetched metadata:", data); // Log fetched data
  41.  
  42. // Extract the version using regex
  43. const latestVersion = data.match(/@version\s+(\d+\.\d+)/)?.[1];
  44. console.log("Extracted version:", latestVersion); // Log the extracted version
  45.  
  46. if (latestVersion && compareVersions(latestVersion, currentVersion) > 0) {
  47. // If the latest version is greater than the current version, notify user
  48. const notification = document.createElement('div');
  49. notification.style.position = 'fixed';
  50. notification.style.bottom = '10px';
  51. notification.style.right = '10px';
  52. notification.style.backgroundColor = 'rgba(255, 0, 0, 0.8)';
  53. notification.style.color = 'white';
  54. notification.style.padding = '10px';
  55. notification.style.borderRadius = '5px';
  56. notification.style.zIndex = '9999';
  57. notification.textContent = `Script update needed! Click here to update.`;
  58.  
  59. notification.onclick = () => {
  60. window.open(updateURL, '_blank');
  61. };
  62. notification.style.cursor = 'pointer';
  63.  
  64. document.body.appendChild(notification);
  65. }
  66. })
  67. .catch(error => {
  68. console.error('Error checking for script updates:', error);
  69. });
  70. (function () {
  71. const originalSkinURL = "https://voxiom.io/package/cb1d14c1ff0efb6a282b.png";
  72.  
  73. // Create a color picker and add it to the document
  74. const colorPicker = document.createElement("input");
  75. colorPicker.type = "color";
  76. colorPicker.style.position = "absolute";
  77. colorPicker.style.top = "10px";
  78. colorPicker.style.left = "10px";
  79. colorPicker.title = "Pick a color for the texture";
  80. document.body.appendChild(colorPicker);
  81.  
  82. // Create a checkbox to toggle between custom color and original skin
  83. const toggleOriginalSkin = document.createElement("input");
  84. toggleOriginalSkin.type = "checkbox";
  85. toggleOriginalSkin.style.position = "absolute";
  86. toggleOriginalSkin.style.top = "40px";
  87. toggleOriginalSkin.style.left = "10px";
  88. toggleOriginalSkin.title = "Use original skin (uncheck to use custom color)";
  89. toggleOriginalSkin.checked = false; // Default to using the custom color
  90. document.body.appendChild(toggleOriginalSkin);
  91.  
  92. // Retrieve the saved color and state from localStorage
  93. const savedColor = localStorage.getItem('selectedColor');
  94. if (savedColor) {
  95. colorPicker.value = savedColor; // Set the color picker to the saved color
  96. } else {
  97. colorPicker.value = "#ffff00"; // Default color (yellow)
  98. }
  99.  
  100. const savedUseOriginalSkin = localStorage.getItem('useOriginalSkin') === 'true';
  101. toggleOriginalSkin.checked = savedUseOriginalSkin; // Set the toggle state based on saved preference
  102.  
  103. // Function to create a canvas with the chosen color
  104. function createColoredTexture(color) {
  105. const canvas = document.createElement("canvas");
  106. canvas.width = 512; // Set the desired texture width
  107. canvas.height = 512; // Set the desired texture height
  108. const ctx = canvas.getContext("2d");
  109. ctx.fillStyle = color;
  110. ctx.fillRect(0, 0, canvas.width, canvas.height); // Fill the canvas with the chosen color
  111. return canvas;
  112. }
  113.  
  114. // Save the selected color and toggle state to localStorage
  115. colorPicker.addEventListener('input', () => {
  116. const selectedColor = colorPicker.value;
  117. localStorage.setItem('selectedColor', selectedColor); // Store the selected color
  118. });
  119.  
  120. toggleOriginalSkin.addEventListener('change', () => {
  121. const useOriginal = toggleOriginalSkin.checked;
  122. localStorage.setItem('useOriginalSkin', useOriginal); // Store the toggle state (use original skin or custom color)
  123. });
  124.  
  125. // Intercept WebGL textures
  126. const originalTexImage2D = WebGLRenderingContext.prototype.texImage2D;
  127.  
  128. WebGLRenderingContext.prototype.texImage2D = function (...args) {
  129. const source = args[5]; // Check if the texture source is an image
  130. if (source instanceof HTMLImageElement && source.src === originalSkinURL) {
  131. console.log("Replacing player skin texture...");
  132.  
  133. const useOriginalSkin = toggleOriginalSkin.checked; // Check if the user wants to use the original skin
  134.  
  135. if (useOriginalSkin) {
  136. console.log("Using original skin...");
  137. // Use the original skin without modification
  138. return originalTexImage2D.apply(this, args);
  139. } else {
  140. console.log("Using selected custom color...");
  141.  
  142. const selectedColor = colorPicker.value; // Get the selected color
  143.  
  144. const coloredTexture = createColoredTexture(selectedColor);
  145. originalTexImage2D.call(this, args[0], args[1], args[2], args[3], args[4], coloredTexture);
  146. return;
  147. }
  148. }
  149.  
  150. // Otherwise, just call the original function
  151. return originalTexImage2D.apply(this, args);
  152. };
  153. })();
  154.  
  155.  
  156.  
  157. GM_addStyle(`
  158. /* WRITTEN BY NACKOO AND WILDA */
  159. * {
  160. text-decoration: none;
  161. }
  162.  
  163. /* Hide unwanted elements */
  164. div[id^="voxiom-io"] {
  165. display: none;
  166. }
  167.  
  168. ::-webkit-scrollbar {
  169. display: block !important; /* Show scrollbar */
  170. }
  171.  
  172. /* Ensures relevant elements like chat, dropdowns and icons stay visible */
  173. a[href="https://discord.gg/GBFtRcY"],
  174. a[href="https://cuberealm.io"],
  175. .hCYBep,
  176. .iiRiSL,
  177. .cSKUzy,
  178. .dcWybl * {
  179. display: block !important; /* Ensure visibility of these elements */
  180. }
  181.  
  182. .vox-dropdown .Dropdown-menu {
  183. max-height: 400px;
  184. }
  185.  
  186. .bNczYf {
  187. background-size: cover !important;
  188. filter: grayscale(0%) blur(0px);
  189. padding: 10px;
  190. margin: -10px;
  191. }
  192.  
  193. .jzxTWp,
  194. .evngGB {
  195. z-index: 7;
  196. }
  197.  
  198. /* Ensure borders and backgrounds are correctly removed */
  199. .gIfJjz,
  200. .cxSTIe,
  201. .ekCLHU,
  202. .eFhDSk,
  203. .eQfmzq * {
  204. border: none !important;
  205. background: none !important;
  206. }
  207.  
  208. .hPoIsr,
  209. .iSzErR {
  210. background: none !important;
  211. border: none !important;
  212. width: 50px;
  213. height: 50px;
  214. }
  215.  
  216. .lpfJAq *,
  217. .lpdfTz * {
  218. max-height: 400px !important;
  219. }
  220.  
  221. .eQfmzq {
  222. position: absolute;
  223. top: 0;
  224. left: 200px;
  225. }
  226.  
  227. .faeaXa {
  228. filter: drop-shadow(0 0 17px rgba(var(--inv), 1));
  229. }
  230.  
  231. .faeaXa[style*="rgb(149, 165, 166)"] {
  232. --inv: 149, 165, 166;
  233. }
  234.  
  235. .faeaXa[style*="rgb(46, 204, 113)"] {
  236. --inv: 46, 204, 113;
  237. }
  238.  
  239. .faeaXa[style*="rgb(52, 152, 219)"] {
  240. --inv: 52, 152, 219;
  241. }
  242.  
  243. .faeaXa[style*="rgb(155, 89, 182)"] {
  244. --inv: 155, 89, 182;
  245. }
  246.  
  247. .faeaXa[style*="rgb(241, 196, 15)"] {
  248. --inv: 241, 196, 15;
  249. }
  250.  
  251. .faeaXa[style*="rgb(211, 84, 0)"] {
  252. --inv: 211, 84, 0;
  253. }
  254.  
  255. img[src="/./package/ea55824826de52b7ccc3.png"] {
  256. margin-bottom: 20px;
  257. width: auto;
  258. height: 200px;
  259. filter: drop-shadow(0 0 20px black);
  260. pointer-events: none;
  261. }
  262.  
  263. .kqMamr[style*="font-size: 10px"],
  264. .dZDPlS * {
  265. font-size: 12px !important;
  266. }
  267.  
  268. .ekaCUa {
  269. height: 100%;
  270. }
  271.  
  272. .bhZAzR {
  273. color: rgb(14, 14, 14);
  274. }
  275.  
  276. .gJPUVb {
  277. color: rgb(14, 14, 14);
  278. }
  279.  
  280. .cJoQGw {
  281. background: radial-gradient(circle, rgba(var(--market), 0.3), rgba(var(--market), 0.1));
  282. }
  283.  
  284. .cJoQGw[style*="rgb(255, 255, 255)"] {
  285. --market: 255, 255, 255;
  286. }
  287.  
  288. .cJoQGw[style*="rgb(128, 156, 255)"] {
  289. --market: 128, 156, 255;
  290. }
  291.  
  292. .cJoQGw[style*="rgb(180, 99, 255)"] {
  293. --market: 180, 99, 255;
  294. }
  295.  
  296. .cJoQGw[style*="rgb(255, 84, 224)"] {
  297. --market: 255, 84, 224;
  298. }
  299.  
  300. .cJoQGw[style*="rgb(230, 126, 34)"] {
  301. --market: 230, 126, 34;
  302. }
  303.  
  304. .cJoQGw[style*="rgb(255, 66, 101)"] {
  305. --market: 255, 66, 101;
  306. }
  307.  
  308. .cJoQGw[style*="rgb(255, 224, 99)"] {
  309. --market: 255, 224, 99;
  310. }
  311.  
  312. .cxWTDe {
  313. background: rgba(0, 0, 0, 0.65) !important;
  314. border-radius: 10px;
  315. }
  316.  
  317. /* Specific adjustments for the chat visibility */
  318. .dcWybl, .dcWybl * {
  319. display: block !important; /* Ensure chat content is visible */
  320. visibility: visible !important;
  321. }
  322.  
  323.  
  324. .sc-lbCmg,
  325. .sc-jwRhZi,
  326. .sc-bBHxTw,
  327. .sc-giYglK,
  328. .sc-pVTFL,
  329. .sc-crHmcD,
  330. .sc-fKVqWL,
  331. .sc-iJKOTD,
  332. #voxiom-io_970X250_1,
  333. .sc-hKUcmH
  334. {
  335. display: none;
  336. }
  337.  
  338. .sc-jHwEXd {
  339. border-radius: 10px;
  340. }
  341.  
  342. .sc-czvZiG {
  343. border-radius: 10px;
  344. }
  345. .sc-fpyFWH {
  346. border-radius: 10px;
  347. background-color: rgba(255, 255, 255, 0.5); px solid rgba(255, 255, 255, 0.7);
  348. }
  349.  
  350.  
  351. .sc-hPmGNk {
  352. display: none;
  353. }
  354.  
  355. .sc-OVzLa {
  356. position: relative; /* Position the button's content relative to the new text */
  357. color: transparent; /* Hide the original text */
  358. }
  359.  
  360. .sc-OVzLa::after {
  361. content: "Don't Click This, You don't deserve it.";
  362. position: absolute;
  363. top: 0;
  364. left: 0;
  365. color: white;
  366. font-size: 20px;
  367. width: 100%;
  368. height: 100%;
  369. text-align: center;
  370. display: flex;
  371. align-items: center;
  372. justify-content: center;
  373. }
  374.  
  375. .sc-uWCef::after {
  376. content: "You really took this long?? 🤦‍♂️";
  377. position: absolute;
  378. top: 0;
  379. left: 0;
  380. color: white;
  381. font-size: 18px;
  382. width: 100%;
  383. height: 100%;
  384. text-align: center;
  385. display: flex;
  386. align-items: center;
  387. justify-content: center;
  388. }
  389.  
  390.  
  391.  
  392.  
  393.  
  394. .sc-kTwdzw,
  395. .sc-cgLTVH {
  396. transition: background 0.3s ease, color 0.3s ease; /* Smooth transition for child elements */
  397. }
  398. .sc-eYQueS {
  399. background: linear-gradient(to right, #FF0000, #8B0000);
  400. opacity: 1.0;
  401. }
  402.  
  403.  
  404. .sc-chSlKD {
  405. background: linear-gradient(to right, #0000FF, #00008B);
  406. opacity: 1.0;
  407. }
  408. .sc-kTwdzw:hover,
  409. .sc-cgLTVH:hover {
  410. background: rgba(173, 216, 230, 0.3); /* Light blue with low opacity for children */
  411. color: #333; /* Optional: change text color for visibility, adjust as needed */
  412. }
  413.  
  414.  
  415. .sc-cgLTVH:hover {
  416. background: linear-gradient(to right, rgba(173, 216, 230, 0.3), rgba(173, 216, 230, 0.3)); /* Light blue gradient with low opacity */
  417. }
  418.  
  419.  
  420. .sc-kBysnm {
  421. background: linear-gradient(to right, #00c9ff, #92fe9d);
  422. }
  423.  
  424. .sc-fjHZBf,
  425. .sc-jRyozQ {
  426. color: black;
  427. }
  428. .sc-hrJsxi {
  429. background-color: grey;
  430. border-radius: 10px;
  431. width: 100%;
  432. height: 100%;
  433. position: absolute;
  434. top: 0;
  435. left: 0;
  436. }
  437. .sc-ibSMNl {
  438. margin-bottom: 40px;
  439. margin-top: 50px;
  440. }
  441. .sc-eIMkDA {
  442. border-radius: 12px;
  443. }
  444. .sc-eIMkDA:nth-child(2) .sc-gOMZtR {
  445. font-size: 15px;
  446. }
  447. .sc-cbTmKc {
  448. background: radial-gradient(circle, rgba(0, 123, 255, 0.5) 0%, rgba(0, 62, 124, 0.7) 100%);
  449. }
  450.  
  451. .sc-dCKSNi {
  452. background: radial-gradient(circle, rgba(255, 0, 0, 0.5) 0%, rgba(139, 0, 0, 0.7) 100%);
  453. }
  454. .sc-LMKsT {
  455. background: radial-gradient(circle, rgba(169, 169, 169, 0.5) 0%, rgba(0, 0, 0, 0.7) 100%);
  456. }
  457.  
  458. .sc-hgJWpk {
  459. color: #001f3d;
  460. }
  461. .sc-eIMkDA:nth-child(2) .sc-eGAbHy {
  462. margin-top: 5px;
  463. }
  464.  
  465. .sc-eIMkDA .sc-cCqACh {
  466. border-radius: 12px;
  467. width: 50px;
  468. height: 50px;
  469. }
  470.  
  471. .sc-eIMkDA .sc-eGAbHy {
  472. border-radius: 12px;
  473. width: 50px;
  474. height: 50px;
  475. }
  476. .sc-eIMkDA.sc-imtoHe {
  477. font-size: 19px;
  478. }
  479. .sc-llYSUQ {
  480. font-size: 17px;
  481. }
  482.  
  483. *{
  484. font-family: cursive
  485. }
  486.  
  487. .sc-lbCmg {
  488. color: black;
  489. }
  490.  
  491. .sc-lbCmg {
  492. visibility: visible !important;
  493. display: block !important;
  494. }
  495. .sc-hnCQzQ {
  496. border-radius: 12px;
  497. }
  498.  
  499. .sc-efaPnb:nth-child(1),
  500. .sc-efaPnb:nth-child(2),
  501. .sc-ieqYjd,
  502. .sc-cgLHwo
  503. {
  504. background: #FF0000;
  505. border: 1px solid white;
  506. }
  507.  
  508. .sc-efaPnb:nth-child(1):hover,
  509. .sc-efaPnb:nth-child(2):hover,
  510. .sc-ieqYjd:hover,
  511. .sc-cgLHwo:hover
  512. {
  513. background: transparent;
  514. }
  515.  
  516. .sc-kLwhqv::before {
  517. content: "Hello Fellow GNW style user! We hope you love this style for each game you play!! More Styles to come soon!!! If you have any suggestions please give us feedback on Greasyfork!";
  518. display: block;
  519. color: #11;
  520. font-size: 16px;
  521. font-family: cursive;
  522. white-space: pre-line;
  523. }
  524. .sc-sc-eoHXOn {
  525. background: linear-gradient(to right, #003d8a, #3366cc);
  526. }
  527. .sc-eLwHnm {
  528. background-color: transparent !important;
  529. }
  530. .sc-jOxtWs {
  531. background: linear-gradient(to right, #ffcccc, #ff6666);
  532. }
  533. .sc-bxYNtK:nth-child(1),
  534. .sc-kBysnm {
  535. background: linear-gradient(to right, rgba(0, 255, 255, 0.7), rgba(0, 255, 255, 0.6));
  536. border: 1px solid white;
  537. }
  538.  
  539. .sc-wAsCI:nth-child(2) > .sc-fpGCtG {
  540. display: none;
  541. }
  542. .sc-kBysnm {
  543. border-color: transparent;
  544. }
  545. .sc-wAsCI:nth-child(1) > .sc-fpGCtG {
  546. display: none;
  547. }
  548. .sc-iQLbEm::after {
  549. content: "Did you really just die??";
  550. display: block; /* Optional: Ensures it appears as a new line */
  551. color: red; /* Optional: Set text color */
  552. font-size: 16px; /* Optional: Set text size */
  553. margin-top: 10px; /* Optional: Adds spacing */
  554. }
  555. .sc-bRcdvP:nth-child(3) {
  556. margin-top: 10px;
  557. }
  558.  
  559. .sc-bRcdvP:nth-child(2) {
  560. margin-top: 10px;
  561. }
  562.  
  563. .sc-cgLHwo {
  564. margin-top: 2px;
  565. }
  566.  
  567. .sc-efaPnb:nth-child(2) {
  568. margin-left: 5px;
  569. }
  570.  
  571. .sc-bNoLzS {
  572. border: 1px solid white;
  573. }
  574.  
  575. .sc-kHOZwM {
  576. display: none;
  577. }
  578.  
  579. .bNczYf {
  580. background-image: url('https://i.imgur.com/fEy1M3h.png');
  581. }
  582.  
  583. .sc-bxYNtK {
  584. border-radius: 12.5px;
  585. }
  586. .sc-inrDdN {
  587. border-radius: 12.5px;
  588. }
  589. #voxiom-io_300X250_1 {
  590. border-radius: 12.5px;
  591. }
  592.  
  593. .sc-kITQLZ {
  594. border-radius: 12.5px;
  595. }
  596.  
  597. .sc-efaPnb:nth-child(1) {
  598. border-radius: 7px;
  599. }
  600.  
  601. .sc-efaPnb:nth-child(2) {
  602. border-radius: 7px;
  603. }
  604.  
  605. .sc-ieqYjd {
  606. border-radius: 7px;
  607. }
  608.  
  609. .sc-cgLHwo {
  610. border-radius: 7px;
  611. }
  612.  
  613. .sc-bNoLzS {
  614. border-radius: 7px;
  615. }
  616.  
  617. .sc-PDIEN {
  618. border-radius: 7px;
  619. }
  620.  
  621. #voxiom-io_728x90_1 {
  622. display: none;
  623. }
  624.  
  625. .sc-kITQLZ {
  626. position: absolute;
  627. bottom: 0;
  628. }
  629. .sc-gijNBN > .sc-eIMkDA {
  630. border-radius: 12.5px;
  631. border: 1px solid grey;
  632. margin-bottom: 3px;
  633. }
  634.  
  635. .sc-kTLmzF {
  636. border-radius: 12px;
  637. font-size: 19px;
  638. }
  639.  
  640. .sc-ioFxDg {
  641. border-radius: 12px;
  642. height: 27px;
  643. }
  644.  
  645. .sc-jOxtWs {
  646. border-radius: 12px;
  647. font-size: 15px;
  648. }
  649.  
  650. .sc-iBjLOp > div:nth-child(2) {
  651. font-size: 20px;
  652. }
  653.  
  654. .sc-gfXEFL {
  655. border-radius: 12.5px;
  656. padding-top: 25px;
  657. }
  658.  
  659. .sc-bcuSnp {
  660. border-radius: 12.5px;
  661. }
  662.  
  663. .sc-dHxeTU {
  664. font-siZe: 19px;
  665. border-radius: 12.5px;
  666. }
  667.  
  668. .sc-jQbROH {
  669. font-siZe: 19px;
  670. border-radius: 12.5px;
  671. }
  672.  
  673. .sc-bxJtlY {
  674. border-radius: 12.5px;
  675. }
  676.  
  677. .sc-lbJDnc:nth-child(2) {
  678. margin-top: 30px;
  679. border-radius: 12.5px;
  680. font-size: 18px!important;
  681.  
  682. .sc-bxJtlY {
  683. font-size: 25px;
  684. width: 50px;
  685. height: 50px;
  686. margin-top: 5px;
  687. }
  688.  
  689. .sc-lbJDnc:nth-child(3) {
  690. border-radius: 12.5px;
  691. font-size: 19px;
  692. height: 117px;
  693. }
  694.  
  695. .sc-dGXKQl {
  696. margin-bottom: 3px;
  697. }
  698.  
  699. .sc-gnYOKe {
  700. font-size: 17px;
  701. border-radius: 12.5px;
  702. }
  703.  
  704. .sc-dlUKyu:nth-child(2) > .sc-eIMkDA {
  705. display: none;
  706. }
  707.  
  708. .sc-lheXJl {
  709. border-radius: 12.5px;
  710. height: 47px;
  711. }
  712.  
  713. .sc-jOxtWs {
  714. border-radius: 12.5px;
  715. height: 26px;
  716. font-size: 15px;
  717. }
  718.  
  719. .sc-jOxtWs {
  720. height: 27px;
  721. font-size: 19px;
  722. }
  723.  
  724. .sc-kTLmzF {
  725. border: 1px solid white;
  726. }
  727.  
  728. .sc-cCqACh {
  729. background: none;
  730. }
  731.  
  732. .sc-gijNBN:nth-child(2) .sc-gOMZtR {
  733. font-size: 15px;
  734. }
  735.  
  736. .sc-gijNBN:nth-child(2) .sc-eGAbHy {
  737. margin-top: 5px;
  738. }
  739.  
  740. .sc-gijNBN .sc-eGAbHy {
  741. border-radius: 12px;
  742. width: 50px;
  743. height: 50px;
  744. }
  745. .sc-gijNBN .sc-imtoHe {
  746. font-size: 19px;
  747. }
  748.  
  749. .sc-jECdDC {
  750. display: none;
  751. }
  752.  
  753. .sc-gFkHhu {
  754. display: none;
  755. }
  756.  
  757. .sc-bcuSnp {
  758. padding-top: 27px;
  759. }
  760. .sc-ftuxfO {
  761. border-radius: 12.5px;
  762. }
  763. .sc-dHxrtn {
  764. border-radius: 7px;
  765. }
  766.  
  767. .sc-bJijCA {
  768. border-top-left-radius: 7px;
  769. border-bottom-left-radius: 7px;
  770. }
  771. .sc-jOxtWs {
  772. height: 30px;
  773. border-radius: 7px;
  774. }
  775. .sc-bcGyXE:nth-child(2) {
  776. border-top-right-radius: 12.5px;
  777. border-bottom-right-radius: 12.5px;
  778. }
  779. .sc-jEDbyf {
  780. border-radius: 12.5px;
  781. }
  782. .sc-cLqoAx {
  783. border-radius: 12.5px;
  784. }
  785. .sc-dlUKyu .sc-gulkZw {
  786. background: none;
  787. }
  788. .sc-cLqoAx .sc-dBGsNe {
  789. background: none;
  790. }
  791.  
  792. .sc-bVMxNJ > .sc-cgLTVH {
  793. font-size: 19px;
  794. }
  795. .sc-kTwdzw {
  796. font-size: 19px;
  797. margin-left: -15px;
  798. }
  799. .sc-ejUSkt {
  800. font-size: 15px;
  801. }
  802. .sc-hWfKGx:nth-child(2) {
  803. font-size: 15px;
  804. margin-top: 15px;
  805. }
  806. .sc-hWfKGx:nth-child(3) {
  807. font-size: 15px;
  808. margin-top: 15px;
  809. }
  810. .sc-hilbJV {
  811. font-size: 19px;
  812. }
  813. .sc-ekMTzm {
  814. font-size: 17px;
  815. }
  816. .sc-fxoWpM > .sc-ezDxBL {
  817. font-size: 18px;
  818. }
  819. .sc-fxoWpM .sc-gJDHPX {
  820. text-decoration: none;
  821. }
  822. .sc-isIVbZ {
  823. display: none;
  824. }
  825. .sc-ljHdwo {
  826. position: absolute;
  827. right: 30px;
  828. top: 25px;
  829. }
  830. .sc-ctrcbf {
  831. border-radius: 12.5px;
  832. padding-top: 27px;
  833. }
  834. .sc-lcepkR {
  835. font-size: 19px;
  836. }
  837. .sc-dPiLbb {
  838. border-radius: 7px;
  839. }
  840.  
  841. .sc-ehCJOs .sc-hUpaCq {
  842. border-radius: 12.5px;
  843. }
  844. .sc-gWXbKe {
  845. border-radius: 12.5px;
  846. }
  847.  
  848. .sc-gWXbKe > .sc-hiCibw {
  849. border-bottom-right-radius: 12.5px;
  850. border-bottom-left-radius: 12.5px;
  851. }
  852.  
  853. .sc-iPkRvG {
  854. border-radius: 12.5px;
  855. }
  856. .sc-hQqMrg {
  857. display: none;
  858. }
  859. .sc-iAKWXU {
  860. border-radius: 12.5px;
  861. font-size: 19px;
  862. }
  863. .sc-gWXbKe > .sc-cidDSM {
  864. font-size: 16px;
  865. }
  866. .sc-gWXbKe span {
  867. font-size: 16px;
  868. }
  869.  
  870. .sc-NqARw {
  871. border-radius: 12px;
  872. }
  873. .sc-jlObWd > .sc-LerVu {
  874. font-size: 19px;
  875. }
  876.  
  877. .sc-jlObWd .sc-cVeCjG {
  878. font-size: 16px;
  879. }
  880. .sc-jUosCB {
  881. font-size: 19px;
  882. }
  883. .sc-jUosCB .sc-GEbAx {
  884. font-size: 17px;
  885. }
  886. .sc-gUQvok > .sc-fIosxK {
  887. font-size: 19px;
  888. }
  889. .sc-gUQvok > .sc-fXeWAj {
  890. display: none;
  891. }
  892. .sc-gUQvok .sc-fmciRz {
  893. font-size: 17px;
  894. }
  895. .sc-dFtzxp {
  896. font-size: 19px;
  897. }
  898. .sc-dFtzxp > .sc-gIDmLj {
  899. font-size: 17px;
  900. }
  901. .sc-bilyIR > .sc-eGPXGI {
  902. font-size: 19px;
  903. }
  904. .sc-bilyIR .sc-xiLah {
  905. font-size: 17px;
  906. }
  907. select {
  908. font-size: 17px;
  909. }
  910. .sc-bilyIR input {
  911. height: 33px;
  912. }
  913. .sc-bilyIR:nth-child(6) input,
  914. .sc-bilyIR:nth-child(7) input{
  915. width: 17px;
  916. height: 17px;
  917. }
  918.  
  919. .sc-gUQvok:nth-child(5) input,
  920. .sc-gUQvok:nth-child(6) input{
  921. width: 17px;
  922. height: 17px;
  923. }
  924. .sc-jUosCB:nth-child(9) input,
  925. .sc-jUosCB:nth-child(10) input,
  926. .sc-jUosCB:nth-child(11) input,
  927. .sc-jUosCB:nth-child(12) input {
  928. width: 17px;
  929. height: 17px;
  930. }
  931. .sc-fXEqDS:nth-child(7) input {
  932. height: 33px;
  933. }
  934. .sc-jWUzzU {
  935. display: none;
  936. }
  937. .sc-fXEqDS:nth-child(1) {
  938. margin-bottom: 0;
  939. }
  940. .sc-fXEqDS > .sc-FNXRL {
  941. font-size: 19px;
  942. }
  943. .sc-fXEqDS .sc-lkgTHX {
  944. font-size: 17px;
  945. }
  946. .sc-dVNjXY {
  947. border-radius: 12.5px;
  948. }
  949. .sc-jtXEFf {
  950. border-radius: 12.5px;
  951. }
  952.  
  953. .sc-jGOmzE {
  954. border-style: 2px solid;
  955. }
  956.  
  957. .sc-iQLbEm {
  958. border-radius: 10px;
  959. }
  960.  
  961. .sc-iQLbEm::after {
  962. content: ". Get Good Lmao Gtfo"
  963. }
  964.  
  965. .sc-eWfVMQ {
  966. border-radius: 7px;
  967. margin-bottom: 13px;
  968. font-size: 19px;
  969. }
  970. .sc-jEDbyf > .sc-fKeRlk {
  971. font-size: 19px;
  972. }
  973. .sc-auqbC {
  974. display: none;
  975. }
  976. .sc-hGNApp {
  977. border-radius: 12.5px;
  978. }
  979. .sc-jtdnna {
  980. border-radius: 12.5px;
  981. }
  982. .sc-cLqoAx .sc-dXNTeZ {
  983. font-size: 19px;
  984. }
  985. .sc-cLqoAx .sc-jFkmsu {
  986. font-size: 19px;
  987. }
  988. .sc-cLqoAx .sc-hudTXT {
  989. font-size: 19px;
  990. }
  991. .sc-cLqoAx .sc-dBGsNe {
  992. font-size: 19px;
  993. }
  994. .sc-dlUKyu .sc-eGAbHy {
  995. width: 50px;
  996. height: 50px;
  997. border-radius: 7px;
  998. }
  999. .sc-dlUKyu > .sc-eIMkDA {
  1000. border-radius: 12.5px;
  1001. }
  1002. .sc-dlUKyu .sc-imtoHe {
  1003. font-size: 17px;
  1004. }
  1005. .sc-dlUKyu .sc-gulkZw {
  1006. font-size: 17px;
  1007. }
  1008. .sc-ehCJOs .sc-nVkyK {
  1009. border-bottom-left-radius: 12.5px;
  1010. border-bottom-right-radius: 12.5px;
  1011. }
  1012. .sc-gUQvok {
  1013. margin-bottom: 10px;
  1014. }
  1015.  
  1016. .sc-gUQvok:nth-child(5) {
  1017. margin-bottom: 20px;
  1018. }
  1019. .sc-dvXDii {
  1020. border-radius: 12.5px;
  1021. }
  1022.  
  1023. .sc-eoHXOn{
  1024. margin-bottom: 7px;
  1025. }
  1026.  
  1027. .sc-gijNBN .sc-fYIQDW {
  1028. font-size: 19px;
  1029. }
  1030. .sc-eLwHnm {
  1031. border-radius: 12.5px;
  1032. }
  1033. .sc-iQLbEm {
  1034. border: none;
  1035. background: none;
  1036. }
  1037. .image-bottom-right {
  1038. position: fixed;
  1039. bottom: 10px;
  1040. right: 10px;
  1041. width: 100px;
  1042. height: auto;
  1043. z-index: 9999;
  1044. }
  1045. `);
  1046. if (window.location.hostname === "voxiom.io") {
  1047. const img = document.createElement("img");
  1048. img.src = "https://i.imgur.com/WKYmgNG.png";
  1049. img.className = "image-bottom-right";
  1050. document.body.appendChild(img);
  1051. }
  1052. fetch(updateURL)
  1053. .then(response => response.text())
  1054. .then(data => {
  1055. console.log("Fetched metadata:", data); // Debug: Log the full fetched metadata
  1056. const latestVersion = data.match(/@version\s+(\d+\.\d+)/)?.[1]; // Extract version
  1057. console.log("Extracted version:", latestVersion); // Check if version is correctly extracted
  1058.  
  1059. if (latestVersion && latestVersion !== currentVersion) {
  1060. // Show update notification
  1061. alert(`Script update needed! Please go to the following link to update: ${updateURL}`);
  1062. }
  1063. })
  1064. .catch(error => {
  1065. console.error('Error checking for script updates:', error);
  1066. });
  1067.  
  1068. if (latestVersion && latestVersion !== currentVersion) {
  1069. // Create a notification div
  1070. const notification = document.createElement('div');
  1071. notification.style.position = 'fixed';
  1072. notification.style.bottom = '10px';
  1073. notification.style.right = '10px';
  1074. notification.style.backgroundColor = 'rgba(255, 0, 0, 0.8)';
  1075. notification.style.color = 'white';
  1076. notification.style.padding = '10px';
  1077. notification.style.borderRadius = '5px';
  1078. notification.style.zIndex = '9999';
  1079. notification.textContent = `Script update needed! Click here to update.`;
  1080.  
  1081. // Add a clickable link
  1082. notification.onclick = () => {
  1083. window.open(updateURL, '_blank');
  1084. };
  1085. notification.style.cursor = 'pointer';
  1086.  
  1087. document.body.appendChild(notification);
  1088. }
  1089.  
  1090. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址