您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
VEX - Vanis.io Extended
// ==UserScript== // @name Vanis.io Extended // @namespace VEX // @version 0.1 // @description VEX - Vanis.io Extended // @author l3mpik, Diszy // @match https://vanis.io/ // @grant none // @run-at document-end // @resource https://cdn.jsdelivr.net/npm/sweetalert2@9 // ==/UserScript== /* Please do not skid our code, we worked hard on this. If you want to copy something, message us first on Discord to get permission. */ /* Please do not skid our code, we worked hard on this. If you want to copy something, message us first on Discord to get permission. */ /* Please do not skid our code, we worked hard on this. If you want to copy something, message us first on Discord to get permission. */ /* Please do not skid our code, we worked hard on this. If you want to copy something, message us first on Discord to get permission. */ /* Please do not skid our code, we worked hard on this. If you want to copy something, message us first on Discord to get permission. */ const VEX = ` <style> .vex { width : 350px; height: 800px; right: 2%; position: fixed; top: calc(50% - 400px); display: none; flex-wrap : wrap; justify-content: center; background: rgba(30, 30, 30, .75); border: 1px solid red; font-family : Monospace; z-index: 9999; } .vex > .vex-hud { width: 90%; display : flex; flex-wrap: wrap; justify-content: center; } .vex > .vex-hud > p { width: 100%; text-align: center; color : white; } .vex > .vex-hud > input { width: 100%; background : rgba(30, 30, 30, .65); border: 1px solid rgba(30, 30, 30, 1); text-align: center; color: #ffffff; outline : 0; box-shadow: none; } .vex > .vex-skins { width: 90%; display : flex; flex-wrap: wrap; justify-content: center; } .vex > .vex-skins > .vex-skins-item { width: 100%; } .vex > .vex-skins > .vex-skins-item > p { width: 100%; text-align: center; color : white; } .vex > .vex-skins > .vex-skins-item > input { width: 100%; background : rgba(30, 30, 30, .65); border: 1px solid rgba(30, 30, 30, 1); text-align: center; color: #ffffff; outline : 0; box-shadow: none; } .vex > .vex-controls { width: 90%; display : flex; flex-wrap: wrap; justify-content: center; } .vex > .vex-controls > p { width: 100%; text-align: center; color : white; } .vex > .vex-controls > button { width: 50%; background : rgba(30, 30, 30, .65); border: 1px solid rgba(30, 30, 30, 1); text-align: center; color: #ffffff; outline : 0; box-shadow: none; } #vex-r-start {} #vex-r-start.active { color: lime; } #vex-r-start:hover { color: lime; } #vex-r-stop {} #vex-r-stop.active { color: tomato; } #vex-r-stop:hover { color: tomato; } .vex > .vex-extras { width: 90%; display : flex; flex-wrap: wrap; justify-content: center; } .vex > .vex-extras { width: 90%; text-align: center; color: white; } .vex > .vex-extras > .vex-extras-item { width: 100%; display: inline-flex; } .vex > .vex-extras > .vex-extras-item > p { width: 80%; text-align: center; color : white; } .vex > .vex-extras > .vex-extras-item > input { margin-left: 10px; background : rgba(30, 30, 30, .65); border: 1px solid rgba(30, 30, 30, 1); text-align: center; color: #ffffff; outline : 0; box-shadow: none; } </style> <div class="vex"> <div class="vex-hud"> <h1>HUD WILL BE UPDATED LATER</h1> <p>Vanis HUD Color</p> <input id="vex-hc" type="text" placeholder="hex/rgb/rgba ex. #ff0000 rgb(255, 0, 0)"> </div> <div class="vex-skins"> <div class="vex-skins-item"> <p>Skin URL 1</p> <input id="vex-s1" type="text" placeholder="https://skins.vanis.io"> </div> <div class="vex-skins-item"> <p>Skin URL 2</p> <input id="vex-s2" type="text" placeholder="https://skins.vanis.io"> </div> <div class="vex-skins-item"> <p>Skin URL 3</p> <input id="vex-s3" type="text" placeholder="https://skins.vanis.io"> </div> <div class="vex-skins-item"> <p>Skin URL 4</p> <input id="vex-s4" type="text" placeholder="https://skins.vanis.io"> </div> </div> <div class="vex-controls"> <button id="vex-r-start">Start Skinchanger</button> <button id="vex-r-stop">Stop Skinchanger</button> </div> <div class="vex-extras"> <div class="vex-extras-item"> <p>Auto respawn</p> <input id="vex-e-ar" type="checkbox"> </div> <div class="vex-extras-item"> <p>Skip stats</p> <input id="vex-e-ss" type="checkbox"> </div> </div> <p>Credits to l3mpik & Diszy</p> </div> `; setTimeout(()=>{ window.showHud = () => { document.querySelector(".vex").style.display ="block"; document.querySelector("#toggleHud").setAttribute("onclick", "hideHud()"); } window.hideHud = () => { document.querySelector(".vex").style.display ="none"; document.querySelector("#toggleHud").setAttribute("onclick", "showHud()"); } document.querySelectorAll("#vanis-io_300x250")[0].innerHTML += VEX; document.querySelector(".social-container").innerHTML += '<a id="toggleHud" style="background:#c00;cursor:pointer;outline:none;border:0;padding:5px;color:#dadada;box-shadow:0 0 1px 1px #000;border-radius:4px;font-size:16px;text-shadow:1px 1px 2px #000;margin-left:10px;" onclick="showHud()">Toggle Hud</a>'; window._$ = selector => { const nodes = document.querySelectorAll(selector); return nodes.length == 1 ? nodes[0] : nodes; } let VEX_HUD_COLOR = ""; let VEX_SKIN1 = ""; let VEX_SKIN2 = ""; let VEX_SKIN3 = ""; let VEX_SKIN4 = ""; let VEX_ROTATOR_STATE = false; const VEX_ROTATOR_DELAY = 1000; let VEX_EXTRAS_AR = false; let VEX_EXTRAS_AR_INTERVAL = null; let VEX_EXTRAS_SS = false; let VEX_EXTRAS_SS_INTERVAL = null; const VEX_DOM_OVERLAY = _$(".vex"); const VEX_DOM_HC = _$("#vex-hc"); const VEX_DOM_SKIN_INPUT = _$("#skinurl"); const VEX_DOM_SKIN1 = _$("#vex-s1"); const VEX_DOM_SKIN2 = _$("#vex-s2"); const VEX_DOM_SKIN3 = _$("#vex-s3"); const VEX_DOM_SKIN4 = _$("#vex-s4"); const VEX_DOM_ROTATOR_START = _$("#vex-r-start"); const VEX_DOM_ROTATOR_STOP = _$("#vex-r-stop"); const VEX_DOM_EXTRAS_AR = _$("#vex-e-ar"); const VEX_DOM_EXTRAS_SS = _$("#vex-e-ss"); const VEX_HUD_COLOR_FUNC = () => { for(const element of _$(".fade")) element.style.background = VEX_HUD_COLOR; _$("#overlay").style.background = "radial-gradient("+VEX_HUD_COLOR+" 300px,"+VEX_HUD_COLOR+")"; }; let VEX_ROTATOR_INTERVAL = null; let VEX_ROTATOR_CURRENT = 1; const VEX_ROTATOR_FUNC_NEXT = () => { if(VEX_ROTATOR_CURRENT < 5) VEX_ROTATOR_CURRENT += 1; if(VEX_ROTATOR_CURRENT == 5) VEX_ROTATOR_CURRENT = 1; VEX_DOM_SKIN_INPUT.value = localStorage.getItem("vex-s"+VEX_ROTATOR_CURRENT); }; const VEX_ROTATOR_FUNC_PREV = () => { if(VEX_ROTATOR_CURRENT < 5) VEX_ROTATOR_CURRENT -= 1; if(VEX_ROTATOR_CURRENT == 0) VEX_ROTATOR_CURRENT = 1; VEX_DOM_SKIN_INPUT.value = localStorage.getItem("vex-s"+VEX_ROTATOR_CURRENT); }; VEX_DOM_HC.addEventListener("change", event => { if(event.target.value == localStorage.getItem("vex-hc")) return; localStorage.setItem("vex-hc", event.target.value); VEX_HUD_COLOR = localStorage.getItem("vex-hc"); VEX_HUD_COLOR_FUNC(); }, false) VEX_DOM_SKIN1.addEventListener("change", event => { if(event.target.value == localStorage.getItem("vex-s1")) return; localStorage.setItem("vex-s1", event.target.value); VEX_SKIN1 = localStorage.getItem("vex-s1"); }, false) VEX_DOM_SKIN2.addEventListener("change", event => { if(event.target.value == localStorage.getItem("vex-s1")) return; localStorage.setItem("vex-s2", event.target.value); VEX_SKIN2 = localStorage.getItem("vex-s2"); }, false) VEX_DOM_SKIN3.addEventListener("change", event => { if(event.target.value == localStorage.getItem("vex-s1")) return; localStorage.setItem("vex-s3", event.target.value); VEX_SKIN3 = localStorage.getItem("vex-s3"); }, false) VEX_DOM_SKIN4.addEventListener("change", event => { if(event.target.value == localStorage.getItem("vex-s1")) return; localStorage.setItem("vex-s4", event.target.value); VEX_SKIN4 = localStorage.getItem("vex-s4"); }, false) VEX_DOM_ROTATOR_START.addEventListener('click', event => { VEX_ROTATOR_STATE = true; VEX_DOM_ROTATOR_STOP.className = ""; event.target.className += " active"; VEX_ROTATOR_CURRENT = 1; VEX_ROTATOR_INTERVAL = setInterval(VEX_ROTATOR_FUNC_NEXT, VEX_ROTATOR_DELAY); }, false); VEX_DOM_ROTATOR_STOP.addEventListener('click', event => { VEX_ROTATOR_STATE = false; VEX_DOM_ROTATOR_START.className = ""; event.target.className += " active"; VEX_ROTATOR_CURRENT = 1; clearInterval(VEX_ROTATOR_INTERVAL); }, false); VEX_DOM_EXTRAS_AR.addEventListener('change', event => { const state = event.target.checked; if(state == true){ VEX_EXTRAS_AR_INTERVAL = setInterval(()=>{ if(!_$(".container")[2].style.display){ _$("button.continue").click(); _$("button#play-button").click(); } }, 500); return; } clearInterval(VEX_EXTRAS_AR_INTERVAL); VEX_EXTRAS_AR_INTERVAL = null; }, false); VEX_DOM_EXTRAS_SS.addEventListener('change', event => { const state = event.target.checked; if(state == true){ VEX_EXTRAS_SS_INTERVAL = setInterval(()=>{ if(!_$(".container")[2].style.display){ _$("button.continue").click(); _$("button#play-button").click(); } }, 500); return; } clearInterval(VEX_EXTRAS_SS_INTERVAL); VEX_EXTRAS_SS_INTERVAL = null; }, false); const init = () => { VEX_DOM_HC.value = localStorage.getItem("vex-hc") || ""; VEX_HUD_COLOR = VEX_DOM_HC.value; VEX_HUD_COLOR_FUNC(); VEX_DOM_SKIN1.value = localStorage.getItem("vex-s1") || ""; VEX_DOM_SKIN2.value = localStorage.getItem("vex-s2") || ""; VEX_DOM_SKIN3.value = localStorage.getItem("vex-s3") || ""; VEX_DOM_SKIN4.value = localStorage.getItem("vex-s4") || ""; VEX_DOM_ROTATOR_STOP.click(); VEX_DOM_EXTRAS_AR.checked = localStorage.getItem("vex-e-ar") || false; VEX_DOM_EXTRAS_SS.checked = localStorage.getItem("vex-e-ss") || false; }; init(); }, 5000);