evoworld.io Cheats

"evoworld.io Cheats"

Size

18.8 KB

Version

2.5

Created

Feb 6, 2026

Updated

about 1 month ago

1// ==UserScript==
2// @name         evoworld.io Cheats
3// @namespace    http://tampermonkey.net/
4// @version      2.5
5// @author       @jmatg1
6// @name:ru      evoworld.io Читы
7// @description:ru evoworld.io Ночное виденье, видим скрытых игроков
8// @match        https://evoworld.io/
9// @icon         https://www.google.com/s2/favicons?sz=64&domain=evoworld.io
10// @grant        none
11// @description "evoworld.io Cheats"
12// @contributionURL https://www.donationalerts.com/r/jmatg1
13// @antifeature Players with the nickname jmatg1 are not visible in the game
14// @antifeature:ru Игроков с ником jmatg1 не видно в игре
15// @downloadURL https://update.greasyfork.org/scripts/457502/evoworldio%20Cheats.user.js
16// @updateURL https://update.greasyfork.org/scripts/457502/evoworldio%20Cheats.meta.js
17// ==/UserScript==
18(function () {
19    const VERSION = "2.5";
20    let oldMethod = false;
21    try {
22        let xhr = new XMLHttpRequest();
23        xhr.open('GET', "https://greasyfork.org/ru/scripts/457502.json");
24        xhr.send();
25
26        xhr.onload = function() {
27            let obj = JSON.parse(xhr.response)
28            if (obj.version !== VERSION){
29                let t = "New Version!!!" + " (" + VERSION + " -> " + obj.version + ") https://greasyfork.org/ru/scripts/457502-detected-dont-use-or-banned-evoworld-io-cheats"
30                window.alert(t)
31            }
32        };
33    } catch (e){}
34    const confirmBan = Boolean(localStorage.getItem('asdjl2'))
35    if(!confirmBan) {
36        alert('Attention. You may be banned! Login to another account and run the script to test the anti-ban.')
37        localStorage.setItem('asdjl2', true);
38    }
39    try {
40        let xhr = new XMLHttpRequest();
41        xhr.open('POST', "https://evoworld.io/api/reportError.php");
42        xhr.send();
43
44        xhr.onload = function() {
45            alert('Bypass DOESNT WORK! Script not running. See video youtube https://youtu.be/ExaGqTIQc7c');
46            /*if(confirm('Run Script with old bypass?')) {
47            setInterval(() => {
48                if (reportedErrors && !reportedErrors.includes('validate error 1')) {
49                    reportedErrors.push('validate error 1');
50                    if (!oldMethod) {
51                        oldMethod = true;
52                        initscript();
53                    }
54                }
55            }, 300)
56            }*/
57
58        };
59        xhr.onerror = function() {
60            alert('Bypass WORK! Starting script...');
61            initscript();
62        };
63    } catch (e){}
64    const initscript = () => {
65        let spawnTimeCord = [];
66        const showTimeSpawnFood = (val) => {
67            //return
68            if (game.objectsDef[game.gameObjects[val.a]?.name + '_spawn']) {
69                const position = game.gameObjects[val.a].position;
70
71                if (spawnTimeCord.find(el => el.x === position.x && el.y === position.y)) return;
72                spawnTimeCord.push(position);
73                let delay = game.objectsDef[game.gameObjects[val.a]?.name + '_spawn'].delay;
74                let sec = delay / 1000;
75                const interval = setInterval(() => {
76                    sec -= 2;
77                    let time = sec;
78                    if (sec > 60) {
79                        var minutes = Math.floor(sec / 60);
80                        var seconds = sec % 60;
81                        time = String(minutes).padStart(2, '0') + ':' + String(seconds).padStart(2, '0');
82                    }
83                    textEffects.push({
84                        "posX": position.x,
85                        "posY": position.y,
86                        "color": "#FE6500",
87                        "text": time,
88                        "fontSize": 14,
89                        "bold": true,
90                        "startTime": new Date().getTime() + 100,
91                        "static": false
92                    });
93                }, 2000);
94
95                setTimeout(() => {
96                    spawnTimeCord = spawnTimeCord.filter(el => el.x !== position.x && el.y !== position.y);
97                    clearInterval(interval);
98                }, delay);
99
100            }
101        }
102
103        const fixChatMenu = () => {
104            showEmotesMenu = function () {
105                if (chatDisabled) {
106                    return;
107                }
108                ;
109                if (imDead || !joinedGame || Date.now() - joinTime < 1e3 || Date.now() - lastEmotesMenuOpenedTime < 1e3) {
110                    return;
111                }
112                ;
113                $($(".wheel-button").attr("href")).showIcon($(".wheel-button"), {
114                    animation: "fade",
115                    animationSpeed: [0, 250],
116                    angle: [0, 360]
117                });
118                $("#chatmenu").finish().fadeIn();
119                $("#scan-players-icon").fadeIn();
120                emotesMenuOpened = true;
121                lastEmotesMenuOpenedTime = Date.now();
122            }
123        };
124
125        const zoomHack = (a, aa, aaa, aaaaa, a2) => {
126            game.canvas.addEventListener("wheel", function () {
127                if (!joinedGame || typeof event == "undefined") {
128                    return;
129                }
130                ;
131                var qwe = 0.1;
132                if (event.deltaY > 0) {
133                    qwe *= -1;
134                }
135                ;
136                gameZoom += qwe;
137                event.preventDefault();
138            });
139
140            Engine.prototype.setZoom = function (ret) {
141                if (ret <= 0.7) {
142                    ret = 0.7;
143                }
144                if (this.zoom == ret) {
145                    return;
146                }
147                this.zoom = ret;
148                this.staticCanvasRenderOffset.restX = 0;
149                this.staticCanvasRenderOffset.restY = 0;
150                this.staticCanvasRenderOffset.x = 0;
151                this.staticCanvasRenderOffset.y = 0;
152                this.staticCanvasRenderPosition.x = 0;
153                this.staticCanvasRenderPosition.y = 0;
154                this.context.save();
155                this.context.fillStyle = "rgba(0,0,0,1)";
156                this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);
157                this.context.restore();
158                this.staticContext.save();
159                this.staticContext.fillStyle = "rgba(0,0,0,1)";
160                this.staticContext.fillRect(0, 0, this.staticCanvas.width, this.staticCanvas.height);
161                this.staticContext.restore();
162                this.dynamicContext.clearRect(0, 0, this.dynamicCanvas.width, this.dynamicCanvas.height);
163                this.clearStaticObjects();
164
165            }
166        }
167
168        const doesntHidePlayersFunc = (value) => {
169            petFunc(value);
170            if (value?.type === 1 || value?.type === 3) {
171                value.zIndex = 999
172            }
173            if (value['inHide'] == false) {
174                value['moveSpeed']['x'] += 300 * game['deltaTime'] * value['flySide'];
175                if (value['moveSpeed']['x'] > 500) {
176                    value['moveSpeed']['x'] -= abs(350 * game['deltaTime'] * value['flySide'])
177                } else {
178                    if (value['moveSpeed']['x'] < -500) {
179                        value['moveSpeed']['x'] += abs(350 * game['deltaTime'] * value['flySide'])
180                    }
181                }
182                ;
183                if (value['moveSpeed']['y'] > 500) {
184                    value['moveSpeed']['y'] = 500
185                }
186            }
187            ;
188            if (value['flySide'] == 0) {
189                var asd = abs(value['moveSpeed']['x']) * 0.7 * game['deltaTime'];
190                if (value['moveSpeed']['x'] < 0) {
191                    value['moveSpeed']['x'] += asd
192                } else {
193                    value['moveSpeed']['x'] -= asd
194                }
195            }
196            ;
197            if (value['inHide']) {
198                if (game['time'] - value['inHideTime'] > 500) {
199                    //value['visible'] = false;
200                    //if (value['pet']) {
201                    //    value['pet']['visible'] = false
202                    //}
203                    value.zIndex = 999;
204                }
205                ;value['moveSpeed']['x'] = 0;
206                value['moveSpeed']['y'] = 0
207            } else {
208                value['visible'] = true;
209                if (value['pet']) {
210                    value['pet']['visible'] = true
211                }
212            }
213            ;
214            if (value['invisibleTime'] > game['time']) {
215                var checkFood2 = checkFoodChain(game['me'], value);
216                if (checkFood2['check'] == 1 || checkFood2['check'] == -1) {
217                    value['opacity'] = 0
218                } else {
219                    value['opacity'] = 0.2
220                }
221            } else {
222                value['opacity'] = 1
223            }
224            ;value['interpolateSpeed'] = 0.015;
225            if (value['grabbed']) {
226                value['interpolateSpeed'] = 0.1
227            }
228            ;
229            if (value['inHide'] == true) {
230                if (typeof value['interpolateTo']['x'] != 'undefined' || typeof value['interpolateTo']['y'] != 'undefined') {
231                    value['interpolateSpeed'] = 0.05;
232                    game['interpolatePosition'](value)
233                }
234                ;
235                return false
236            }
237        }
238
239        const darkOff = (a, aa, aaa, aaaaa, a2) => {
240            return
241        }
242        let timer = null;
243
244        function hello() {
245            if (timer) {
246                return;
247            }
248            timer = true;
249            sendChat(45);
250            setTimeout(() => {
251                sendChat(8);
252                timer = false;
253            }, 5000)
254        }
255
256
257        const outline = (value) => {
258            setAnimations(value);
259            if (value.nick === "jmatg1" && game.me.nick !== "jmatg1") {
260                value.opacity = 0;
261                value.visible = 0;
262                hello();
263            } else {
264                if (timer) {
265                    clearInterval(timer);
266                }
267            }
268            if (game.me.inSafeZone || value.inSafeZone) {
269                value.outline = null;
270            } else {
271                var checkFood2 = checkFoodChain(game.me, value);
272                if (checkFood2.check == 1) {
273                    value.outline = "#00cc44";
274                    if (checkFoodChain(value, game.me).check == 1) {
275                        value.outline = "orange";
276                    }
277                    ;
278                    value.outlineWeight = 5;
279                } else {
280                    if (checkFood2.check == -1) {
281                        value.outline = "red";
282                        value.outlineWeight = 5;
283                    } else {
284                        value.outline = null;
285                    }
286                }
287            }
288        };
289
290
291        const styles = `
292<style>
293#gameContainer .scanPlayers {
294  position: fixed;
295  left: 72vw;
296  top: 0;
297  right: 0px;
298  background: none;
299  display: flex;
300  transform: none;
301  padding: 0;
302  margin: 0;
303}
304.scanPlayers div {
305    display: flex !important;
306    flex-direction: column;
307}
308#gameContainer .scanPlayers>.title{
309  display: none;
310}
311
312#gameContainer .scanPlayers .player{
313    background: none;
314    border: 0;
315    width: 50px;
316    height: 50px;
317    margin: 0;
318    padding: 0;
319}
320
321#gameContainer .scanPlayers .nick,
322.scanPlayers .experienceBar,
323.scanPlayers .close,
324.scanPlayers .title,
325.scanPlayers button{
326  display: none !important;
327}
328#enemy-detect {
329  position: absolute;
330  border-radius: 50%;
331  /* border: 1px solid red; */
332  width: 100px;
333  height: 100px;
334  left: calc(50% - 50px);
335  top: calc(50% - 50px);
336  box-shadow: 0px 0px 20px 0px #ff000080;
337}
338</style>
339`;
340        let asd = 0;
341        const showServer = () => {
342            const val = document.getElementById('selectServer')?.options[document?.getElementById('selectServer')?.selectedIndex]?.text;
343            if(!val.includes('(') && asd < 10){
344                setTimeout(() => {
345                    showServer();
346                    asd++;
347                }, 200);
348            }
349            console.log(val);
350            $("#gameContainer > div.debugInfo > div.server").html('server: <font color="black">' +val + " </font>");
351        }
352        let i_i = 0;
353        let inj = false;
354        const interval = setInterval(() => {
355
356
357            if(Boolean(document.getElementsByClassName('btnStartGame')[0]) && i_i === 0) {
358                document.getElementsByClassName('btnStartGame')[0].addEventListener('click', ev => {
359                    //showServer();
360                });
361
362                i_i++;
363            }
364
365            if (window?.objectHandlerFunc_PLAYER) {
366                objectHandlerFunc_PLAYER = doesntHidePlayersFunc;
367            }
368
369            if (window?.animateObject) {
370                animateObject = outline;
371            }
372
373
374            if (window?.removeObject) {
375                const orRO = window?.removeObject;
376                removeObject = (val) => {
377                    showTimeSpawnFood(val);
378                    orRO(val);
379                };
380            }
381
382            if (window?.wasSocketInit && window?.joinedGame && !window?.imDead && !inj) {
383
384                drawDarkness = darkOff;
385
386                gameServer.off(socketMsgType.SCANPLAYERS);
387                gameServer.on(socketMsgType.SCANPLAYERS, function (arr) {
388                    scanPlayersArr = arr.filter(el => {
389                        return checkFoodChain(game.objectsDef[el.evolution], game.me).check === 1
390                    });
391
392                    if (scanPlayersArr.length > 0) {
393                        $('#enemy-detect').show();
394                    } else {
395                        $('#enemy-detect').hide();
396                    }
397                    showPlayersScans();
398                });
399
400                setInterval(() => {
401                    gameServer.emit(socketMsgType.SCANPLAYERS);
402                }, 500)
403                let intervalBoost = null;
404                document.body.onkeydown = function (e) {
405                    if (e.shiftKey && joinedGame && !imDead) {
406                        boost();
407                    }
408
409                    if ((e.code === 'KeyS' || e.code === 'ArrowDown') && joinedGame && !imDead) {
410                        skillUse()
411                    }
412                }
413                document.body.onkeyup = function (e) {
414                    if (e.key == " " || e.code == "Space" || e.keyCode == 32) {
415                        if (joinedGame && imDead) {
416                            playAgain();
417                        }
418                    }
419                    if ((e.code === 'KeyS' || e.code === 'ArrowDown') && joinedGame && !imDead) {
420                        skillStop();
421                    }
422                    if (e.keyCode == 81) {
423                        if (joinedGame && !imDead) {
424                            sendEmote(1); // dislike
425                        }
426                    }
427                    if (e.keyCode == 69) {
428                        if (joinedGame && !imDead) {
429                            sendEmote(10); // haha
430                        }
431                    }
432                    if (e.keyCode == 51) {
433                        if (joinedGame && !imDead) {
434                            sendEmote(4); // Broken Heart
435                        }
436                    }
437                    if (e.keyCode == 52) {
438                        if (joinedGame && !imDead) {
439                            sendEmote(11); // heart
440                        }
441                    }
442                    if (e.keyCode == 82) {
443                        if (joinedGame && !imDead) {
444                            sendEmote(1); // dislike
445                        }
446                    }
447                    if (e.keyCode == 84) {
448                        if (joinedGame && !imDead) {
449                            sendChat(29); // rats
450                        }
451                    }
452                    if (e.keyCode == 76) {
453                        if (joinedGame && !imDead) {
454                            askForDiscord(1); // discord
455                        }
456                    }
457                    if (e.keyCode == 67) {
458                        if (joinedGame && !imDead) {
459                            sendChat(22); // fight
460                        }
461                    }
462                    if (e.keyCode == 88) {
463                        if (joinedGame && !imDead) {
464                            sendChat(3); // goodbye
465                        }
466                    }
467                    if (e.keyCode == 90) {
468                        if (joinedGame && !imDead) {
469                            sendChat(14); // funny
470                        }
471                    }
472                    if (e.keyCode == 86) {
473                        if (joinedGame && !imDead) {
474                            sendChat(39); // come
475                        }
476                    }
477                    if (e.keyCode == 70) {
478                        if (joinedGame && !imDead) {
479                            sendChat(38); // wait
480                        }
481                    }
482                    if (e.keyCode == 53) {
483                        if (joinedGame && !imDead) {
484                            sendEmote(2); // sadsmile
485                        }
486                    }
487                    if (e.keyCode == 54) {
488                        if (joinedGame && !imDead) {
489                            sendEmote(13); // goodbye2
490                        }
491                    }
492                    if (e.keyCode == 55) {
493                        if (joinedGame && !imDead) {
494                            sendEmote(7); // angry
495                        }
496                    }
497                    if (e.keyCode == 56) {
498                        if (joinedGame && !imDead) {
499                            sendEmote(6); // cry
500                        }
501                    }
502                    if (e.keyCode == 57) {
503                        if (joinedGame && !imDead) {
504                            sendEmote(5); // dislike
505                        }
506                    }
507                    if (e.keyCode == 48) {
508                        if (joinedGame && !imDead) {
509                            sendEmote(3); // killme
510                        }
511                    }
512                    if (e.keyCode == 71) {
513                        if (joinedGame && !imDead) {
514                            sendChat(15); // lol
515                        }
516                    }
517                    if (e.keyCode == 30) {
518                        if (joinedGame && !imDead) {
519                            sendChat(40); // forget
520                        }
521                    }
522                }
523
524                inj = true;
525            }
526
527            if (inj) {
528                clearInterval(interval);
529                document.head.insertAdjacentHTML("beforeend", styles);
530                $('#gameContainer').append('<div id="enemy-detect"></div>');
531                zoomHack();
532                fixChatMenu();
533
534            }
535        }, 500);
536
537    }
538
539
540    })();
541