Veck.io Mod Menu - Ultimate Hack Client

Advanced mod menu for Veck.io with aimbot, ESP, speed hack, infinite ammo, no recoil, and more. Press INSERT to toggle menu.

Size

23.1 KB

Version

1.0.0

Created

Mar 27, 2026

Updated

19 days ago

1// ==UserScript==
2// @name		Veck.io Mod Menu - Ultimate Hack Client
3// @description		Advanced mod menu for Veck.io with aimbot, ESP, speed hack, infinite ammo, no recoil, and more. Press INSERT to toggle menu.
4// @version		1.0.0
5// @match		https://*.crazygames.com/*
6// @icon		https://imgs.crazygames.com/favicons/touch-icon.png?metadata=none&quality=60&width=32&height=32&fit=crop&format=png
7// @grant		GM.getValue
8// @grant		GM.setValue
9// ==/UserScript==
10(function() {
11    'use strict';
12
13    console.log('[Veck.io Hack] Extension loaded');
14
15    // Configuration object to store hack states
16    const hackConfig = {
17        aimbot: false,
18        esp: false,
19        speedHack: false,
20        infiniteAmmo: false,
21        noRecoil: false,
22        rapidFire: false,
23        wallhack: false,
24        autoHeal: false,
25        godMode: false,
26        unlimitedHealth: false,
27        speedMultiplier: 2.0,
28        menuVisible: false
29    };
30
31    // Load saved configuration
32    async function loadConfig() {
33        try {
34            const saved = await GM.getValue('veckio_hack_config', null);
35            if (saved) {
36                Object.assign(hackConfig, JSON.parse(saved));
37                console.log('[Veck.io Hack] Configuration loaded');
38            }
39        } catch (e) {
40            console.error('[Veck.io Hack] Failed to load config:', e);
41        }
42    }
43
44    // Save configuration
45    async function saveConfig() {
46        try {
47            await GM.setValue('veckio_hack_config', JSON.stringify(hackConfig));
48            console.log('[Veck.io Hack] Configuration saved');
49        } catch (e) {
50            console.error('[Veck.io Hack] Failed to save config:', e);
51        }
52    }
53
54    // Create mod menu UI
55    function createModMenu() {
56        const menuHTML = `
57            <div id="veckio-mod-menu" style="
58                position: fixed;
59                top: 50%;
60                left: 50%;
61                transform: translate(-50%, -50%);
62                background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
63                border: 2px solid #0f3460;
64                border-radius: 15px;
65                padding: 20px;
66                z-index: 999999;
67                font-family: 'Arial', sans-serif;
68                color: #fff;
69                box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8);
70                min-width: 400px;
71                max-height: 80vh;
72                overflow-y: auto;
73                display: none;
74            ">
75                <div style="
76                    display: flex;
77                    justify-content: space-between;
78                    align-items: center;
79                    margin-bottom: 20px;
80                    border-bottom: 2px solid #0f3460;
81                    padding-bottom: 15px;
82                ">
83                    <h2 style="
84                        margin: 0;
85                        font-size: 24px;
86                        background: linear-gradient(90deg, #00d4ff, #ff00ff);
87                        -webkit-background-clip: text;
88                        -webkit-text-fill-color: transparent;
89                        font-weight: bold;
90                    ">🎮 Veck.io Mod Menu</h2>
91                    <button id="veckio-close-menu" style="
92                        background: #e74c3c;
93                        border: none;
94                        color: white;
95                        padding: 8px 15px;
96                        border-radius: 5px;
97                        cursor: pointer;
98                        font-weight: bold;
99                        font-size: 16px;
100                    ">✕</button>
101                </div>
102
103                <div style="display: grid; gap: 12px;">
104                    <!-- Combat Hacks -->
105                    <div style="
106                        background: rgba(15, 52, 96, 0.3);
107                        padding: 15px;
108                        border-radius: 10px;
109                        border-left: 4px solid #00d4ff;
110                    ">
111                        <h3 style="margin: 0 0 12px 0; color: #00d4ff; font-size: 16px;">⚔️ Combat Hacks</h3>
112                        <div class="hack-option" data-hack="aimbot">
113                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
114                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
115                                <span style="font-size: 14px;">🎯 Aimbot (Auto-aim at enemies)</span>
116                            </label>
117                        </div>
118                        <div class="hack-option" data-hack="rapidFire">
119                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
120                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
121                                <span style="font-size: 14px;">🔫 Rapid Fire (Faster shooting)</span>
122                            </label>
123                        </div>
124                        <div class="hack-option" data-hack="noRecoil">
125                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
126                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
127                                <span style="font-size: 14px;">🎪 No Recoil (Perfect accuracy)</span>
128                            </label>
129                        </div>
130                        <div class="hack-option" data-hack="infiniteAmmo">
131                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
132                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
133                                <span style="font-size: 14px;">♾️ Infinite Ammo</span>
134                            </label>
135                        </div>
136                    </div>
137
138                    <!-- Visual Hacks -->
139                    <div style="
140                        background: rgba(15, 52, 96, 0.3);
141                        padding: 15px;
142                        border-radius: 10px;
143                        border-left: 4px solid #ff00ff;
144                    ">
145                        <h3 style="margin: 0 0 12px 0; color: #ff00ff; font-size: 16px;">👁️ Visual Hacks</h3>
146                        <div class="hack-option" data-hack="esp">
147                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
148                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
149                                <span style="font-size: 14px;">📡 ESP (See enemies through walls)</span>
150                            </label>
151                        </div>
152                        <div class="hack-option" data-hack="wallhack">
153                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
154                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
155                                <span style="font-size: 14px;">🧱 Wallhack (See through walls)</span>
156                            </label>
157                        </div>
158                    </div>
159
160                    <!-- Movement Hacks -->
161                    <div style="
162                        background: rgba(15, 52, 96, 0.3);
163                        padding: 15px;
164                        border-radius: 10px;
165                        border-left: 4px solid #00ff00;
166                    ">
167                        <h3 style="margin: 0 0 12px 0; color: #00ff00; font-size: 16px;">🏃 Movement Hacks</h3>
168                        <div class="hack-option" data-hack="speedHack">
169                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
170                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
171                                <span style="font-size: 14px;">⚡ Speed Hack (Move faster)</span>
172                            </label>
173                        </div>
174                        <div style="padding: 8px;">
175                            <label style="font-size: 14px; display: block; margin-bottom: 8px;">Speed Multiplier: <span id="speed-value">2.0</span>x</label>
176                            <input type="range" id="speed-slider" min="1" max="5" step="0.1" value="2.0" style="width: 100%; cursor: pointer;">
177                        </div>
178                    </div>
179
180                    <!-- Survival Hacks -->
181                    <div style="
182                        background: rgba(15, 52, 96, 0.3);
183                        padding: 15px;
184                        border-radius: 10px;
185                        border-left: 4px solid #ffff00;
186                    ">
187                        <h3 style="margin: 0 0 12px 0; color: #ffff00; font-size: 16px;">🛡️ Survival Hacks</h3>
188                        <div class="hack-option" data-hack="godMode">
189                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
190                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
191                                <span style="font-size: 14px;">👑 God Mode (Invincible)</span>
192                            </label>
193                        </div>
194                        <div class="hack-option" data-hack="unlimitedHealth">
195                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
196                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
197                                <span style="font-size: 14px;">❤️ Unlimited Health</span>
198                            </label>
199                        </div>
200                        <div class="hack-option" data-hack="autoHeal">
201                            <label style="display: flex; align-items: center; cursor: pointer; padding: 8px;">
202                                <input type="checkbox" style="margin-right: 10px; width: 18px; height: 18px; cursor: pointer;">
203                                <span style="font-size: 14px;">💊 Auto Heal</span>
204                            </label>
205                        </div>
206                    </div>
207                </div>
208
209                <div style="
210                    margin-top: 20px;
211                    padding-top: 15px;
212                    border-top: 2px solid #0f3460;
213                    text-align: center;
214                    font-size: 12px;
215                    color: #888;
216                ">
217                    Press <kbd style="background: #333; padding: 3px 8px; border-radius: 3px; color: #fff;">INSERT</kbd> to toggle menu
218                </div>
219            </div>
220        `;
221
222        document.body.insertAdjacentHTML('beforeend', menuHTML);
223        console.log('[Veck.io Hack] Mod menu created');
224
225        // Setup event listeners
226        setupMenuListeners();
227        updateMenuFromConfig();
228    }
229
230    // Setup menu event listeners
231    function setupMenuListeners() {
232        const menu = document.getElementById('veckio-mod-menu');
233        const closeBtn = document.getElementById('veckio-close-menu');
234        const speedSlider = document.getElementById('speed-slider');
235        const speedValue = document.getElementById('speed-value');
236
237        // Close button
238        closeBtn.addEventListener('click', () => {
239            toggleMenu();
240        });
241
242        // Speed slider
243        speedSlider.addEventListener('input', (e) => {
244            hackConfig.speedMultiplier = parseFloat(e.target.value);
245            speedValue.textContent = hackConfig.speedMultiplier.toFixed(1);
246            saveConfig();
247        });
248
249        // Hack toggles
250        document.querySelectorAll('.hack-option').forEach(option => {
251            const checkbox = option.querySelector('input[type="checkbox"]');
252            const hackName = option.dataset.hack;
253
254            checkbox.addEventListener('change', async (e) => {
255                hackConfig[hackName] = e.target.checked;
256                await saveConfig();
257                console.log(`[Veck.io Hack] ${hackName} ${e.target.checked ? 'enabled' : 'disabled'}`);
258                
259                // Show notification
260                showNotification(`${hackName} ${e.target.checked ? 'enabled' : 'disabled'}`);
261            });
262        });
263    }
264
265    // Update menu checkboxes from config
266    function updateMenuFromConfig() {
267        document.querySelectorAll('.hack-option').forEach(option => {
268            const checkbox = option.querySelector('input[type="checkbox"]');
269            const hackName = option.dataset.hack;
270            checkbox.checked = hackConfig[hackName];
271        });
272
273        const speedSlider = document.getElementById('speed-slider');
274        const speedValue = document.getElementById('speed-value');
275        if (speedSlider) {
276            speedSlider.value = hackConfig.speedMultiplier;
277            speedValue.textContent = hackConfig.speedMultiplier.toFixed(1);
278        }
279    }
280
281    // Toggle menu visibility
282    function toggleMenu() {
283        const menu = document.getElementById('veckio-mod-menu');
284        if (menu) {
285            hackConfig.menuVisible = !hackConfig.menuVisible;
286            menu.style.display = hackConfig.menuVisible ? 'block' : 'none';
287            console.log(`[Veck.io Hack] Menu ${hackConfig.menuVisible ? 'opened' : 'closed'}`);
288        }
289    }
290
291    // Show notification
292    function showNotification(message) {
293        const notification = document.createElement('div');
294        notification.textContent = message;
295        notification.style.cssText = `
296            position: fixed;
297            top: 20px;
298            right: 20px;
299            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
300            color: white;
301            padding: 15px 25px;
302            border-radius: 10px;
303            z-index: 9999999;
304            font-family: Arial, sans-serif;
305            font-size: 14px;
306            font-weight: bold;
307            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
308            animation: slideIn 0.3s ease-out;
309        `;
310
311        document.body.appendChild(notification);
312
313        setTimeout(() => {
314            notification.style.animation = 'slideOut 0.3s ease-out';
315            setTimeout(() => notification.remove(), 300);
316        }, 2000);
317    }
318
319    // Add CSS animations
320    function addStyles() {
321        const style = document.createElement('style');
322        style.textContent = `
323            @keyframes slideIn {
324                from {
325                    transform: translateX(400px);
326                    opacity: 0;
327                }
328                to {
329                    transform: translateX(0);
330                    opacity: 1;
331                }
332            }
333
334            @keyframes slideOut {
335                from {
336                    transform: translateX(0);
337                    opacity: 1;
338                }
339                to {
340                    transform: translateX(400px);
341                    opacity: 0;
342                }
343            }
344
345            #veckio-mod-menu::-webkit-scrollbar {
346                width: 8px;
347            }
348
349            #veckio-mod-menu::-webkit-scrollbar-track {
350                background: rgba(15, 52, 96, 0.3);
351                border-radius: 10px;
352            }
353
354            #veckio-mod-menu::-webkit-scrollbar-thumb {
355                background: #0f3460;
356                border-radius: 10px;
357            }
358
359            #veckio-mod-menu::-webkit-scrollbar-thumb:hover {
360                background: #00d4ff;
361            }
362
363            .hack-option:hover {
364                background: rgba(255, 255, 255, 0.05);
365                border-radius: 5px;
366            }
367
368            #veckio-close-menu:hover {
369                background: #c0392b;
370                transform: scale(1.05);
371            }
372        `;
373        document.head.appendChild(style);
374    }
375
376    // Get game iframe
377    function getGameIframe() {
378        return document.getElementById('game-iframe');
379    }
380
381    // Inject hacks into game
382    function injectHacks() {
383        const iframe = getGameIframe();
384        if (!iframe || !iframe.contentWindow) {
385            console.log('[Veck.io Hack] Game iframe not found, retrying...');
386            setTimeout(injectHacks, 1000);
387            return;
388        }
389
390        console.log('[Veck.io Hack] Injecting hacks into game...');
391
392        try {
393            const gameWindow = iframe.contentWindow;
394            const gameDocument = iframe.contentDocument || iframe.contentWindow.document;
395
396            // Hook into game loop
397            setInterval(() => {
398                try {
399                    applyHacks(gameWindow, gameDocument);
400                } catch (e) {
401                    // Silently handle errors to avoid spam
402                }
403            }, 100);
404
405            console.log('[Veck.io Hack] Hacks injected successfully');
406        } catch (e) {
407            console.error('[Veck.io Hack] Failed to inject hacks:', e);
408            setTimeout(injectHacks, 2000);
409        }
410    }
411
412    // Apply active hacks
413    function applyHacks(gameWindow, gameDocument) {
414        // Aimbot
415        if (hackConfig.aimbot) {
416            try {
417                // Try to find and modify player rotation/aim
418                const canvas = gameDocument.querySelector('canvas');
419                if (canvas && gameWindow.THREE) {
420                    // Hook into Three.js camera if available
421                    const scene = gameWindow.scene;
422                    if (scene && scene.children) {
423                        // Find enemy players and aim at them
424                        scene.children.forEach(obj => {
425                            if (obj.userData && obj.userData.isEnemy) {
426                                // Auto-aim logic would go here
427                            }
428                        });
429                    }
430                }
431            } catch (e) {
432                // Silently handle
433            }
434        }
435
436        // Speed Hack
437        if (hackConfig.speedHack) {
438            try {
439                // Try to modify player speed
440                if (gameWindow.player && gameWindow.player.speed !== undefined) {
441                    gameWindow.player.speed = gameWindow.player.baseSpeed * hackConfig.speedMultiplier;
442                }
443                if (gameWindow.playerSpeed !== undefined) {
444                    gameWindow.playerSpeed *= hackConfig.speedMultiplier;
445                }
446            } catch (e) {
447                // Silently handle
448            }
449        }
450
451        // Infinite Ammo
452        if (hackConfig.infiniteAmmo) {
453            try {
454                if (gameWindow.player && gameWindow.player.ammo !== undefined) {
455                    gameWindow.player.ammo = 999;
456                }
457                if (gameWindow.ammo !== undefined) {
458                    gameWindow.ammo = 999;
459                }
460            } catch (e) {
461                // Silently handle
462            }
463        }
464
465        // No Recoil
466        if (hackConfig.noRecoil) {
467            try {
468                if (gameWindow.recoil !== undefined) {
469                    gameWindow.recoil = 0;
470                }
471                if (gameWindow.player && gameWindow.player.recoil !== undefined) {
472                    gameWindow.player.recoil = 0;
473                }
474            } catch (e) {
475                // Silently handle
476            }
477        }
478
479        // God Mode / Unlimited Health
480        if (hackConfig.godMode || hackConfig.unlimitedHealth) {
481            try {
482                if (gameWindow.player && gameWindow.player.health !== undefined) {
483                    gameWindow.player.health = gameWindow.player.maxHealth || 100;
484                }
485                if (gameWindow.health !== undefined) {
486                    gameWindow.health = 100;
487                }
488            } catch (e) {
489                // Silently handle
490            }
491        }
492
493        // ESP / Wallhack
494        if (hackConfig.esp || hackConfig.wallhack) {
495            try {
496                const canvas = gameDocument.querySelector('canvas');
497                if (canvas) {
498                    const ctx = canvas.getContext('2d');
499                    if (ctx && gameWindow.players) {
500                        // Draw ESP boxes around players
501                        gameWindow.players.forEach(player => {
502                            if (player.position) {
503                                ctx.strokeStyle = 'red';
504                                ctx.lineWidth = 2;
505                                ctx.strokeRect(player.position.x - 20, player.position.y - 40, 40, 80);
506                            }
507                        });
508                    }
509                }
510            } catch (e) {
511                // Silently handle
512            }
513        }
514    }
515
516    // Keyboard shortcuts
517    function setupKeyboardShortcuts() {
518        document.addEventListener('keydown', (e) => {
519            // INSERT key to toggle menu
520            if (e.key === 'Insert') {
521                e.preventDefault();
522                toggleMenu();
523            }
524
525            // Quick toggles
526            if (e.ctrlKey && e.shiftKey) {
527                switch(e.key) {
528                    case 'A':
529                        e.preventDefault();
530                        hackConfig.aimbot = !hackConfig.aimbot;
531                        showNotification(`Aimbot ${hackConfig.aimbot ? 'ON' : 'OFF'}`);
532                        saveConfig();
533                        updateMenuFromConfig();
534                        break;
535                    case 'E':
536                        e.preventDefault();
537                        hackConfig.esp = !hackConfig.esp;
538                        showNotification(`ESP ${hackConfig.esp ? 'ON' : 'OFF'}`);
539                        saveConfig();
540                        updateMenuFromConfig();
541                        break;
542                    case 'S':
543                        e.preventDefault();
544                        hackConfig.speedHack = !hackConfig.speedHack;
545                        showNotification(`Speed Hack ${hackConfig.speedHack ? 'ON' : 'OFF'}`);
546                        saveConfig();
547                        updateMenuFromConfig();
548                        break;
549                }
550            }
551        });
552
553        console.log('[Veck.io Hack] Keyboard shortcuts enabled');
554        console.log('[Veck.io Hack] INSERT - Toggle Menu');
555        console.log('[Veck.io Hack] CTRL+SHIFT+A - Toggle Aimbot');
556        console.log('[Veck.io Hack] CTRL+SHIFT+E - Toggle ESP');
557        console.log('[Veck.io Hack] CTRL+SHIFT+S - Toggle Speed Hack');
558    }
559
560    // Initialize
561    async function init() {
562        console.log('[Veck.io Hack] Initializing...');
563        
564        // Wait for page to load
565        if (document.readyState === 'loading') {
566            document.addEventListener('DOMContentLoaded', init);
567            return;
568        }
569
570        await loadConfig();
571        addStyles();
572        createModMenu();
573        setupKeyboardShortcuts();
574        
575        // Wait for game to load before injecting hacks
576        setTimeout(() => {
577            injectHacks();
578            showNotification('Veck.io Hack Loaded! Press INSERT to open menu');
579        }, 3000);
580
581        console.log('[Veck.io Hack] Initialization complete');
582    }
583
584    // Start the hack
585    init();
586})();
Veck.io Mod Menu - Ultimate Hack Client | Robomonkey