Voxiom.IO Menu

Press F2 to open and close the menu

Από την 18/01/2024. Δείτε την τελευταία έκδοση.

// ==UserScript==
// @name         Voxiom.IO Menu
// @namespace    http://tampermonkey.net/
// @version      2024-01-18
// @description  Press F2 to open and close the menu
// @author       anonimbiri
// @match        https://voxiom.io/*
// @require https://update.greasyforks.org/scripts/482771/1313165/Malayala%20Kit.js
// @icon         https://www.google.com/s2/favicons?sz=64&domain=voxiom.io
// @grant        none
// ==/UserScript==

const AnonimbiriAPI = {
    esp: false,
    objects: [],
    playersObjects: [],
    debug: false,
};

var toastManager = new MalayalaKit.ToastManager();

const kit = new MalayalaKit.CreateMenu({
    title: "Voxiom Menu",
    icon: "",
    size: { width: 500, height: 400 },
    position: { top: 50, left: 50 },
    hotkey: {
        keyCode: 113,
        ctrlKey: false,
        altKey: false,
        shiftKey: false
    },
});

const general = new MalayalaKit.Tab("General");
general.addSwitch({
    label: "Wireframe",
    value: false,
    onchange: (value) => {
        for (var i = 0; i < AnonimbiriAPI.objects.length; i++) {
            AnonimbiriAPI.objects[i].wireframe = value;
        }
        toastManager.showToast({ message: 'Wireframe is ' + (value ? 'ON' : 'OFF'), type: 'info' });
    },
});
general.addSwitch({
    label: "Players Red",
    value: false,
    onchange: (value) => {
        AnonimbiriAPI.esp = value;
        toastManager.showToast({ message: 'Players Red is ' + (value ? 'ON' : 'OFF'), type: 'info' });
    },
});
kit.addTab(general);

WeakMap.prototype.set = new Proxy(WeakMap.prototype.set, {
    apply(target, thisArgs, [object]) {
        if (object.fog == false && object.type != 'MeshBasicMaterial' && object.name != 'Material' && object.type != 'MeshStandardMaterial') AnonimbiriAPI.objects.push(object);
        if (object.fog == false && object.name == 'Material' && object.type == 'MeshBasicMaterial') AnonimbiriAPI.playersObjects.push(object);
        return Reflect.apply( ...arguments );
    }
});

window.requestAnimationFrame = new Proxy(window.requestAnimationFrame, {
    apply(target, prop, args) {
        if(AnonimbiriAPI.esp){
            for (var i = 0; i < AnonimbiriAPI.objects.length; i++) {
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('alphaTest') && (AnonimbiriAPI.playersObjects[i].alphaTest = 1);
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('depthTest') && (AnonimbiriAPI.playersObjects[i] = false);
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('color') && (AnonimbiriAPI.playersObjects[i].color.setRGB(1, 0, 0));
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('clipShadows') && (AnonimbiriAPI.playersObjects[i].clipShadows = true);
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('clipIntersection') && (AnonimbiriAPI.playersObjects[i].clipIntersection = true);
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('vertexTangents') && (AnonimbiriAPI.playersObjects[i].vertexTangents = true);
                AnonimbiriAPI.playersObjects[i]?.hasOwnProperty('vertexColors') && (AnonimbiriAPI.playersObjects[i].vertexColors = true);
            }
        }
        return Reflect.apply(target, prop, args);
    }
});

window.AnonimbiriAPI = AnonimbiriAPI;
kit.render();
长期地址
遇到问题?请前往 GitHub 提 Issues。