Greasy Fork is available in English.

EvoWorld.io MEGAHACK

Cheat per evoworld/flyordie con oltre 25 hack e mod hack emoji per evoworld! Il cheat più grande con un codice buono e comprensibile. Per favore, supporta questo progetto, ho fatto tutto questo DA SOLO! È ancora una versione beta.

// ==UserScript==
// @name    EvoWorld.io MEGAHACK
// @name:ru EvoWorld.io MEGAHACK
// @name:en EvoWorld.io MEGAHACK
// @name:es EvoWorld.io MEGAHACK
// @name:fr EvoWorld.io MEGAHACK
// @name:de EvoWorld.io MEGAHACK
// @name:it EvoWorld.io MEGAHACK
// @name:pt EvoWorld.io MEGAHACK
// @name:zh EvoWorld.io MEGAHACK
// @name:ja EvoWorld.io MEGAHACK
// @name:ko EvoWorld.io MEGAHACK
// @name:ar EvoWorld.io MEGAHACK
// @name:hi EvoWorld.io MEGAHACK
// @name:tr EvoWorld.io MEGAHACK
// @namespace    http://tampermonkey.net/
// @version      1.9.0.2
// @description    Cheat for evoworld/flyordie with 25+ hacks and emoji hack mod for evoworld! The largest cheat with good and understandable code. Please support this project, I did all this ALONE! It's still a beta version.
// @description:ru Чит для evoworld/flyordie в котором есть 25+ хаков и emoji hack мод для evoworld! Самый крупный чит с хорошим и понятным кодом. Пожалуйста, поддержите этот проект, я делал всё это В ОДИНОЧКУ! Пока это ещё beta версия.
// @description:en Cheat for evoworld/flyordie with 25+ hacks and emoji hack mod for evoworld! The largest cheat with good and understandable code. Please support this project, I did all this ALONE! It's still a beta version.
// @description:es Trampa para evoworld/flyordie con 25+ hacks y emoji hack mod para evoworld! La trampa más grande con código bueno y comprensible. Por favor, apoya este proyecto, ¡lo hice todo SOLO! Todavía es una versión beta.
// @description:fr Triche pour evoworld/flyordie avec plus de 25 hacks et un mod hack emoji pour evoworld ! Le plus grand cheat avec un code bon et compréhensible. S'il vous plaît, soutenez ce projet, j'ai fait tout cela SEUL ! C'est encore une version bêta.
// @description:de Cheat für evoworld/flyordie mit 25+ Hacks und Emoji-Hack-Mod für evoworld! Der größte Cheat mit gutem und verständlichem Code. Bitte unterstützen Sie dieses Projekt, ich habe das alles ALLEIN gemacht! Es ist immer noch eine Beta-Version.
// @description:it Cheat per evoworld/flyordie con oltre 25 hack e mod hack emoji per evoworld! Il cheat più grande con un codice buono e comprensibile. Per favore, supporta questo progetto, ho fatto tutto questo DA SOLO! È ancora una versione beta.
// @description:pt Cheat para evoworld/flyordie com mais de 25 hacks e mod hack de emoji para evoworld! O maior cheat com um código bom e compreensível. Por favor, apoie este projeto, eu fiz tudo isso SOZINHO! Ainda é uma versão beta.
// @description:zh 为evoworld/flyordie提供25+黑客和emoji黑客模块的作弊!这是最大的作弊,代码好且易懂。请支持这个项目,我是独自一人完成的!目前仍是测试版。
// @description:ja evoworld/flyordie用の25以上のハックとemojiハックモッドを含むチート!理解しやすい良いコードを持つ最大のチートです。このプロジェクトをサポートしてください、私はこれをすべて一人で行いました!まだベータ版です。
// @description:ko evoworld/flyordie를 위한 25개 이상의 핵과 evoworld를 위한 이모지 핵 모드가 포함된 치트! 좋은 이해하기 쉬운 코드로 된 가장 큰 치트입니다. 이 프로젝트를 지원해 주세요, 저는 이 모든 것을 혼자 했습니다! 아직 베타 버전입니다.
// @description:ar غش ل evoworld/flyordie مع أكثر من 25 اختراقات و mod اختراق emoji ل evoworld! أكبر غش مع كود جيد ومفهوم. يرجى دعم هذا المشروع، لقد فعلت كل هذا وحدي! لا يزال في النسخة التجريبية.
// @description:hi evoworld/flyordie के लिए 25+ हैक्स और evoworld के लिए इमोजी हैक मोड के साथ चीट! अच्छे और समझने योग्य कोड के साथ सबसे बड़ा चीट। कृपया इस परियोजना का समर्थन करें, मैंने यह सब अकेले किया है! यह अभी भी एक बीटा संस्करण है.
// @description:tr evoworld/flyordie için 25'ten fazla hack ve evoworld için emoji hack modu içeren hile! İyi ve anlaşılır kodla en büyük hile. Lütfen bu projeyi destekleyin, bunu TEK BAŞIMA yaptım! Hala bir beta sürümüdür.
// @author       ChyppitauCoder
// @match        https://evoworld.io/
// @icon         https://steamuserimages-a.akamaihd.net/ugc/2044108148224666217/6A44151F7534306FEC8259BDE5496463C9B55720/?imw=512&imh=512&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true
// @grant        none
// @license      MIT
// ==/UserScript==

let overlay = `
<div class="main-hack">
    <style>
    .cheatMenu {
        font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
        font-size: 23px;
        width: 70%;
        height: 90%;
        color: #fff;
        position: absolute;
        z-index: 9999;
        resize: both;
        overflow: hidden;
        user-select: none;
    }

    .main-hack {
        margin: 0;
        position: absolute;
        z-index: 9999;
    }

    .hack-main-section {
        margin: 20px;
        display: flex;
        flex-direction: row-reverse;
        margin: 0;
    }

    .rand-hack, .another-softwere-hack, .cosmetic-hack, .how-to-hack, .visual-hack, .keybind-hack, .emoji-hack, .MegaHack-settings-hack {
        padding: 10px;
        border: 3px solid red;
        background-color: blue;
        display: flex;
        flex-direction: column;
    }

    .another-softwere-hack .title-2 h1{
        font-size: 20px;
    }

    .another-softwere-hack{
        font-size: 10px;
    }

    hr {
        color: black;
    }

    button{
        background-color: #251c88;
        border: 1px solid #fff;
        border-radius: 4px;
        padding: 5px;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: .3s linear;
        color: #fff;
    }

    button:hover,
    button:focus{
        background-color: white;
        color: gray;
    }

    button:active{
        font-size: 30px;
        color: white;
    }

    .emoji-hack button{
        background-color: #808098;
        font-size: 10px;
    }

    .rand-hack button{
        background-color: red;
    }

    .another-softwere-hack button{
        background-color: #a4a4ff;
        color: gray;
    }

    .cosmetic-hack button{
        background-color: #d2ffa4;
        color: gray;
    }

    .visual-hack button{
        background-color: #d1a4ff;
        color: black;
    }

    .keybind-hack button{
        background-color: #24f810;
    }

    .MegaHack-settings-hack button{
        background-color: #1bd8b2;
        color: gray;
    }

    .emoji-hack button:hover,
    .emoji-hack button:focus{
        color: #efefef;
    }

    .cosmetic-hack button:hover,
    .cosmetic-hack button:focus{
        color: white;
    }

    .visual-hack button:hover,
    .visual-hack button:focus{
        color: gray;
    }

    .visual-hack button:active {
        color: white;
        border: 2px solid red;
    }

    .another-softwere-hack button:hover,
    .another-softwere-hack button:focus{
        color: white;
    }

    .resize-handle {
        position: absolute;
        width: 10px;
        height: 10px;
        background-color: #fff;
        border: 1px solid #000;
        opacity: 0;
    }

    .top-left {
        top: -5px;
        left: -5px;
        cursor: nw-resize;
        opacity: 0;
    }

    .top-right {
        top: -5px;
        right: -5px;
        cursor: ne-resize;
        opacity: 0;
    }

    .bottom-left {
        bottom: -5px;
        left: -5px;
        cursor: sw-resize;
        opacity: 0;
    }

    .bottom-right {
        bottom: -5px;
        right: -5px;
        cursor: se-resize;
    }

    </style>
    <div id="box-hack">
        <div class="cheatMenu" id="cheatMenu">
            <section class="hack-main-section">
                <div class="how-to-hack">
                    <div class="title">
                        <p>MegaHack v1 beta</p>
                        <hr>
                    </div>

                    <button id="my-another-hacks" class="another-hacks">my other hacks</button>
                    <button id="save_hacks">save hacks(alpha)(maybe not work)</button>
                    <button id="load_hacks">load hacks(alpha)(maybe not work)</button>

                </div>

                <div class="rand-hack">
                    <div class="title">
                        <h1>global</h1>
                        <hr>
                    </div>

                    <button id="reload-hack">reload</button>
                    <button id="fps-bypass-hack">fps bypass(maybe not work)</button>
                    <button id="night-k-hack">Night Vision</button>
                    <button id="exit-game-hack">exit game</button>
                    <button id="inject-hack">inject another hack</button>
                    <button id="show-codes-hack">show codes</button>
                    <button id="xp-hack">enable xp bonus</button>
                    <button id="scan-players">Scan players</button>
                    <button id="auto-respawn-hack">Play again</button>
                    <button id="play-again-hack">Auto-respawn</button>

                </div>
                <div class="another-softwere-hack">
                    <div class="title">
                        <h1>from other scripts</h1>
                        <hr>
                    </div>

                    <button id="unlock-zoom-hack">unlock zoom(evoworld.io Cheats)</button>
                    <button id="premium-hack">Unlock Premium(EvoWorld.io Hack Menu)</button>
                    <button id="use-skill" onclick="if (able_to_click){skillUse()}">Use Your Skill(evoworld.io Читы)</button>

                </div>

                <div class="cosmetic-hack">
                    <div class="title">
                        <h1>cosmetic</h1>
                        <hr>
                    </div>

                    <button id="bet-pl-vs-hack">Better enemy vision(maybe not work)</button>
                    <button id="enter-title-hack">chose title</button>
                    <button id="print-scr">screenshot</button>
                    <button id="show-label">Show Label</button>
                    <button id="del-label">Delete Label(beta)</button>
                    <button id="height-hack-hack">enter your height</button>

                </div>

                <div class="visual-hack">
                    <div class="title">
                        <h1>visual</h1>
                        <hr>
                    </div>

                    <button id="sky-bs-mod-hack">sky bs mod</button>
                    <button id="smooth-movements">Smooth Movement</button>
                    <button id="hp-hack">enter your hp</button>
                    <button id="next-level">Next Level</button>
                    <button id="admin-hack">Admin Hack</button>
                    <button id="any-level-hack">Unlock Level</button>
                    <button id="pixelvoices-mod-hack">pixel voices mod</button>
                    <button id="unlock-nick-hack">unlock nick</button>
                    <button onclick="if (able_to_click){game.maxInterpolateDistanceTeleport = 0}">Enable Alpha NoClip</button>
                    <button onclick="if (able_to_click){game.maxInterpolateDistanceTeleport = 350}">Disable NoClip</button>
                    <button id="speedhack">Alpha SpeedHack</button>
                </div>

                <div class="emoji-hack">
                    <div class="title">
                        <h1>emoji-hack</h1>
                        <hr>
                    </div>

                    <button id="chyppitauE1">Hi</button>
                    <button id="chyppitauE2">Hi (other)</button>
                    <button id="chyppitauE3">bye</button>
                    <button id="chyppitauE4">bye (other)</button>
                    <button id="chyppitauE5">I have to go</button>
                    <button id="chyppitauE6">Thanks!</button>
                    <button id="chyppitauE7">I'm sorry</button>
                    <button id="chyppitauE8">I like you</button>
                    <button id="chyppitauE9">Dislike</button>
                    <button id="chyppitauE10">clap</button>
                    <button id="chyppitauE11">Sad</button>
                    <button id="chyppitauE12">Cry</button>
                    <button id="chyppitauE13">Broken heart</button>
                    <button id="chyppitauE14">Heart</button>
                    <button id="chyppitauE15">laughter</button>
                    <button id="chyppitauE16">Skull</button>
                </div>

                <div class="keybind-hack">
                    <div class="title">
                        <h1>beta keybind</h1>
                        <hr>
                    </div>

                    <button id="bind-hack">add keybind</button>
                </div>

                <div class="MegaHack-settings-hack">
                    <div class="title">
                        <h1>Settings</h1>
                        <hr>
                    </div>

                    <button id="no-confirms">No Confirms</button>
                    <button id="allow-move-cheat-menu-hack">Allow move menu(beta, not recomend)</button>
                    <button id="enable-confirms">Enable Confirms</button>

                </div>

            </section>
            <div class="resize-handle top-left" id="resize-handle-top-left"></div>
            <div class="resize-handle top-right" id="resize-handle-top-right"></div>
            <div class="resize-handle bottom-left" id="resize-handle-bottom-left"></div>
            <div class="resize-handle bottom-right" id="resize-handle-bottom-right"></div>
        </div>
    </div>
</div>
`;

function main() {
    alert("Warning, you can will get banned! To open/close cheat menu press tab");
    let cheatMenu = document.createElement("div");

    let able_to_click_hack = false;
    let no_confirms_in_hack = false;

    cheatMenu.innerHTML = overlay;
    cheatMenu.style.opacity = "0";
    document.body.appendChild(cheatMenu);

    let main_hack = cheatMenu.querySelector(".main-hack");
    main_hack.style.width = "0%";
    main_hack.style.height = "0%";
    if (!main_hack) {
        alert("Element with class 'main-hack' not found! Cheat doesn't work!");
        return;
    }

    document.addEventListener('keydown', (event) => {
        if (event.key === 'Tab') {
            let opac = cheatMenu.style.opacity;
            if (opac === "1") {
                cheatMenu.style.opacity = "0";
                able_to_click_hack = false;
                main_hack.style.width = "0%";
                main_hack.style.height = "0%";
            } else {
                cheatMenu.style.opacity = "1";
                able_to_click_hack = true;
                main_hack.style.width = "86%";
                main_hack.style.height = "90%";
            }
        }
    });

    let option1 = document.getElementById("reload-hack");
    let option2 = document.getElementById("sky-bs-mod-hack");
    let option3 = document.getElementById("pixelvoices-mod-hack");
    let option4 = document.getElementById("any-level-hack");
    let option5 = document.getElementById("show-codes-hack");
    let option7 = document.getElementById("unlock-zoom-hack");
    let option9 = document.getElementById("exit-game-hack");
    let option10 = document.getElementById("xp-hack");
    let option12 = document.getElementById("hp-hack");
    let option13 = document.getElementById("height-hack-hack");
    let option14 = document.getElementById("unlock-nick-hack");
    let option15 = document.getElementById("premium-hack");
    let option16 = document.getElementById("print-scr");
    let option17 = document.getElementById("inject-hack");
    let option18 = document.getElementById("speedhack");
    let option19 = document.getElementById("smooth-movements");
    let option20 = document.getElementById("enter-title-hack");
    let option21 = document.getElementById("scan-players");
    let option22 = document.getElementById("admin-hack");
    let option24 = document.getElementById("show-label");
    let option25 = document.getElementById("next-level");
    let option26 = document.getElementById("bind-hack");
    let option28 = document.getElementById("auto-respawn-hack");
    let option29 = document.getElementById("bet-pl-vs-hack");
    let option30 = document.getElementById("play-again-hack");
    let option31 = document.getElementById("del-label");
    let option33 = document.getElementById("night-k-hack");
    let option34 = document.getElementById("fps-bypass-hack");

    let save_hacks = document.getElementById("save_hacks");
    let load_hacks = document.getElementById("load_hacks");

    let res1 = document.getElementById("resize-handle-top-left");
    let res2 = document.getElementById("resize-handle-top-right");
    let res3 = document.getElementById("resize-handle-bottom-left");
    let res4 = document.getElementById("resize-handle-bottom-right");

    res1.style.opacity = 0;
    res2.style.opacity = 0;
    res3.style.opacity = 0;
    res4.style.opacity = 0;

    let set1 = document.getElementById("no-confirms");
    let set3 = document.getElementById("allow-move-cheat-menu-hack");
    let set4 = document.getElementById("enable-confirms");

    document.getElementById('chyppitauE1').addEventListener("click", () => {if(able_to_click_hack) sendChat(1)});
    document.getElementById('chyppitauE2').addEventListener("click", () => {if(able_to_click_hack) sendChat(2)});
    document.getElementById('chyppitauE3').addEventListener("click", () => {if(able_to_click_hack) sendChat(3)});
    document.getElementById('chyppitauE4').addEventListener("click", () => {if(able_to_click_hack) sendChat(4)});
    document.getElementById('chyppitauE5').addEventListener("click", () => {if(able_to_click_hack) sendChat(5)});
    document.getElementById('chyppitauE6').addEventListener("click", () => {if(able_to_click_hack) sendChat(6)});
    document.getElementById('chyppitauE7').addEventListener("click", () => {if(able_to_click_hack) sendChat(7)});
    document.getElementById('chyppitauE8').addEventListener("click", () => {if(able_to_click_hack) sendChat(8)});
    document.getElementById('chyppitauE9').addEventListener("click", () => {if(able_to_click_hack) sendEmote(1)});
    document.getElementById('chyppitauE10').addEventListener("click", () => {if(able_to_click_hack) sendEmote(12)});
    document.getElementById('chyppitauE11').addEventListener("click", () => {if(able_to_click_hack) sendEmote(2)});
    document.getElementById('chyppitauE12').addEventListener("click", () => {if(able_to_click_hack) sendEmote(6)});
    document.getElementById('chyppitauE13').addEventListener("click", () => {if(able_to_click_hack) sendEmote(4)});
    document.getElementById('chyppitauE14').addEventListener("click", () => {if(able_to_click_hack) sendEmote(11)});
    document.getElementById('chyppitauE15').addEventListener("click", () => {if(able_to_click_hack) sendEmote(10)});
    document.getElementById('chyppitauE16').addEventListener("click", () => {if(able_to_click_hack) sendEmote(3)});

    let author_anothers_hacks = document.getElementById("my-another-hacks");

    set1.addEventListener("click", () => {
        if (able_to_click_hack){
            set1.style.backgroundColor = "black";
            no_confirms_in_hack = true;
        }
    });

    set3.addEventListener("click", () => {
        if (able_to_click_hack) {
            set3.style.backgroundColor = "black";

            const cheatMenu = document.getElementById('cheatMenu');
            const res1 = document.getElementById('res1');
            const res2 = document.getElementById('res2');
            const res3 = document.getElementById('res3');
            const res4 = document.getElementById('res4');

            if (cheatMenu) {
                cheatMenu.style.position = "absolute";
                cheatMenu.style.opacity = "1";

                let isDragging = false;
                let isResizing = false;
                let startX, startY, startWidth, startHeight;

                function moveMenu(e) {
                    if (isDragging) {
                        let posX = e.clientX - startX;
                        let posY = e.clientY - startY;

                        cheatMenu.style.left = posX + 'px';
                        cheatMenu.style.top = posY + 'px';
                    }
                }

                function startDragging(e) {
                    if (cheatMenu.style.opacity === "1") {
                        isDragging = true;
                        startX = e.clientX - cheatMenu.offsetLeft;
                        startY = e.clientY - cheatMenu.offsetTop;
                        document.addEventListener('mousemove', moveMenu);
                        document.addEventListener('mouseup', stopDragging);
                    }
                }

                function stopDragging() {
                    isDragging = false;
                    document.removeEventListener('mousemove', moveMenu);
                    document.removeEventListener('mouseup', stopDragging);
                }

                function resizeMenu(e) {
                    if (isResizing) {
                        let newWidth = startWidth + (e.clientX - startX);
                        let newHeight = startHeight + (e.clientY - startY);

                        stopDragging();
                        cheatMenu.style.width = newWidth + 'px';
                        cheatMenu.style.height = newHeight + 'px';
                    }
                }

                function startResizing(e) {
                    if (cheatMenu.style.opacity === "1") {
                        isResizing = true;
                        stopDragging();
                        startX = e.clientX;
                        startY = e.clientY;
                        startWidth = cheatMenu.offsetWidth;
                        startHeight = cheatMenu.offsetHeight;
                        document.addEventListener('mousemove', resizeMenu);
                        document.addEventListener('mouseup', stopResizing);
                    }
                }

                function stopResizing() {
                    isResizing = false;
                    document.removeEventListener('mousemove', resizeMenu);
                    document.removeEventListener('mouseup', stopResizing);
                }

                cheatMenu.addEventListener('mousedown', startDragging);

                res1.addEventListener('mousedown', startResizing);
                res2.addEventListener('mousedown', startResizing);
                res3.addEventListener('mousedown', startResizing);
                res4.addEventListener('mousedown', startResizing);
            }
        }
    });

    set4.addEventListener("click", ()=>{
        if (able_to_click_hack){
            set4.style.backgroundColor = "black";
            no_confirms_in_hack = false;
        }
    });

    option1.addEventListener("click", () => {
        if (able_to_click_hack){
            option1.style.backgroundColor = "black";
            window.location.reload();
        }
    });

    option2.addEventListener("click", () => {
        if (able_to_click_hack){
            option2.style.backgroundColor = "white";
            game['me']['level'] = 40;
            game['me']['nick'] = '\x20Sky (*BS*)';
        }
    });

    option3.addEventListener("click", () => {
        if (able_to_click_hack){
            option3.style.backgroundColor = "white";
            game['me']['level'] = 999;
            game['me']['nick'] = '\x20PixelVoices';
        }
    });

    option4.addEventListener("click", () => {
        if (able_to_click_hack){
            option4.style.backgroundColor = "white";
            var level = prompt('Enter your level: ');

            if (level !== null) {
                game['me']['level'] = level;
            }
        }
    });

    option5.addEventListener("click", () => {
        if (able_to_click_hack) {
            option5.style.backgroundColor = "black";
            let copy_val_hack = "nortos, skybs, plaxer1, JeromeAS, PixelVoices, xxostepolse";
            alert(copy_val_hack);
            if (!no_confirms_in_hack){
                if (confirm("Copy to clipboard?")) {
                    navigator.clipboard.writeText(copy_val_hack).then(() => {
                        alert(copy_val_hack + " copied to clipboard!");
                    }).catch(err => {
                        alert("Failed to copy text: ", err);
                    });
                }
            } else {
                navigator.clipboard.writeText(copy_val_hack).then(() => {
                    alert(copy_val_hack + " copied to clipboard!");
                }).catch(err => {
                    alert("Failed to copy text: ", err);
                });
            }
        }
    });

    option7.addEventListener("click", () => {
        if (able_to_click_hack){
            option7.style.backgroundColor = "black";
            function zoomHack(a) {
                game.canvas.addEventListener("wheel", function () {
                    if (!joinedGame || typeof event == "undefined") {
                        return;
                    }

                    var qwe = 0.1;
                    if (event.deltaY > 0) {
                        qwe *= -1;
                    }

                    gameZoom += qwe;
                    event.preventDefault();
                });

                Engine.prototype.setZoom = function (ret) {
                    if (ret <= 0.7) {
                        ret = 0.7;
                    }

                    if (this.zoom == ret) {
                        return;
                    }

                    this.zoom = ret;
                    this.staticCanvasRenderOffset.restX = 0;
                    this.staticCanvasRenderOffset.restY = 0;
                    this.staticCanvasRenderOffset.x = 0;
                    this.staticCanvasRenderOffset.y = 0;
                    this.staticCanvasRenderPosition.x = 0;
                    this.staticCanvasRenderPosition.y = 0;
                    this.context.save();
                    this.context.fillStyle = "rgba(0,0,0,1)";
                    this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);
                    this.context.restore();
                    this.staticContext.save();
                    this.staticContext.fillStyle = "rgba(0,0,0,1)";
                    this.staticContext.fillRect(0, 0, this.staticCanvas.width, this.staticCanvas.height);
                    this.staticContext.restore();
                    this.dynamicContext.clearRect(0, 0, this.dynamicCanvas.width, this.dynamicCanvas.height);
                    this.clearStaticObjects();

                }
            }

            zoomHack();
        }
    });

    option9.addEventListener("click", () => {
        if (able_to_click_hack){
            option9.style.backgroundColor = "black";
            window.location.href = "https://google.com";
        }
    });

    option10.addEventListener("click", () => {
        if (able_to_click_hack){
            option10.style.backgroundColor = "black";
            if (!no_confirms_in_hack){
                alert('only in main menu or on load menu. While you play game not work.');
                setInterval(function () {
                    startBonus = 1;
                }, 15);
            } else {
                setInterval(function () {
                    startBonus = 1;
                }, 15);
            }
        }
    });

    option12.addEventListener("click", () => {
        if (able_to_click_hack){
            option12.style.backgroundColor = "white";
            let hp = prompt('enter your hp: ');
            if (hp !== null){
                setInterval(()=>{
                    game['me']['hp'] = hp;
                }, 1);
            }
        }
    });

    option13.addEventListener("click", () => {
        if (able_to_click_hack){
            option13.style.backgroundColor = "white";
            if (!no_confirms_in_hack){
                if (confirm("this is can will broke your game. Are you sure want?")){
                    let height = prompt('Enter your height: ');
                    if (height !== null){
                        game['me']['height'] = height;
                    }
                }
            } else {
                let height = prompt('Enter your height: ');
                if (height !== null){
                    game['me']['height'] = height;
                }
            }
        }
    });

    option14.addEventListener("click", () => {
        if (able_to_click_hack){
            option14.style.backgroundColor = "white";
            let nick_hack = prompt('Enter your nickname: ');
            game['me']['nick'] = `\x20${nick_hack}`;
        }
    });

    option15.addEventListener("click", () =>{
        if (able_to_click_hack){
            option15.style.backgroundColor = "black";
            setInterval(() => {
                game['me']['premium'] = true;
            }, 15);
        }
    });

    option16.addEventListener("click", () =>{
        if (able_to_click_hack){
            option16.style.backgroundColor = "black";
            print();
        }
    });

    option17.addEventListener("click", () =>{
        if (able_to_click_hack){
            option17.style.backgroundColor = "black";
            window.open("https://www.userscript.zone/search?q=https%3A%2F%2Fevoworld.io%2F&utm_campaign=dhdg&utm_medium=api&utm_source=usz");
        }
    });

    option18.addEventListener("click", () => {
        if (able_to_click_hack){
            option18.style.backgroundColor = "white";
            if (!no_confirms_in_hack){
                if (confirm('You can will make your ping more than 300! Are you sure want to use Beta SpeedHack?')){
                    let speed = prompt("Enter your speed: ");
                    if (speed !== null){
                        setInterval(()=>{
                            game['me']['moveSpeed'] = {x: speed, y: speed}
                            game['me']['previousMoveSpeed'] = {speed: speed, y: undefined}
                        }, 15);
                    }
                }
            } else {
                let speed = prompt("Enter your speed: ");
                if (speed !== null){
                    setInterval(()=>{
                        game['me']['moveSpeed'] = {x: speed, y: speed}
                        game['me']['previousMoveSpeed'] = {speed: speed, y: undefined}
                    }, 15);
                }
            }
        }
    });

    option19.addEventListener("click", () => {
        if (able_to_click_hack){
            option19.style.backgroundColor = "white";
            game.maxInterpolateDistanceTeleport = 3500;
        }
    });

    option20.addEventListener("click", () => {
        if (able_to_click_hack){
            option20.style.backgroundColor = "black";
            let title = prompt("Enter Your Title: ");
            document.title = title;
        }
    });

    option21.addEventListener("click", () => {
        if (able_to_click_hack){
            option21.style.backgroundColor = "black";
            scanPlayers();
        }
    });

    option22.addEventListener("click", () => {
        if (able_to_click_hack){
            option22.style.backgroundColor = "white";
            game['me']['level'] = 999;
            game['me']['nick'] = '\x20[Admin]';
        }
    });

    let clicked_hack_on_option_24 = 0;

    option24.addEventListener("click", () => {
        if (able_to_click_hack) {
            option24.style.backgroundColor = "black";
            clicked_hack_on_option_24 += 1;
            if (clicked_hack_on_option_24 === 1){
                let text = prompt("Enter Your Text: ");
                let size = prompt("Enter text size: ");
                let color = prompt("Enter text color: ");
                if (text !== null && size !== null && color !== null){
                    let label = document.createElement("div");
                    label.id = 'hack_text_1'
                    label.textContent = text;
                    label.style.position = "fixed";
                    label.style.top = "10%";
                    label.style.left = "18%";
                    label.style.fontSize = `${size}px`;
                    label.style.fontFamily = "Arial";
                    label.style.color = `${color}`;
                    label.style.zIndex = 9999;
                    document.body.appendChild(label);
                }
            } else {
                let text = prompt("Enter Your Text: ");
                let size = prompt("Enter text size: ");
                let color = prompt("Enter text color: ");
                if (text !== null && size !== null && color !== null){
                    let label = document.createElement("div");
                    label.id = `hack_text_${clicked_hack_on_option_24}`;
                    label.textContent = text;
                    label.style.position = "fixed";
                    label.style.top = `${10 * clicked_hack_on_option_24 - 7}%`;
                    label.style.left = "18%";
                    label.style.fontSize = `${size}px`;
                    label.style.fontFamily = "Arial";
                    label.style.color = `${color}`;
                    label.style.zIndex = 9999;
                    document.body.appendChild(label);
                }
            }
        }
    });

    option25.addEventListener("click", () => {
        if (able_to_click_hack){
            option25.style.backgroundColor = "white";
            game.me.name = 'reaper';
        }
    });

    option26.addEventListener("click", () => {
        if (able_to_click_hack){
            option26.style.backgroundColor = "black";
            let key = prompt("enter a key to bind(will work on hack menu only): ");
            let hack = prompt('enter a hack(See hack id, to do it just press F12 and find hack HTML tag(to find true html you must to find hack name in html code, examples: <div id="sky-bs-mod-hack">sky bs mod </div>) and you must copy this id(without "") and enter to this alert field): ');
            if (hack !== null){
                if (!no_confirms_in_hack){
                    if (confirm('are you sure want to add keybind?')){
                        document.addEventListener("keydown", (event) => {
                            if (event.key === key){
                                if (cheatMenu.style.opacity !== 1){
                                    try{
                                        let option = document.getElementById(hack);
                                        able_to_click_hack = true;
                                        option.click();
                                        able_to_click_hack = false;
                                    } catch (e){
                                        alert("hack not found :( Please, check hack name.");
                                    }
                                } else {
                                    try{
                                        let option = document.getElementById(hack);
                                        option.click();
                                    } catch (e) {
                                        alert("hack not found :( Please, check hack name.");
                                    }
                                }
                            }
                        });
                    } else {
                        console.log('ok..');
                    }
                }
            } else {
                document.addEventListener("keydown", (event) => {
                    if (event.key === key){
                        if (cheatMenu.style.opacity !== 1){
                            try{
                                let option = document.getElementById(hack);
                                able_to_click_hack = true;
                                option.click();
                                able_to_click_hack = false;
                            } catch (e){
                                alert("hack not found :( Please, check hack name.");
                            }
                        } else {
                            try{
                                let option = document.getElementById(hack);
                                option.click();
                            } catch (e) {
                                alert("hack not found :( Please, check hack name.");
                            }
                        }
                    }
                });
            }
        }
    });

    option28.addEventListener("click", () => {
        if (able_to_click_hack){
            option28.style.backgroundColor = "black";
            playAgain();
        }
    });

    option29.addEventListener("click", () => {
        if (able_to_click_hack){
            option29.style.backgroundColor = 'black';
            const showEnemyCircle = () => {
                const enemyCircle = document.createElement('div');
                enemyCircle.id = 'enemy-detect';
                enemyCircle.style.position = 'absolute';
                enemyCircle.style.borderRadius = '50%';
                enemyCircle.style.width = '100px';
                enemyCircle.style.height = '100px';
                enemyCircle.style.left = 'calc(50% - 50px)';
                enemyCircle.style.top = 'calc(50% - 50px)';
                enemyCircle.style.boxShadow = '0px 0px 20px 0px #ff000080';
                enemyCircle.style.display = 'none';
                document.body.appendChild(enemyCircle);

                const scanForEnemies = () => {
                    if (window.joinedGame && !window.imDead && window.game && window.game.me && window.game.players) {
                        const myPosition = window.game.me.position;
                        const nearbyEnemies = window.game.players.filter(player => {
                            const isEnemy = checkFoodChain(window.game.me, player).check === -1;
                            const distance = Math.sqrt(
                                Math.pow(player.position.x - myPosition.x, 2) +
                                Math.pow(player.position.y - myPosition.y, 2)
                            );
                            return isEnemy && distance < 400;
                        });

                        if (nearbyEnemies.length > 0) {
                            enemyCircle.style.display = 'block';
                        } else {
                            enemyCircle.style.display = 'none';
                        }
                    }
                };

                setInterval(scanForEnemies, 500);
            };

            const initCHack = () => {
                const interval = setInterval(() => {
                    if (window.joinedGame && !window.imDead) {
                        showEnemyCircle();
                        clearInterval(interval);
                    }
                }, 500);
            };

            initCHack();
        }
    });

    option30.addEventListener('click', () => {
        if (able_to_click_hack){
            option30.style.backgroundColor = 'black';
            setInterval(()=>{
                if (joinedGame && imDead) {
                    playAgain();
                }
            }, 15);
        }
    });

    option31.addEventListener('click', () => {
        if (able_to_click_hack){
            option31.style.backgroundColor = 'black';
            let label_num_hack = prompt('Enter the label number to delete: ');
            let need_label = document.getElementById(`hack_text_${label_num_hack}`);
            if (need_label) {
                need_label.remove();
                clicked_hack_on_option_24 -= 1;
            } else {
                alert('Label not found!');
            }
        }
    });

    option33.addEventListener("click", () => {
        if (able_to_click_hack){
            option33.style.backgroundColor = 'black';
            if (!no_confirms_in_hack){
                if (confirm('Are you sure want to run this hack? You can will get ban and your screen can will be black!')){
                    const removeDarkness = () => {
                        if (window?.drawDarkness) {
                            window.drawDarkness = function () {

                            };
                            console.log("Darkness removed");
                        }
                    };

                    const interval = setInterval(() => {
                        if (window?.wasSocketInit && window?.joinedGame && !window?.imDead) {
                            removeDarkness();
                        }
                    }, 500);

                    const observer = new MutationObserver(() => {
                        removeDarkness();
                    });

                    observer.observe(document, { childList: true, subtree: true });
                }
            } else {
                const removeDarkness = () => {
                    if (window?.drawDarkness) {
                        window.drawDarkness = function () {

                        };
                        console.log("Darkness removed");
                    }
                };

                const interval = setInterval(() => {
                    if (window?.wasSocketInit && window?.joinedGame && !window?.imDead) {
                        removeDarkness();
                    }
                }, 500);

                const observer = new MutationObserver(() => {
                    removeDarkness();
                });

                observer.observe(document, { childList: true, subtree: true });
            }
        }
    });

    option34.addEventListener('click', () => {
        if (able_to_click_hack){
            option34.style.backgroundColor = 'black';
            let fps_hack = prompt("enter your fps(maybe not work. On old pc or old browsers this is a visual): ");
            if (fps_hack !== null){
                setInterval(() => {
                    game.fps = fps_hack;
                }, 15);
            }
        }
    });

    author_anothers_hacks.addEventListener("click", () => {
        if (able_to_click_hack){
            author_anothers_hacks.style.backgroundColor = "black";
            window.open("https://greasyfork.org/ru/users/1087245-chyppitaucoder");
        }
    });

    save_hacks.addEventListener("click", () => {
        if (able_to_click_hack) {
            save_hacks.style.backgroundColor = "black";
            if (confirm("Are you sure you want to save your hacks? CAN NOT SAVE! All your settings will be saved.")) {
                try {
                    let savedData = {
                        cheatMenuOpacity: cheatMenu.style.opacity,
                        able_to_click_hack: able_to_click_hack,
                        optionStates: {
                            hackTexts: {}
                        }
                    };

                    for (let i = 1; i <= 32; i++) {
                        let option = document.querySelector(`#option${i}`);
                        if (option) {
                            savedData.optionStates[`option${i}`] = option.classList.contains("clicked");
                        }
                    }

                    let hackTextElements = document.querySelectorAll('[id^="hack_text_"]');
                    hackTextElements.forEach((element, index) => {
                        savedData.optionStates.hackTexts[`hackText${index + 1}`] = {
                            textContent: element.textContent,
                            style: {
                                position: element.style.position,
                                top: element.style.top,
                                left: element.style.left,
                                fontSize: element.style.fontSize,
                                fontFamily: element.style.fontFamily,
                                color: element.style.color,
                                zIndex: element.style.zIndex
                            }
                        };
                        console.log(`Saved text for element ${index + 1}:`, savedData.optionStates.hackTexts[`hackText${index + 1}`]);
                    });

                    localStorage.setItem('hacks', JSON.stringify(savedData));
                    alert("Your hacks have been saved successfully(But he maybe not work again)!");
                    console.log(savedData);
                } catch (e) {
                    alert(`Cannot save hacks. Error: ${e}`);
                    console.error(e);
                }
            }
        }
    });

    load_hacks.addEventListener("click", () => {
        if (able_to_click_hack) {
            load_hacks.style.backgroundColor = "black";
            if (confirm("Are you sure you want to load your hacks? CAN NOT LOAD! All your settings will be loaded!")) {
                try {
                    let savedData = localStorage.getItem('hacks');
                    if (savedData) {
                        savedData = JSON.parse(savedData);
                        cheatMenu.style.opacity = savedData.cheatMenuOpacity;
                        able_to_click_hack = savedData.able_to_click_hack;

                        for (let i = 1; i <= 32; i++) {
                            let option = document.querySelector(`#option${i}`);
                            if (option) {
                                console.log(`Loading state for option${i}:`, savedData.optionStates[`option${i}`]);
                                if (savedData.optionStates[`option${i}`]) {
                                    option.classList.add("clicked");
                                } else {
                                    option.classList.remove("clicked");
                                }
                                console.log(`Option${i} after:`, option.classList.contains("clicked"));
                            }
                        }

                        let hackTextElements = document.querySelectorAll('[id^="hack_text_"]');
                        if (savedData.optionStates.hackTexts) {
                            Object.keys(savedData.optionStates.hackTexts).forEach(key => {
                                let index = parseInt(key.replace("hackText", "")) - 1;
                                if (index >= 0 && index < hackTextElements.length) {
                                    let textData = savedData.optionStates.hackTexts[key];
                                    let element = hackTextElements[index];
                                    console.log(`Loading text for element ${index + 1}:`, textData);
                                    element.textContent = textData.textContent;
                                    element.style.position = textData.style.position;
                                    element.style.top = textData.style.top;
                                    element.style.left = textData.style.left;
                                    element.style.fontSize = textData.style.fontSize;
                                    element.style.fontFamily = textData.style.fontFamily;
                                    element.style.color = textData.style.color;
                                    element.style.zIndex = textData.style.zIndex;
                                }
                            });
                        }

                        alert("Your hacks have been loaded successfully(But he maybe not work again)!");
                        console.log(savedData);
                    } else {
                        alert("No saved hacks found.");
                    }
                } catch (e) {
                    alert(`Cannot load hacks. Error: ${e}`);
                    console.error(e);
                }
            }
        }
    });
}

if (confirm('are you sure want to run a script?')){
    main();
} else {
    if (confirm('maybe you run script with no ban advice?')) {
        alert('than use just hotkeys, cosmetic and visual hacks in this script. +advice');
        if (confirm('Are you sure want to run this script with no ban advice?')){
            main();
        }
    }
}