Vanis.io MOD

Vez's auto respawn and skin changer

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
Vez Plays
日安装量
0
总安装量
3,899
评分
1 0 0
版本
3.9.9
创建于
2020-08-30
更新于
2021-01-26
大小
18.4 KB
许可证
暂无
适用于

// ==UserScript==
// @name Vanis.io MOD
// @namespace Vez's Vanis.io mod
// @version 3.9.9
// @description Vez's auto respawn and skin changer
// @author vez
// @contact Discord: Vez#2777
// @match https://vanis.io/
// @grant none
// @connect https://raw.githubusercontent.com
// @resource https://raw.githubusercontent.com/taufik-nurrohman/color-picker/master/color-picker.min.css
// @run-at document-end
// ==/UserScript==

const VEX = `

HUD COLOR

𝘉𝘶𝘨𝘴 𝘸𝘪𝘭𝘭 𝘣𝘦 𝘧𝘪𝘹𝘦𝘥 𝘴𝘰𝘰𝘯.


SKIN CHANGER

SKIN_1


SKIN_2


SKIN_3


SKIN_4


SKIN ROTATOR

START
STOP

EXTRAS

AUTO_RESPAWN


SKIP_STATS


Youtube

Owner

Coded by Vez#3994


Discord


`;

const VEX_BTN = `

Menu
`;

document.querySelectorAll("#vanis-io_300x250")[0].innerHTML += VEX;
document.querySelectorAll(".social-container")[0].innerHTML += VEX_BTN;

setTimeout(()=>{

window._$ = selector => {

const nodes = document.querySelectorAll(selector);

return nodes.length == 1 ? nodes[0] : nodes;
}

window.VEX_PLAYER_SOCKET = null;
window.VEX_PLAYER_X = 0;
window.VEX_PLAYER_Y = 0;

window.VEX_PLAYER_PACKET_SPAWN = [];

window.VEX_PLAYER_SPAWN = () => {

window.VEX_PLAYER_SOCKET._send(window.VEX_PLAYER_PACKET_SPAWN);
};

window.VEX_PLAYER_MOVETO_X = 0;
window.VEX_PLAYER_MOVETO_Y = 0;

window.VEX_PLAYER_MOVE_STOP = false;
window.VEX_PLAYER_MOVE_TO = false;

window.VEX_PLAYER_MOVETO = (x,y) => {

const packet = new DataView(new ArrayBuffer(9));
packet.setUint8(0, 16);
packet.setInt32(1, x, true);
packet.setInt32(5, y, true);

window.VEX_PLAYER_SOCKET._send(packet);
}

window.VEX_PLAYER_SPLIT = () => {

const packet = new DataView(new ArrayBuffer(2));
packet.setUint8(0, 17);
packet.setUint8(1, window.VEX_PLAYER_X);

window.VEX_PLAYER_SOCKET._send(packet);
}

window.VEX_OVERLAY_TOGGLE = () => {

const state = (VEX_DOM_OVERLAY.style.right == "-325px") ? false : true;

if(state){

VEX_OVERLAY_HIDE();
return;
}

VEX_OVERLAY_SHOW();
};

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+")";
_$(".vex").style.background = VEX_HUD_COLOR;

if(_$(".discord").length !== 0)
_$(".discord").style.background = VEX_HUD_COLOR;

//_$(".vex").style.boxShadow = "0 0 4px 2px " + VEX_HUD_COLOR;
_$(".vex-button").style.background = VEX_HUD_COLOR;

if(_$(".progress-bar").length !== 0)
_$(".progress-bar").style.background = `repeating-linear-gradient(-45deg,${VEX_HUD_COLOR},${VEX_HUD_COLOR} 40px,#1e1e1e 0,#1e1e1e 80px)`

if(_$(".fade-box")[0])
_$(".fade-box")[0].style.background = VEX_HUD_COLOR;

if(_$(".fade-box")[1])
_$(".fade-box")[1].style.background = 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);
};

const VEX_OVERLAY_SHOW = () => {

VEX_DOM_OVERLAY.style.right = "0px";
};

const VEX_OVERLAY_HIDE = () => {

VEX_DOM_OVERLAY.style.right = "-325px";
};

// VEX_DOM_OVERLAY.addEventListener('mouseenter', event => {

// VEX_OVERLAY_SHOW();
// }, false);

// VEX_DOM_OVERLAY.addEventListener('mouseleave', event => {

// VEX_OVERLAY_HIDE();
// }, false);

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){

if(VEX_DOM_EXTRAS_SS.checked == true)
VEX_DOM_EXTRAS_SS.click();

VEX_EXTRAS_AR_INTERVAL = setInterval(()=>{

if(_$(".container")[2].style.display != "none"){

if(_$("button.continue").length === undefined && _$("button.continue").length !== 0){

_$("button.continue").click();
_$("#overlay").style.display = "none";

_$("#overlay").dispatchEvent(new KeyboardEvent("keydown",{

altKey: false,
bubbles: true,
cancelBubble: false,
cancelable: true,
charCode: 0,
code: "Escape",
composed: true,
ctrlKey: false,
currentTarget: null,
defaultPrevented: false,
detail: 0,
eventPhase: 0,
isComposing: false,
isTrusted: true,
key: "Escape",
keyCode: 27,
location: 0,
metaKey: false,
path: [document.body, document, document, window],
repeat: false,
returnValue: true,
shiftKey: false,
sourceCapabilities: new InputDeviceCapabilities({firesTouchEvents: false}),
srcElement: document.body,
target: document.body,
type: "keydown",
view: window,
which: 27
}));
_$("canvas#canvas").dispatchEvent(new KeyboardEvent("keydown",{

altKey: false,
bubbles: true,
cancelBubble: false,
cancelable: true,
charCode: 0,
code: "Escape",
composed: true,
ctrlKey: false,
currentTarget: null,
defaultPrevented: false,
detail: 0,
eventPhase: 0,
isComposing: false,
isTrusted: true,
key: "Escape",
keyCode: 27,
location: 0,
metaKey: false,
path: [document.body, document, document, window],
repeat: false,
returnValue: true,
shiftKey: false,
sourceCapabilities: new InputDeviceCapabilities({firesTouchEvents: false}),
srcElement: document.body,
target: document.body,
type: "keydown",
view: window,
which: 27
}))

_$("#overlay").dispatchEvent(new KeyboardEvent("keyup",{

altKey: false,
bubbles: true,
cancelBubble: false,
cancelable: true,
charCode: 0,
code: "Escape",
composed: true,
ctrlKey: false,
currentTarget: null,
defaultPrevented: false,
detail: 0,
eventPhase: 0,
isComposing: false,
isTrusted: true,
key: "Escape",
keyCode: 27,
location: 0,
metaKey: false,
path: [document.body, document, document, window],
repeat: false,
returnValue: true,
shiftKey: false,
sourceCapabilities: new InputDeviceCapabilities({firesTouchEvents: false}),
srcElement: document.body,
target: document.body,
type: "keydown",
view: window,
which: 27
}));
_$("canvas#canvas").dispatchEvent(new KeyboardEvent("keyup",{

altKey: false,
bubbles: true,
cancelBubble: false,
cancelable: true,
charCode: 0,
code: "Escape",
composed: true,
ctrlKey: false,
currentTarget: null,
defaultPrevented: false,
detail: 0,
eventPhase: 0,
isComposing: false,
isTrusted: true,
key: "Escape",
keyCode: 27,
location: 0,
metaKey: false,
path: [document.body, document, document, window],
repeat: false,
returnValue: true,
shiftKey: false,
sourceCapabilities: new InputDeviceCapabilities({firesTouchEvents: false}),
srcElement: document.body,
target: document.body,
type: "keydown",
view: window,
which: 27
}))

window.VEX_PLAYER_SPAWN();
}
}
}, 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 != "none"){

if(_$("button.continue").length === undefined && _$("button.continue").length !== 0)
_$("button.continue").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;
};


WebSocket.prototype._send = WebSocket.prototype.send
WebSocket.prototype.send = function(data) {

if(data.byteLength > 9 && data[0] == 1)
VEX_PLAYER_PACKET_SPAWN = data;

window.VEX_PLAYER_SOCKET = this;

if(data.byteLength == 9){

if(data.getUint8() == 16){

window.VEX_PLAYER_X = data.getInt32(1, true);
window.VEX_PLAYER_Y = data.getInt32(5, true);

if(window.VEX_PLAYER_MOVE_STOP && window.VEX_PLAYER_MOVE_TO){

window.VEX_PLAYER_MOVETO(window.VEX_PLAYER_MOVETO_X, window.VEX_PLAYER_MOVETO_Y);
return;
}

if(window.VEX_PLAYER_MOVE_STOP)
return;
}
}

this._send(data);
};


document.addEventListener('click', event => {

console.log(event)
}, false)

setInterval(()=>{

VEX_HUD_COLOR_FUNC();
}, 200);
init();

}, 25);