evoworld.io Cheats

"evoworld.io Cheats"

// ==UserScript==
// @name         evoworld.io Cheats
// @namespace    http://tampermonkey.net/
// @version      2.5
// @author       @jmatg1
// @name:ru      evoworld.io Читы
// @description:ru evoworld.io Ночное виденье, видим скрытых игроков
// @match        https://evoworld.io/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=evoworld.io
// @grant        none
// @description "evoworld.io Cheats"
// @contributionURL https://www.donationalerts.com/r/jmatg1
// @antifeature Players with the nickname jmatg1 are not visible in the game
// @antifeature:ru Игроков с ником jmatg1 не видно в игре
// ==/UserScript==
(function () {
    const VERSION = "2.5";
    let oldMethod = false;
    try {
        let xhr = new XMLHttpRequest();
        xhr.open('GET', "https://greasyfork.org/ru/scripts/457502.json");
        xhr.send();

        xhr.onload = function() {
            let obj = JSON.parse(xhr.response)
            if (obj.version !== VERSION){
                let t = "New Version!!!" + " (" + VERSION + " -> " + obj.version + ") https://greasyfork.org/ru/scripts/457502-detected-dont-use-or-banned-evoworld-io-cheats"
                window.alert(t)
            }
        };
    } catch (e){}
    const confirmBan = Boolean(localStorage.getItem('asdjl2'))
    if(!confirmBan) {
        alert('Attention. You may be banned! Login to another account and run the script to test the anti-ban.')
        localStorage.setItem('asdjl2', true);
    }
    try {
        let xhr = new XMLHttpRequest();
        xhr.open('POST', "https://evoworld.io/api/reportError.php");
        xhr.send();

        xhr.onload = function() {
            alert('Bypass DOESNT WORK! Script not running. See video youtube https://youtu.be/ExaGqTIQc7c');
            /*if(confirm('Run Script with old bypass?')) {
            setInterval(() => {
                if (reportedErrors && !reportedErrors.includes('validate error 1')) {
                    reportedErrors.push('validate error 1');
                    if (!oldMethod) {
                        oldMethod = true;
                        initscript();
                    }
                }
            }, 300)
            }*/

        };
        xhr.onerror = function() {
            alert('Bypass WORK! Starting script...');
            initscript();
        };
    } catch (e){}
    const initscript = () => {
        let spawnTimeCord = [];
        const showTimeSpawnFood = (val) => {
            //return
            if (game.objectsDef[game.gameObjects[val.a]?.name + '_spawn']) {
                const position = game.gameObjects[val.a].position;

                if (spawnTimeCord.find(el => el.x === position.x && el.y === position.y)) return;
                spawnTimeCord.push(position);
                let delay = game.objectsDef[game.gameObjects[val.a]?.name + '_spawn'].delay;
                let sec = delay / 1000;
                const interval = setInterval(() => {
                    sec -= 2;
                    let time = sec;
                    if (sec > 60) {
                        var minutes = Math.floor(sec / 60);
                        var seconds = sec % 60;
                        time = String(minutes).padStart(2, '0') + ':' + String(seconds).padStart(2, '0');
                    }
                    textEffects.push({
                        "posX": position.x,
                        "posY": position.y,
                        "color": "#FE6500",
                        "text": time,
                        "fontSize": 14,
                        "bold": true,
                        "startTime": new Date().getTime() + 100,
                        "static": false
                    });
                }, 2000);

                setTimeout(() => {
                    spawnTimeCord = spawnTimeCord.filter(el => el.x !== position.x && el.y !== position.y);
                    clearInterval(interval);
                }, delay);

            }
        }

        const fixChatMenu = () => {
            showEmotesMenu = function () {
                if (chatDisabled) {
                    return;
                }
                ;
                if (imDead || !joinedGame || Date.now() - joinTime < 1e3 || Date.now() - lastEmotesMenuOpenedTime < 1e3) {
                    return;
                }
                ;
                $($(".wheel-button").attr("href")).showIcon($(".wheel-button"), {
                    animation: "fade",
                    animationSpeed: [0, 250],
                    angle: [0, 360]
                });
                $("#chatmenu").finish().fadeIn();
                $("#scan-players-icon").fadeIn();
                emotesMenuOpened = true;
                lastEmotesMenuOpenedTime = Date.now();
            }
        };

        const zoomHack = (a, aa, aaa, aaaaa, a2) => {
            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();

            }
        }

        const doesntHidePlayersFunc = (value) => {
            petFunc(value);
            if (value?.type === 1 || value?.type === 3) {
                value.zIndex = 999
            }
            if (value['inHide'] == false) {
                value['moveSpeed']['x'] += 300 * game['deltaTime'] * value['flySide'];
                if (value['moveSpeed']['x'] > 500) {
                    value['moveSpeed']['x'] -= abs(350 * game['deltaTime'] * value['flySide'])
                } else {
                    if (value['moveSpeed']['x'] < -500) {
                        value['moveSpeed']['x'] += abs(350 * game['deltaTime'] * value['flySide'])
                    }
                }
                ;
                if (value['moveSpeed']['y'] > 500) {
                    value['moveSpeed']['y'] = 500
                }
            }
            ;
            if (value['flySide'] == 0) {
                var asd = abs(value['moveSpeed']['x']) * 0.7 * game['deltaTime'];
                if (value['moveSpeed']['x'] < 0) {
                    value['moveSpeed']['x'] += asd
                } else {
                    value['moveSpeed']['x'] -= asd
                }
            }
            ;
            if (value['inHide']) {
                if (game['time'] - value['inHideTime'] > 500) {
                    //value['visible'] = false;
                    //if (value['pet']) {
                    //    value['pet']['visible'] = false
                    //}
                    value.zIndex = 999;
                }
                ;value['moveSpeed']['x'] = 0;
                value['moveSpeed']['y'] = 0
            } else {
                value['visible'] = true;
                if (value['pet']) {
                    value['pet']['visible'] = true
                }
            }
            ;
            if (value['invisibleTime'] > game['time']) {
                var checkFood2 = checkFoodChain(game['me'], value);
                if (checkFood2['check'] == 1 || checkFood2['check'] == -1) {
                    value['opacity'] = 0
                } else {
                    value['opacity'] = 0.2
                }
            } else {
                value['opacity'] = 1
            }
            ;value['interpolateSpeed'] = 0.015;
            if (value['grabbed']) {
                value['interpolateSpeed'] = 0.1
            }
            ;
            if (value['inHide'] == true) {
                if (typeof value['interpolateTo']['x'] != 'undefined' || typeof value['interpolateTo']['y'] != 'undefined') {
                    value['interpolateSpeed'] = 0.05;
                    game['interpolatePosition'](value)
                }
                ;
                return false
            }
        }

        const darkOff = (a, aa, aaa, aaaaa, a2) => {
            return
        }
        let timer = null;

        function hello() {
            if (timer) {
                return;
            }
            timer = true;
            sendChat(45);
            setTimeout(() => {
                sendChat(8);
                timer = false;
            }, 5000)
        }


        const outline = (value) => {
            setAnimations(value);
            if (value.nick === "jmatg1" && game.me.nick !== "jmatg1") {
                value.opacity = 0;
                value.visible = 0;
                hello();
            } else {
                if (timer) {
                    clearInterval(timer);
                }
            }
            if (game.me.inSafeZone || value.inSafeZone) {
                value.outline = null;
            } else {
                var checkFood2 = checkFoodChain(game.me, value);
                if (checkFood2.check == 1) {
                    value.outline = "#00cc44";
                    if (checkFoodChain(value, game.me).check == 1) {
                        value.outline = "orange";
                    }
                    ;
                    value.outlineWeight = 5;
                } else {
                    if (checkFood2.check == -1) {
                        value.outline = "red";
                        value.outlineWeight = 5;
                    } else {
                        value.outline = null;
                    }
                }
            }
        };


        const styles = `
<style>
#gameContainer .scanPlayers {
  position: fixed;
  left: 72vw;
  top: 0;
  right: 0px;
  background: none;
  display: flex;
  transform: none;
  padding: 0;
  margin: 0;
}
.scanPlayers div {
    display: flex !important;
    flex-direction: column;
}
#gameContainer .scanPlayers>.title{
  display: none;
}

#gameContainer .scanPlayers .player{
    background: none;
    border: 0;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
}

#gameContainer .scanPlayers .nick,
.scanPlayers .experienceBar,
.scanPlayers .close,
.scanPlayers .title,
.scanPlayers button{
  display: none !important;
}
#enemy-detect {
  position: absolute;
  border-radius: 50%;
  /* border: 1px solid red; */
  width: 100px;
  height: 100px;
  left: calc(50% - 50px);
  top: calc(50% - 50px);
  box-shadow: 0px 0px 20px 0px #ff000080;
}
</style>
`;
        let asd = 0;
        const showServer = () => {
            const val = document.getElementById('selectServer')?.options[document?.getElementById('selectServer')?.selectedIndex]?.text;
            if(!val.includes('(') && asd < 10){
                setTimeout(() => {
                    showServer();
                    asd++;
                }, 200);
            }
            console.log(val);
            $("#gameContainer > div.debugInfo > div.server").html('server: <font color="black">' +val + " </font>");
        }
        let i_i = 0;
        let inj = false;
        const interval = setInterval(() => {


            if(Boolean(document.getElementsByClassName('btnStartGame')[0]) && i_i === 0) {
                document.getElementsByClassName('btnStartGame')[0].addEventListener('click', ev => {
                    //showServer();
                });

                i_i++;
            }

            if (window?.objectHandlerFunc_PLAYER) {
                objectHandlerFunc_PLAYER = doesntHidePlayersFunc;
            }

            if (window?.animateObject) {
                animateObject = outline;
            }


            if (window?.removeObject) {
                const orRO = window?.removeObject;
                removeObject = (val) => {
                    showTimeSpawnFood(val);
                    orRO(val);
                };
            }

            if (window?.wasSocketInit && window?.joinedGame && !window?.imDead && !inj) {

                drawDarkness = darkOff;

                gameServer.off(socketMsgType.SCANPLAYERS);
                gameServer.on(socketMsgType.SCANPLAYERS, function (arr) {
                    scanPlayersArr = arr.filter(el => {
                        return checkFoodChain(game.objectsDef[el.evolution], game.me).check === 1
                    });

                    if (scanPlayersArr.length > 0) {
                        $('#enemy-detect').show();
                    } else {
                        $('#enemy-detect').hide();
                    }
                    showPlayersScans();
                });

                setInterval(() => {
                    gameServer.emit(socketMsgType.SCANPLAYERS);
                }, 500)
                let intervalBoost = null;
                document.body.onkeydown = function (e) {
                    if (e.shiftKey && joinedGame && !imDead) {
                        boost();
                    }

                    if ((e.code === 'KeyS' || e.code === 'ArrowDown') && joinedGame && !imDead) {
                        skillUse()
                    }
                }
                document.body.onkeyup = function (e) {
                    if (e.key == " " || e.code == "Space" || e.keyCode == 32) {
                        if (joinedGame && imDead) {
                            playAgain();
                        }
                    }
                    if ((e.code === 'KeyS' || e.code === 'ArrowDown') && joinedGame && !imDead) {
                        skillStop();
                    }
                    if (e.keyCode == 81) {
                        if (joinedGame && !imDead) {
                            sendEmote(1); // dislike
                        }
                    }
                    if (e.keyCode == 69) {
                        if (joinedGame && !imDead) {
                            sendEmote(10); // haha
                        }
                    }
                    if (e.keyCode == 51) {
                        if (joinedGame && !imDead) {
                            sendEmote(4); // Broken Heart
                        }
                    }
                    if (e.keyCode == 52) {
                        if (joinedGame && !imDead) {
                            sendEmote(11); // heart
                        }
                    }
                    if (e.keyCode == 82) {
                        if (joinedGame && !imDead) {
                            sendEmote(1); // dislike
                        }
                    }
                    if (e.keyCode == 84) {
                        if (joinedGame && !imDead) {
                            sendChat(29); // rats
                        }
                    }
                    if (e.keyCode == 76) {
                        if (joinedGame && !imDead) {
                            askForDiscord(1); // discord
                        }
                    }
                    if (e.keyCode == 67) {
                        if (joinedGame && !imDead) {
                            sendChat(22); // fight
                        }
                    }
                    if (e.keyCode == 88) {
                        if (joinedGame && !imDead) {
                            sendChat(3); // goodbye
                        }
                    }
                    if (e.keyCode == 90) {
                        if (joinedGame && !imDead) {
                            sendChat(14); // funny
                        }
                    }
                    if (e.keyCode == 86) {
                        if (joinedGame && !imDead) {
                            sendChat(39); // come
                        }
                    }
                    if (e.keyCode == 70) {
                        if (joinedGame && !imDead) {
                            sendChat(38); // wait
                        }
                    }
                    if (e.keyCode == 53) {
                        if (joinedGame && !imDead) {
                            sendEmote(2); // sadsmile
                        }
                    }
                    if (e.keyCode == 54) {
                        if (joinedGame && !imDead) {
                            sendEmote(13); // goodbye2
                        }
                    }
                    if (e.keyCode == 55) {
                        if (joinedGame && !imDead) {
                            sendEmote(7); // angry
                        }
                    }
                    if (e.keyCode == 56) {
                        if (joinedGame && !imDead) {
                            sendEmote(6); // cry
                        }
                    }
                    if (e.keyCode == 57) {
                        if (joinedGame && !imDead) {
                            sendEmote(5); // dislike
                        }
                    }
                    if (e.keyCode == 48) {
                        if (joinedGame && !imDead) {
                            sendEmote(3); // killme
                        }
                    }
                    if (e.keyCode == 71) {
                        if (joinedGame && !imDead) {
                            sendChat(15); // lol
                        }
                    }
                    if (e.keyCode == 30) {
                        if (joinedGame && !imDead) {
                            sendChat(40); // forget
                        }
                    }
                }

                inj = true;
            }

            if (inj) {
                clearInterval(interval);
                document.head.insertAdjacentHTML("beforeend", styles);
                $('#gameContainer').append('<div id="enemy-detect"></div>');
                zoomHack();
                fixChatMenu();

            }
        }, 500);

    }


    })();