Greasy Fork is available in English.

kirka.io ESP

ESP behind the wall players show cheat for kirka.io

// ==UserScript==
// @name         kirka.io ESP
// @namespace    http://tampermonkey.net/
// @version      2024-01-30
// @description  ESP behind the wall players show cheat for kirka.io
// @author       anonimbiri
// @match        https://kirka.io/*
// @require https://update.greasyfork.org/scripts/482771/1321969/Malayala%20Kit.js
// @require      https://unpkg.com/three@latest/build/three.min.js
// @icon         https://www.google.com/s2/favicons?sz=64&domain=kirka.io
// @lisans Mid
// @grant        none
// ==/UserScript==


const AnonimbiriAPI = {
    THREE: window.THREE,
    chams: false,
    skin: false,
    scene: null,
    camera: null,
    gun: null,
    debug: false,
};

delete window.THREE;

var toastManager = new MalayalaKit.ToastManager();
const kit = new MalayalaKit.CreateMenu({
    title: "Kirka Menu",
    icon: "",
    size: { width: 500, height: 400 },
    position: { top: 50, left: 50 },
    hotkey: {
        keyCode: 113,
        ctrlKey: false,
        altKey: false,
        shiftKey: false
    },
    pointerLock: true
});
const general = new MalayalaKit.Tab("General");
general.addSwitch({
    label: "Player Chams",
    value: false,
    onchange: (value) => {
        AnonimbiriAPI.chams = value;
        toastManager.showToast({ message: 'Player Chams is ' + (value ? 'ON' : 'OFF'), type: 'info' });
    },
});
general.addSwitch({
    label: "Rapid Fire",
    value: false,
    onchange: (value) => {
        window.Date.now = new Proxy(Date.now, {
            apply: (target, thisArg, argumentsList) => (target.apply(thisArg, argumentsList) * (value ? 2123 : 1 / 2123))
        });
        toastManager.showToast({ message: 'Rapid Fire is ' + (value ? 'ON' : 'OFF'), type: 'info' });
    },
});
/*general.addSwitch({
    label: "Skin Changer",
    value: false,
    onchange: (value) => {
        AnonimbiriAPI.skin = value;
        toastManager.showToast({ message: 'Skin Changer is ' + (value ? 'ON' : 'OFF'), type: 'info' });
    },
});*/
kit.addTab(general);

WeakMap.prototype.set = new Proxy(WeakMap.prototype.set, {
    apply(target, thisArgs, [object]) {

        if (object && typeof object === 'object'){
            if (object.type == 'Scene' && object.autoUpdate === false){
                AnonimbiriAPI.debug && console.log("%cScene Found: ", "color: pink", object);
                AnonimbiriAPI.scene = object;
            }else if (object.type == 'Scene' && object.autoUpdate === true){
                AnonimbiriAPI.debug && console.log("%cCamera Found: ", "color: pink", object.children[0].children[0]);
                AnonimbiriAPI.camera = object.children[0].children[0];
            }else if(object.type == 1009 && object.image && object.image.currentSrc && !object.image.currentSrc.includes("data:image")){
                AnonimbiriAPI.debug && console.log("%cSkin Found: ", "color: pink", object);
                AnonimbiriAPI.gun = object;
            }
        }

        return Reflect.apply(...arguments);
    }
});
window.requestAnimationFrame = new Proxy(window.requestAnimationFrame, {
    apply(target, prop, args) {
        if(AnonimbiriAPI.gun && AnonimbiriAPI.skin){
            AnonimbiriAPI.gun.image.currentSrc = "https://kirka.io/assets/img/texture.61357e1e.webp";
            AnonimbiriAPI.gun.image.src = "https://kirka.io/assets/img/texture.61357e1e.webp";
        }
        if(AnonimbiriAPI.chams){
            AnonimbiriAPI.scene.children.filter(object => {
                return object.type == 'Group'
            }).forEach(player => {
                const character = player.children[0].children[0].children[1];
                if (
                    player.entity?.hasOwnProperty('colyseusObject') &&
                    player.entity?.colyseusObject?.hasOwnProperty('team')
                ) {
                    const color = player.entity.colyseusObject.team === 'blue' ? [0, 0, 1] : [1, 0, 0];
                    character.material.alphaTest = 1;
                    character.material.depthTest = false;
                    character.material.fog = false;
                    character.material.color.setRGB(...color);
                } else {
                    character.material.alphaTest = 1;
                    character.material.depthTest = false;
                    character.material.fog = false;
                    character.material.color.setRGB(1, 0, 0);
                }
                AnonimbiriAPI.debug && console.log("%cPlayer: ", "color: pink", player);
            });
        }
        return Reflect.apply(target, prop, args);
    }
});

window.AnonimbiriAPI = AnonimbiriAPI;
kit.render();