您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
X-RAY Menu
- // ==UserScript==
- // @name Matrix Menu V2 | ESP & X-Ray | Wireframe Players&World
- // @namespace http://tampermonkey.net/
- // @version 0.2.1
- // @description X-RAY Menu
- // @author Whoami
- // @match *://voxiom.io/*
- // @require https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js
- // @icon https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif
- // @grant none
- // @license MIT
- // ==/UserScript==
- const originalArrayPush = Array.prototype.push;
- const THREE = window.THREE;
- const prototype_ = {
- world: {
- wireframe: false,
- visibleOnDamage: true,
- notVisible: true,
- depthFunc: 2
- },
- player: {
- opacity: 0.5,
- wireframe: false
- }
- };
- Array.prototype.push = function(...args) {
- if (args[0] && args[0].material && args[0].material.type && args[0].material.type === "ShaderMaterial") {
- const material = args[0].material;
- material.opacity = 0;
- material.transparent = prototype_.world.visibleOnDamage;
- material.side = 2;
- material.depthFunc = prototype_.world.depthFunc;
- material.wireframe = prototype_.world.wireframe;
- material.visible = prototype_.world.notVisible;
- }
- if (args[0] && args[0].material && args[0].material.type && args[0].material.type === "MeshBasicMaterial") {
- const material = args[0].material;
- material.opacity = prototype_.player.opacity;
- material.wireframe = prototype_.player.wireframe;
- }
- return originalArrayPush.apply(this, args);
- };
- const style = document.createElement('style');
- style.innerHTML = `
- .menuHeaderText1 {
- font-size: 35px;
- font-weight: 900;
- text-align: center !important;
- animation: rgbAnimation 0.5s infinite alternate;
- }
- .menuItemTitle1 {
- font-size: 18px;
- animation: rgbAnimation 0.5s infinite alternate;
- }
- @keyframes rgbAnimation {
- 0% { color: rgb(255, 0, 0); }
- 25% { color: rgb(255, 255, 0); }
- 50% { color: rgb(0, 255, 0); }
- 75% { color: rgb(0, 255, 255); }
- 100% { color: rgb(255, 0, 255); }
- }
- .menuItem1:hover img {
- transform: scale(1.1);
- }
- #menuContainer {
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- background-color: #212121;
- padding: 10px;
- border-radius: 10px;
- border: revert-layer;
- z-index: 1000;
- max-width: 400px;
- font-size: 14px;
- line-height: 1.5;
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
- }
- #menuContainer * {
- -webkit-font-smoothing: antialiased;
- font-smoothing: antialiased;
- }
- #menuContainer label {
- color: white !important;
- font-weight: bold;
- }
- .tab {
- display: flex;
- justify-content: space-around;
- margin-bottom: 10px;
- }
- .tab button {
- background-color: #f0f0f0;
- border: 1px solid #ccc;
- padding: 3px 5px;
- width: 100%;
- cursor: pointer;
- }
- .tab button.active {
- background-color: #ccc;
- }
- .tabcontent {
- display: none;
- margin-top: 10px;
- }
- .tabcontent.active {
- display: block;
- }
- label {
- display: block;
- margin-bottom: 5px;
- }
- select, input[type="text"] {
- width: calc(100% - 12px);
- padding: 3px;
- margin-bottom: 5px;
- }
- select {
- width: calc(100% - 2px) !important;
- }
- .header {
- position: relative;
- text-align: center;
- }
- .headerContent {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- }
- .header h2 {
- margin: 0;
- position: relative;
- bottom: -100px;
- }
- .headerImage {
- width: 100%;
- height: auto;
- margin-top: -50px;
- border-radius: 10px;
- object-fit: cover;
- }
- @import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900&display=swap);
- @import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900&display=swap);
- div div b {
- font-family: Montserrat;
- }
- h2.menuHeaderText1 {
- display: none;
- }
- button.active {
- font-family: Space Grotesk;
- }
- div div button {
- font-family: Space Grotesk;
- background-color: #7300a8;
- border-color: #000000;
- color: #eceff1;
- border-radius: 3px;
- }
- div div label {
- font-family: Montserrat;
- }
- div div select {
- font-family: Space Grotesk;
- background-color: #000000;
- color: #f5f5f5;
- text-decoration: overline;
- border-color: #7300a8;
- border-radius: 3px;
- text-align: center;
- height: 40px;
- }
- div div input {
- background-color: #7300a8;
- border-color: #000000;
- color: #ffffff;
- border-radius: 6px;
- }
- div div div {
- background-color: #000000;
- }
- div.sc-iJKOTD.jqbzkO {
- display: none;
- }
- a.sc-giYglK.bzRdHa {
- display: none;
- }
- img.sc-pVTFL.iRqeFU {
- display: none;
- }
- #menuContainer {
- width: 500px;
- }
- img.sc-ibSMNl.emCBjU {
- display: none;
- }
- div.sc-lbCmg.kLCLJb {
- text-decoration: overline;
- font-family: Montserrat;
- }
- div.sc-bgMUWu.hqpBqs {
- font-family: Montserrat;
- }
- div.sc-ivsNig.kqMamr {
- font-family: Montserrat;
- }
- div.sc-bxYNtK.ekaCUa {
- font-family: Montserrat;
- }
- div.sc-inrDdN.ehvxZP {
- font-family: Montserrat;
- align-items: center;
- }
- div.sc-fBgqEL.ljNuSc {
- background-color: #212121;
- }
- div.sc-ikJyIC.vCrTy {
- background-color: #7300a8;
- opacity: 0.4;
- }
- div.sc-jwrNVz.fVmNa {
- background-color: #7300a8;
- border-radius: 5px;
- height: 50px;
- align-items: center;
- padding-left: 40px;
- }
- div.sc-hnCQzQ.gFCsYN {
- font-family: Montserrat;
- }
- a.sc-cgLTVH.hqKrdE {
- font-family: Montserrat;
- }
- `;
- document.head.appendChild(style);
- const menuContainer = document.createElement('div');
- menuContainer.id = 'menuContainer';
- document.body.appendChild(menuContainer);
- const header = document.createElement('div');
- header.innerHTML = `
- <div class="header">
- <h2 class='menuHeaderText1'>WHOAMI CHEATS</h2>
- </div>
- <b>"O" Exit</b>
- `;
- menuContainer.appendChild(header);
- const tab = document.createElement('div');
- tab.className = 'tab';
- tab.innerHTML = `
- <button class="tablinks active" onclick="openTab(event, 'mainMenu')">Main Menu</button>
- <button class="tablinks" onclick="openTab(event, 'players')">Players</button>
- <button class="tablinks" onclick="openTab(event, 'world')">World</button>
- `;
- menuContainer.appendChild(tab);
- const mainMenu = document.createElement('div');
- mainMenu.id = 'mainMenu';
- mainMenu.className = 'tabcontent active';
- mainMenu.innerHTML = `
- <label for="opacity"><span class='menuItemTitle1'>Opacity:</span></label>
- <select id="opacity">
- <option value="0">0</option>
- <option value="0.1">0.1</option>
- <option value="0.2">0.2</option>
- <option value="0.3">0.3</option>
- <option value="0.4">0.4</option>
- <option value="0.5">0.5</option>
- <option value="0.6">0.6</option>
- <option value="0.7">0.7</option>
- <option value="0.8">0.8</option>
- <option value="0.9">0.9</option>
- <option value="1">1</option>
- </select>
- <button onclick="resetSettings()">Reset to Defaults</button>
- `;
- menuContainer.appendChild(mainMenu);
- const players = document.createElement('div');
- players.id = 'players';
- players.className = 'tabcontent';
- players.innerHTML = `
- <label for="playerOpacity"><span class='menuItemTitle1'>Player Opacity:</span></label>
- <select id="playerOpacity">
- <option value="0">0</option>
- <option value="0.1">0.1</option>
- <option value="0.2">0.2</option>
- <option value="0.3">0.3</option>
- <option value="0.4">0.4</option>
- <option value="0.5">0.5</option>
- <option value="0.6">0.6</option>
- <option value="0.7">0.7</option>
- <option value="0.8">0.8</option>
- <option value="0.9">0.9</option>
- <option value="1">1</option>
- </select>
- `;
- menuContainer.appendChild(players);
- const world = document.createElement('div');
- world.id = 'world';
- world.className = 'tabcontent';
- world.innerHTML = `
- <label for="wireframe"><span class='menuItemTitle1'>World Wireframe:</span></label>
- <select id="wireframe">
- <option value="true">True</option>
- <option value="false" selected>False</option>
- </select>
- `;
- menuContainer.appendChild(world);
- function openTab(evt, tabName) {
- const tabcontent = document.getElementsByClassName('tabcontent');
- for (let i = 0; i < tabcontent.length; i++) {
- tabcontent[i].style.display = 'none';
- tabcontent[i].classList.remove('active');
- }
- const tablinks = document.getElementsByClassName('tablinks');
- for (let i = 0; i < tablinks.length; i++) {
- tablinks[i].classList.remove('active');
- }
- document.getElementById(tabName).style.display = 'block';
- document.getElementById(tabName).classList.add('active');
- evt.currentTarget.classList.add('active');
- }
- document.getElementById('opacity').addEventListener('change', function() {
- prototype_.player.opacity = parseFloat(this.value);
- });
- document.getElementById('playerOpacity').addEventListener('change', function() {
- prototype_.player.opacity = parseFloat(this.value);
- });
- document.getElementById('wireframe').addEventListener('change', function() {
- prototype_.world.wireframe = this.value === 'true';
- });
- function resetSettings() {
- prototype_.world.wireframe = false;
- prototype_.player.opacity = 0.5;
- prototype_.world.visibleOnDamage = true;
- prototype_.world.notVisible = true;
- prototype_.world.depthFunc = 2;
- document.getElementById('opacity').value = '0.5';
- document.getElementById('playerOpacity').value = '0.5';
- document.getElementById('wireframe').value = 'false';
- }