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