Custom Voxiom Style

Resource Color Changer (For Skin) Also Styles!!

目前為 2024-12-08 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Custom Voxiom Style
// @namespace    http://tampermonkey.net/
// @version      2.3
// @description  Resource Color Changer (For Skin) Also Styles!!
// @author       Garuda_ and VoxWilda
// @match        *://voxiom.io/
// @grant        GM_addStyle
// @license      GNU GPLv3
// ==/UserScript==

(function() {
    'use strict';

    // Current version of this script
   const currentVersion = '2.3'; // Your current version (this will be updated manually)
    const updateURL = 'https://gf.qytechs.cn/en/scripts/519088-custom-voxiom-style/code';

    // Function to compare versions as numbers
    function compareVersions(version1, version2) {
        const v1Parts = version1.split('.').map(Number); // Split and convert to numbers
        const v2Parts = version2.split('.').map(Number); // Split and convert to numbers

        // Compare each part of the version number
        for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
            const part1 = v1Parts[i] || 0; // Default to 0 if version part is missing
            const part2 = v2Parts[i] || 0; // Default to 0 if version part is missing

            if (part1 > part2) return 1;  // version1 is greater
            if (part1 < part2) return -1; // version2 is greater
        }

        return 0; // Versions are equal
    }

    // Fetch metadata to check for the latest version
    fetch(updateURL)
        .then(response => response.text())  // Get metadata text
        .then(data => {
            console.log("Fetched metadata:", data); // Log fetched data

            // Extract the version using regex
            const latestVersion = data.match(/@version\s+(\d+\.\d+)/)?.[1];
            console.log("Extracted version:", latestVersion);  // Log the extracted version

            if (latestVersion && compareVersions(latestVersion, currentVersion) > 0) {
                // If the latest version is greater than the current version, notify user
                const notification = document.createElement('div');
                notification.style.position = 'fixed';
                notification.style.bottom = '10px';
                notification.style.right = '10px';
                notification.style.backgroundColor = 'rgba(255, 0, 0, 0.8)';
                notification.style.color = 'white';
                notification.style.padding = '10px';
                notification.style.borderRadius = '5px';
                notification.style.zIndex = '9999';
                notification.textContent = `Script update needed! Click here to update.`;

                notification.onclick = () => {
                    window.open(updateURL, '_blank');
                };
                notification.style.cursor = 'pointer';

                document.body.appendChild(notification);
            }
        })
        .catch(error => {
            console.error('Error checking for script updates:', error);
        });
(function () {
    const originalSkinURL = "https://voxiom.io/package/cb1d14c1ff0efb6a282b.png";

    // Create a color picker and add it to the document
    const colorPicker = document.createElement("input");
    colorPicker.type = "color";
    colorPicker.style.position = "absolute";
    colorPicker.style.top = "10px";
    colorPicker.style.left = "10px";
    colorPicker.title = "Pick a color for the texture";
    document.body.appendChild(colorPicker);

    // Create a checkbox to toggle between custom color and original skin
    const toggleOriginalSkin = document.createElement("input");
    toggleOriginalSkin.type = "checkbox";
    toggleOriginalSkin.style.position = "absolute";
    toggleOriginalSkin.style.top = "40px";
    toggleOriginalSkin.style.left = "10px";
    toggleOriginalSkin.title = "Use original skin (uncheck to use custom color)";
    toggleOriginalSkin.checked = false;  // Default to using the custom color
    document.body.appendChild(toggleOriginalSkin);

    // Retrieve the saved color and state from localStorage
    const savedColor = localStorage.getItem('selectedColor');
    if (savedColor) {
        colorPicker.value = savedColor;  // Set the color picker to the saved color
    } else {
        colorPicker.value = "#ffff00"; // Default color (yellow)
    }

    const savedUseOriginalSkin = localStorage.getItem('useOriginalSkin') === 'true';
    toggleOriginalSkin.checked = savedUseOriginalSkin;  // Set the toggle state based on saved preference

    // Function to create a canvas with the chosen color
    function createColoredTexture(color) {
        const canvas = document.createElement("canvas");
        canvas.width = 512; // Set the desired texture width
        canvas.height = 512; // Set the desired texture height
        const ctx = canvas.getContext("2d");
        ctx.fillStyle = color;
        ctx.fillRect(0, 0, canvas.width, canvas.height); // Fill the canvas with the chosen color
        return canvas;
    }

    // Save the selected color and toggle state to localStorage
    colorPicker.addEventListener('input', () => {
        const selectedColor = colorPicker.value;
        localStorage.setItem('selectedColor', selectedColor);  // Store the selected color
    });

    toggleOriginalSkin.addEventListener('change', () => {
        const useOriginal = toggleOriginalSkin.checked;
        localStorage.setItem('useOriginalSkin', useOriginal);  // Store the toggle state (use original skin or custom color)
    });

    // Intercept WebGL textures
    const originalTexImage2D = WebGLRenderingContext.prototype.texImage2D;

    WebGLRenderingContext.prototype.texImage2D = function (...args) {
        const source = args[5]; // Check if the texture source is an image
        if (source instanceof HTMLImageElement && source.src === originalSkinURL) {
            console.log("Replacing player skin texture...");

            const useOriginalSkin = toggleOriginalSkin.checked;  // Check if the user wants to use the original skin

            if (useOriginalSkin) {
                console.log("Using original skin...");
                // Use the original skin without modification
                return originalTexImage2D.apply(this, args);
            } else {
                console.log("Using selected custom color...");

                const selectedColor = colorPicker.value;  // Get the selected color

                const coloredTexture = createColoredTexture(selectedColor);
                originalTexImage2D.call(this, args[0], args[1], args[2], args[3], args[4], coloredTexture);
                return;
            }
        }

        // Otherwise, just call the original function
        return originalTexImage2D.apply(this, args);
    };
})();



    GM_addStyle(`
     /* WRITTEN BY NACKOO AND WILDA */
* {
    text-decoration: none;
}

/* Hide unwanted elements */
div[id^="voxiom-io"] {
    display: none;
}

::-webkit-scrollbar {
    display: block !important;  /* Show scrollbar */
}

/* Ensures relevant elements like chat, dropdowns and icons stay visible */
a[href="https://discord.gg/GBFtRcY"],
a[href="https://cuberealm.io"],
.hCYBep,
.iiRiSL,
.cSKUzy,
.dcWybl * {
    display: block !important;  /* Ensure visibility of these elements */
}

.vox-dropdown .Dropdown-menu {
    max-height: 400px;
}

.bNczYf {
    background-size: cover !important;
    filter: grayscale(0%) blur(0px);
    padding: 10px;
    margin: -10px;
}

.jzxTWp,
.evngGB {
    z-index: 7;
}

/* Ensure borders and backgrounds are correctly removed */
.gIfJjz,
.cxSTIe,
.ekCLHU,
.eFhDSk,
.eQfmzq * {
    border: none !important;
    background: none !important;
}

.hPoIsr,
.iSzErR {
    background: none !important;
    border: none !important;
    width: 50px;
    height: 50px;
}

.lpfJAq *,
.lpdfTz * {
    max-height: 400px !important;
}

.eQfmzq {
    position: absolute;
    top: 0;
    left: 200px;
}

.faeaXa {
    filter: drop-shadow(0 0 17px rgba(var(--inv), 1));
}

.faeaXa[style*="rgb(149, 165, 166)"] {
    --inv: 149, 165, 166;
}

.faeaXa[style*="rgb(46, 204, 113)"] {
    --inv: 46, 204, 113;
}

.faeaXa[style*="rgb(52, 152, 219)"] {
    --inv: 52, 152, 219;
}

.faeaXa[style*="rgb(155, 89, 182)"] {
    --inv: 155, 89, 182;
}

.faeaXa[style*="rgb(241, 196, 15)"] {
    --inv: 241, 196, 15;
}

.faeaXa[style*="rgb(211, 84, 0)"] {
    --inv: 211, 84, 0;
}

img[src="/./package/ea55824826de52b7ccc3.png"] {
    margin-bottom: 20px;
    width: auto;
    height: 200px;
    filter: drop-shadow(0 0 20px black);
    pointer-events: none;
}

.kqMamr[style*="font-size: 10px"],
.dZDPlS * {
    font-size: 12px !important;
}

.ekaCUa {
    height: 100%;
}

.bhZAzR {
    color: rgb(14, 14, 14);
}

.gJPUVb {
    color: rgb(14, 14, 14);
}

.cJoQGw {
    background: radial-gradient(circle, rgba(var(--market), 0.3), rgba(var(--market), 0.1));
}

.cJoQGw[style*="rgb(255, 255, 255)"] {
    --market: 255, 255, 255;
}

.cJoQGw[style*="rgb(128, 156, 255)"] {
    --market: 128, 156, 255;
}

.cJoQGw[style*="rgb(180, 99, 255)"] {
    --market: 180, 99, 255;
}

.cJoQGw[style*="rgb(255, 84, 224)"] {
    --market: 255, 84, 224;
}

.cJoQGw[style*="rgb(230, 126, 34)"] {
    --market: 230, 126, 34;
}

.cJoQGw[style*="rgb(255, 66, 101)"] {
    --market: 255, 66, 101;
}

.cJoQGw[style*="rgb(255, 224, 99)"] {
    --market: 255, 224, 99;
}

.cxWTDe {
    background: rgba(0, 0, 0, 0.65) !important;
    border-radius: 10px;
}

/* Specific adjustments for the chat visibility */
.dcWybl, .dcWybl * {
    display: block !important;  /* Ensure chat content is visible */
    visibility: visible !important;
}


.sc-lbCmg,
.sc-jwRhZi,
.sc-bBHxTw,
.sc-giYglK,
.sc-pVTFL,
.sc-crHmcD,
.sc-fKVqWL,
.sc-iJKOTD,
#voxiom-io_970X250_1,
.sc-hKUcmH
{
	display: none;
}

.sc-jHwEXd {
    border-radius: 10px;
}

.sc-czvZiG {
    border-radius: 10px;
}
.sc-fpyFWH {
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.5); px solid rgba(255, 255, 255, 0.7);
}


.sc-hPmGNk {
    display: none;
}

.sc-OVzLa {
    position: relative; /* Position the button's content relative to the new text */
    color: transparent; /* Hide the original text */
}

.sc-OVzLa::after {
    content: "Don't Click This, You don't deserve it.";
    position: absolute;
    top: 0;
    left: 0;
    color: white;
    font-size: 20px;
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sc-uWCef::after {
    content: "You really took this long?? 🤦‍♂️";
    position: absolute;
    top: 0;
    left: 0;
    color: white;
    font-size: 18px;
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}





.sc-kTwdzw,
.sc-cgLTVH {
    transition: background 0.3s ease, color 0.3s ease; /* Smooth transition for child elements */
}
.sc-eYQueS {
    background: linear-gradient(to right, #FF0000, #8B0000);
    opacity: 1.0;
}


.sc-chSlKD {
    background: linear-gradient(to right, #0000FF, #00008B);
    opacity: 1.0;
}
.sc-kTwdzw:hover,
.sc-cgLTVH:hover {
    background: rgba(173, 216, 230, 0.3); /* Light blue with low opacity for children */
    color: #333; /* Optional: change text color for visibility, adjust as needed */
}


.sc-cgLTVH:hover {
    background: linear-gradient(to right, rgba(173, 216, 230, 0.3), rgba(173, 216, 230, 0.3)); /* Light blue gradient with low opacity */
}


.sc-kBysnm {
    background: linear-gradient(to right, #00c9ff, #92fe9d);
}

.sc-fjHZBf,
.sc-jRyozQ {
    color: black;
}
.sc-hrJsxi {
    background-color: grey;
    border-radius: 10px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.sc-ibSMNl {
	margin-bottom: 40px;
  margin-top: 50px;
}
.sc-eIMkDA  {
  border-radius: 12px;
}
.sc-eIMkDA:nth-child(2) .sc-gOMZtR {
	font-size: 15px;
}
.sc-cbTmKc {
  background: radial-gradient(circle, rgba(0, 123, 255, 0.5) 0%, rgba(0, 62, 124, 0.7) 100%);
}

.sc-dCKSNi {
  background: radial-gradient(circle, rgba(255, 0, 0, 0.5) 0%, rgba(139, 0, 0, 0.7) 100%);
}
.sc-LMKsT {
  background: radial-gradient(circle, rgba(169, 169, 169, 0.5) 0%, rgba(0, 0, 0, 0.7) 100%);
}

.sc-hgJWpk {
  color: #001f3d;
}
.sc-eIMkDA:nth-child(2) .sc-eGAbHy {
	margin-top: 5px;
}

.sc-eIMkDA .sc-cCqACh {
	border-radius: 12px;
  width: 50px;
  height: 50px;
}

.sc-eIMkDA .sc-eGAbHy {
	border-radius: 12px;
  width: 50px;
  height: 50px;
}
.sc-eIMkDA.sc-imtoHe {
	font-size: 19px;
}
.sc-llYSUQ {
	font-size: 17px;
}

*{
  font-family: cursive
}

.sc-lbCmg {
  color: black;
}

.sc-lbCmg {
  visibility: visible !important;
  display: block !important;
}
.sc-hnCQzQ {
  border-radius: 12px;
}

.sc-efaPnb:nth-child(1),
.sc-efaPnb:nth-child(2),
.sc-ieqYjd,
.sc-cgLHwo
{
	background: #FF0000;
  border: 1px solid white;
}

.sc-efaPnb:nth-child(1):hover,
.sc-efaPnb:nth-child(2):hover,
.sc-ieqYjd:hover,
.sc-cgLHwo:hover
{
background: transparent;
}

.sc-kLwhqv::before {
  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!";
  display: block;
  color: #11;
  font-size: 16px;
  font-family: cursive;
  white-space: pre-line;
}
.sc-sc-eoHXOn {
    background: linear-gradient(to right, #003d8a, #3366cc);
}
.sc-eLwHnm {
    background-color: transparent !important;
}
.sc-jOxtWs {
    background: linear-gradient(to right, #ffcccc, #ff6666);
}
.sc-bxYNtK:nth-child(1),
.sc-kBysnm {
  background: linear-gradient(to right, rgba(0, 255, 255, 0.7), rgba(0, 255, 255, 0.6));
  border: 1px solid white;
}

.sc-wAsCI:nth-child(2) > .sc-fpGCtG {
	display: none;
}
.sc-kBysnm {
  border-color: transparent;
}
.sc-wAsCI:nth-child(1) > .sc-fpGCtG {
display: none;
}
.sc-iQLbEm::after {
    content: "Did you really just die??";
    display: block; /* Optional: Ensures it appears as a new line */
    color: red; /* Optional: Set text color */
    font-size: 16px; /* Optional: Set text size */
    margin-top: 10px; /* Optional: Adds spacing */
}
.sc-bRcdvP:nth-child(3) {
	margin-top: 10px;
}

.sc-bRcdvP:nth-child(2) {
	margin-top: 10px;
}

.sc-cgLHwo {
	margin-top: 2px;
}

.sc-efaPnb:nth-child(2) {
	margin-left: 5px;
}

.sc-bNoLzS {
	border: 1px solid white;
}

.sc-kHOZwM {
	display: none;
}

.bNczYf {
  background-image: url('https://i.imgur.com/fEy1M3h.png');
}

.sc-bxYNtK {
	border-radius: 12.5px;
}
.sc-inrDdN {
	border-radius: 12.5px;
}
#voxiom-io_300X250_1 {
border-radius: 12.5px;
}

.sc-kITQLZ {
border-radius: 12.5px;
}

.sc-efaPnb:nth-child(1) {
border-radius: 7px;
}

.sc-efaPnb:nth-child(2) {
border-radius: 7px;
}

.sc-ieqYjd {
border-radius: 7px;
}

.sc-cgLHwo {
	border-radius: 7px;
}

.sc-bNoLzS {
border-radius: 7px;
}

.sc-PDIEN {
	border-radius: 7px;
}

#voxiom-io_728x90_1 {
display: none;
}

.sc-kITQLZ {
 position: absolute;
  bottom: 0;
}
.sc-gijNBN > .sc-eIMkDA {
	border-radius: 12.5px;
  border: 1px solid grey;
  margin-bottom: 3px;
}

.sc-kTLmzF {
	border-radius: 12px;
  font-size: 19px;
}

.sc-ioFxDg {
	border-radius: 12px;
  height: 27px;
}

.sc-jOxtWs {
	border-radius: 12px;
  font-size: 15px;
}

.sc-iBjLOp > div:nth-child(2) {
	font-size: 20px;
}

.sc-gfXEFL {
	border-radius: 12.5px;
  padding-top: 25px;
}

.sc-bcuSnp {
	border-radius: 12.5px;
}

.sc-dHxeTU {
 font-siZe: 19px;
  border-radius: 12.5px;
}

.sc-jQbROH {
	font-siZe: 19px;
  border-radius: 12.5px;
}

.sc-bxJtlY {
border-radius: 12.5px;
}

.sc-lbJDnc:nth-child(2) {
	margin-top: 30px;
  border-radius: 12.5px;
  font-size: 18px!important;

.sc-bxJtlY {
 font-size: 25px;
  width: 50px;
  height: 50px;
  margin-top: 5px;
}

.sc-lbJDnc:nth-child(3) {
	border-radius: 12.5px;
  font-size: 19px;
  height: 117px;
}

.sc-dGXKQl {
	margin-bottom: 3px;
}

.sc-gnYOKe {
	font-size: 17px;
  border-radius: 12.5px;
}

.sc-dlUKyu:nth-child(2) > .sc-eIMkDA {
	display: none;
}

.sc-lheXJl {
	border-radius: 12.5px;
  height: 47px;
}

.sc-jOxtWs {
	border-radius: 12.5px;
 height: 26px;
  font-size: 15px;
}

.sc-jOxtWs {
	height: 27px;
  font-size: 19px;
}

.sc-kTLmzF {
	border: 1px solid white;
}

.sc-cCqACh {
	background: none;
}

.sc-gijNBN:nth-child(2) .sc-gOMZtR {
	font-size: 15px;
}

.sc-gijNBN:nth-child(2) .sc-eGAbHy {
	margin-top: 5px;
}

.sc-gijNBN .sc-eGAbHy {
	border-radius: 12px;
  width: 50px;
  height: 50px;
}
.sc-gijNBN .sc-imtoHe {
	font-size: 19px;
}

.sc-jECdDC {
	display: none;
}

.sc-gFkHhu {
	display: none;
}

.sc-bcuSnp {
	padding-top: 27px;
}
.sc-ftuxfO {
 border-radius: 12.5px;
}
.sc-dHxrtn {
	border-radius: 7px;
}

.sc-bJijCA {
	border-top-left-radius: 7px;
  border-bottom-left-radius: 7px;
}
.sc-jOxtWs {
	height: 30px;
  border-radius: 7px;
}
.sc-bcGyXE:nth-child(2) {
	border-top-right-radius: 12.5px;
  border-bottom-right-radius: 12.5px;
}
.sc-jEDbyf {
	border-radius: 12.5px;
}
.sc-cLqoAx {
	border-radius: 12.5px;
}
.sc-dlUKyu .sc-gulkZw {
	background: none;
}
.sc-cLqoAx .sc-dBGsNe {
	background: none;
}

.sc-bVMxNJ > .sc-cgLTVH {
	font-size: 19px;
}
.sc-kTwdzw {
 font-size: 19px;
  margin-left: -15px;
}
.sc-ejUSkt {
	font-size: 15px;
}
.sc-hWfKGx:nth-child(2) {
 font-size: 15px;
  margin-top: 15px;
}
.sc-hWfKGx:nth-child(3) {
	font-size: 15px;
  margin-top: 15px;
}
.sc-hilbJV {
 font-size: 19px;
}
.sc-ekMTzm {
	font-size: 17px;
}
.sc-fxoWpM > .sc-ezDxBL {
	font-size: 18px;
}
.sc-fxoWpM .sc-gJDHPX {
	text-decoration: none;
}
.sc-isIVbZ {
	display: none;
}
.sc-ljHdwo {
	position: absolute;
  right: 30px;
  top: 25px;
}
.sc-ctrcbf {
	border-radius: 12.5px;
  padding-top: 27px;
}
.sc-lcepkR {
	font-size: 19px;
}
.sc-dPiLbb {
	border-radius: 7px;
}

.sc-ehCJOs .sc-hUpaCq {
	border-radius: 12.5px;
}
.sc-gWXbKe {
	border-radius: 12.5px;
}

.sc-gWXbKe > .sc-hiCibw {
	border-bottom-right-radius: 12.5px;
  border-bottom-left-radius: 12.5px;
}

.sc-iPkRvG {
	border-radius: 12.5px;
}
.sc-hQqMrg {
	display: none;
}
.sc-iAKWXU {
	border-radius: 12.5px;
  font-size: 19px;
}
.sc-gWXbKe > .sc-cidDSM {
	font-size: 16px;
}
.sc-gWXbKe span {
	font-size: 16px;
}

.sc-NqARw {
	border-radius: 12px;
}
.sc-jlObWd  > .sc-LerVu {
	font-size: 19px;
}

.sc-jlObWd .sc-cVeCjG {
font-size: 16px;
}
.sc-jUosCB {
	font-size: 19px;
}
.sc-jUosCB .sc-GEbAx {
	font-size: 17px;
}
.sc-gUQvok > .sc-fIosxK {
	font-size: 19px;
}
.sc-gUQvok > .sc-fXeWAj {
 display: none;
}
.sc-gUQvok .sc-fmciRz {
		font-size: 17px;
}
.sc-dFtzxp {
		font-size: 19px;
}
.sc-dFtzxp > .sc-gIDmLj {
		font-size: 17px;
}
.sc-bilyIR > .sc-eGPXGI {
		font-size: 19px;
}
.sc-bilyIR .sc-xiLah {
		font-size: 17px;
}
select {
 	font-size: 17px;
}
.sc-bilyIR input {
 height: 33px;
}
.sc-bilyIR:nth-child(6) input,
.sc-bilyIR:nth-child(7) input{
	width: 17px;
  height: 17px;
}

.sc-gUQvok:nth-child(5) input,
.sc-gUQvok:nth-child(6) input{
width: 17px;
  height: 17px;
}
.sc-jUosCB:nth-child(9) input,
.sc-jUosCB:nth-child(10) input,
.sc-jUosCB:nth-child(11) input,
.sc-jUosCB:nth-child(12) input {
	width: 17px;
  height: 17px;
}
.sc-fXEqDS:nth-child(7) input {
	height: 33px;
}
.sc-jWUzzU {
display: none;
}
.sc-fXEqDS:nth-child(1) {
	margin-bottom: 0;
}
.sc-fXEqDS > .sc-FNXRL {
	font-size: 19px;
}
.sc-fXEqDS .sc-lkgTHX {
	font-size: 17px;
}
.sc-dVNjXY {
 border-radius: 12.5px;
}
.sc-jtXEFf {
	border-radius: 12.5px;
}

.sc-jGOmzE {
  border-style: 2px solid;
}

.sc-iQLbEm {
 border-radius: 10px;
}

.sc-iQLbEm::after {
	content: ". Get Good Lmao Gtfo"
}

.sc-eWfVMQ {
	border-radius: 7px;
   margin-bottom: 13px;
  font-size: 19px;
}
.sc-jEDbyf > .sc-fKeRlk {
	font-size: 19px;
}
.sc-auqbC {
	display: none;
}
.sc-hGNApp {
 border-radius: 12.5px;
}
.sc-jtdnna {
	border-radius: 12.5px;
}
.sc-cLqoAx .sc-dXNTeZ {
font-size: 19px;
}
.sc-cLqoAx .sc-jFkmsu {
font-size: 19px;
}
.sc-cLqoAx .sc-hudTXT {
font-size: 19px;
}
.sc-cLqoAx .sc-dBGsNe {
font-size: 19px;
}
.sc-dlUKyu .sc-eGAbHy {
	width: 50px;
  height: 50px;
  border-radius: 7px;
}
.sc-dlUKyu > .sc-eIMkDA {
	border-radius: 12.5px;
}
.sc-dlUKyu .sc-imtoHe {
	font-size: 17px;
}
.sc-dlUKyu .sc-gulkZw {
 font-size: 17px;
}
.sc-ehCJOs .sc-nVkyK {
	border-bottom-left-radius: 12.5px;
  border-bottom-right-radius: 12.5px;
}
.sc-gUQvok {
margin-bottom: 10px;
}

.sc-gUQvok:nth-child(5) {
margin-bottom: 20px;
}
.sc-dvXDii {
	border-radius: 12.5px;
}

.sc-eoHXOn{
  margin-bottom: 7px;
}

.sc-gijNBN .sc-fYIQDW {
font-size: 19px;
}
.sc-eLwHnm {
	border-radius: 12.5px;
}
.sc-iQLbEm {
 border: none;
  background: none;
}
.image-bottom-right {
         position: fixed;
         bottom: 10px;
         right: 10px;
         width: 100px;
         height: auto;
         z-index: 9999;
}
    `);
 if (window.location.hostname === "voxiom.io") {
        const img = document.createElement("img");
        img.src = "https://i.imgur.com/WKYmgNG.png";
        img.className = "image-bottom-right";
        document.body.appendChild(img);
    }
fetch(updateURL)
    .then(response => response.text())
    .then(data => {
        console.log("Fetched metadata:", data); // Debug: Log the full fetched metadata
        const latestVersion = data.match(/@version\s+(\d+\.\d+)/)?.[1]; // Extract version
        console.log("Extracted version:", latestVersion); // Check if version is correctly extracted

        if (latestVersion && latestVersion !== currentVersion) {
            // Show update notification
            alert(`Script update needed! Please go to the following link to update: ${updateURL}`);
        }
    })
    .catch(error => {
        console.error('Error checking for script updates:', error);
    });

if (latestVersion && latestVersion !== currentVersion) {
    // Create a notification div
    const notification = document.createElement('div');
    notification.style.position = 'fixed';
    notification.style.bottom = '10px';
    notification.style.right = '10px';
    notification.style.backgroundColor = 'rgba(255, 0, 0, 0.8)';
    notification.style.color = 'white';
    notification.style.padding = '10px';
    notification.style.borderRadius = '5px';
    notification.style.zIndex = '9999';
    notification.textContent = `Script update needed! Click here to update.`;

    // Add a clickable link
    notification.onclick = () => {
        window.open(updateURL, '_blank');
    };
    notification.style.cursor = 'pointer';

    document.body.appendChild(notification);
}

})();

QingJ © 2025

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