evoworld.io Cheats

"evoworld.io Cheats"

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