Veck.io Aimbot

Size

7.2 KB

Version

1.0.1

Created

Feb 17, 2026

Updated

20 days ago

1// ==UserScript==
2// @name		Veck.io Aimbot
3// @match		*://*.veck.io/*
4// @grant		none
5// @run-at		document-idle
6// @require		https://raw.githubusercontent.com/TJGTA3/filehostalskdfjkalsjflaksdjf/refs/heads/main/metadata31fixed5
7// @version		1.0.1
8// ==/UserScript==
9(function() {
10    'use strict';
11
12    let aimbotEnabled = true;
13    let autoShootEnabled = true; // Auto shoot feature
14    let aimKey = 'e'; // Key to toggle aimbot
15    let shootKey = 'r'; // Key to toggle auto shoot
16    let aimSpeed = 0.15; // Smoothness of aim (0.1 = smooth, 1 = instant)
17    let aimFOV = 300; // Field of view for aimbot in pixels
18
19    console.log('[Veck.io Aimbot] Initializing...');
20
21    function getPlayers() {
22        try {
23            // Try to find players through Unity WebGL
24            if (typeof UnityWebModkit !== 'undefined') {
25                const players = UnityWebModkit.getPlayers?.() || [];
26                return players;
27            }
28            
29            // Fallback: Try to find player objects in the scene
30            const canvas = document.querySelector('canvas');
31            if (canvas && canvas.getContext) {
32                // Access Unity instance if available
33                if (window.unityInstance) {
34                    return window.unityInstance.Module?.players || [];
35                }
36            }
37            
38            return [];
39        } catch (e) {
40            console.error('[Veck.io Aimbot] Error getting players:', e);
41            return [];
42        }
43    }
44
45    function getClosestEnemy() {
46        try {
47            const players = getPlayers();
48            const canvas = document.querySelector('canvas');
49            if (!canvas) return null;
50
51            const centerX = canvas.width / 2;
52            const centerY = canvas.height / 2;
53            
54            let closestEnemy = null;
55            let closestDistance = aimFOV;
56
57            players.forEach(player => {
58                if (!player || player.isLocalPlayer || player.isDead) return;
59                
60                const screenPos = player.screenPosition || player.position;
61                if (!screenPos) return;
62
63                const dx = screenPos.x - centerX;
64                const dy = screenPos.y - centerY;
65                const distance = Math.sqrt(dx * dx + dy * dy);
66
67                if (distance < closestDistance) {
68                    closestDistance = distance;
69                    closestEnemy = { player, screenPos, distance };
70                }
71            });
72
73            return closestEnemy;
74        } catch (e) {
75            console.error('[Veck.io Aimbot] Error finding closest enemy:', e);
76            return null;
77        }
78    }
79
80    function aimAtTarget(target) {
81        try {
82            const canvas = document.querySelector('canvas');
83            if (!canvas) return;
84
85            const centerX = canvas.width / 2;
86            const centerY = canvas.height / 2;
87            
88            const dx = target.screenPos.x - centerX;
89            const dy = target.screenPos.y - centerY;
90
91            // Smooth aim
92            const moveX = dx * aimSpeed;
93            const moveY = dy * aimSpeed;
94
95            // Simulate mouse movement
96            const event = new MouseEvent('mousemove', {
97                clientX: centerX + moveX,
98                clientY: centerY + moveY,
99                bubbles: true,
100                cancelable: true
101            });
102            
103            canvas.dispatchEvent(event);
104
105            // Auto shoot when target is close to center
106            if (autoShootEnabled && target.distance < 50) {
107                autoShoot(canvas);
108            }
109        } catch (e) {
110            console.error('[Veck.io Aimbot] Error aiming at target:', e);
111        }
112    }
113
114    function autoShoot(canvas) {
115        try {
116            // Simulate mouse click to shoot
117            const mouseDownEvent = new MouseEvent('mousedown', {
118                button: 0,
119                buttons: 1,
120                bubbles: true,
121                cancelable: true
122            });
123            
124            const mouseUpEvent = new MouseEvent('mouseup', {
125                button: 0,
126                buttons: 0,
127                bubbles: true,
128                cancelable: true
129            });
130            
131            canvas.dispatchEvent(mouseDownEvent);
132            setTimeout(() => {
133                canvas.dispatchEvent(mouseUpEvent);
134            }, 50);
135        } catch (e) {
136            console.error('[Veck.io Aimbot] Error auto shooting:', e);
137        }
138    }
139
140    function aimbotLoop() {
141        if (aimbotEnabled) {
142            const target = getClosestEnemy();
143            if (target) {
144                aimAtTarget(target);
145            }
146        }
147        requestAnimationFrame(aimbotLoop);
148    }
149
150    // Toggle aimbot with key
151    document.addEventListener('keydown', (e) => {
152        if (e.key.toLowerCase() === aimKey) {
153            aimbotEnabled = !aimbotEnabled;
154            console.log(`[Veck.io Aimbot] ${aimbotEnabled ? 'ENABLED' : 'DISABLED'}`);
155            
156            // Show notification
157            showNotification(`Aimbot ${aimbotEnabled ? 'ON' : 'OFF'}`);
158        }
159        
160        if (e.key.toLowerCase() === shootKey) {
161            autoShootEnabled = !autoShootEnabled;
162            console.log(`[Veck.io Auto Shoot] ${autoShootEnabled ? 'ENABLED' : 'DISABLED'}`);
163            
164            // Show notification
165            showNotification(`Auto Shoot ${autoShootEnabled ? 'ON' : 'OFF'}`);
166        }
167    });
168
169    function showNotification(message) {
170        const notification = document.createElement('div');
171        notification.textContent = message;
172        const isAimbotMessage = message.includes('Aimbot');
173        const isEnabled = message.includes('ON');
174        notification.style.cssText = `
175            position: fixed;
176            top: 20px;
177            right: 20px;
178            background: ${isEnabled ? '#00ff00' : '#ff0000'};
179            color: #000;
180            padding: 15px 25px;
181            border-radius: 8px;
182            font-family: Arial, sans-serif;
183            font-size: 16px;
184            font-weight: bold;
185            z-index: 10000;
186            box-shadow: 0 4px 6px rgba(0,0,0,0.3);
187            animation: slideIn 0.3s ease-out;
188        `;
189        
190        document.body.appendChild(notification);
191        
192        setTimeout(() => {
193            notification.style.animation = 'slideOut 0.3s ease-out';
194            setTimeout(() => notification.remove(), 300);
195        }, 2000);
196    }
197
198    // Add CSS animations
199    const style = document.createElement('style');
200    style.textContent = `
201        @keyframes slideIn {
202            from { transform: translateX(400px); opacity: 0; }
203            to { transform: translateX(0); opacity: 1; }
204        }
205        @keyframes slideOut {
206            from { transform: translateX(0); opacity: 1; }
207            to { transform: translateX(400px); opacity: 0; }
208        }
209    `;
210    document.head.appendChild(style);
211
212    function init() {
213        console.log('[Veck.io Aimbot] Started! Press "E" to toggle aimbot, "R" to toggle auto shoot');
214        showNotification('Aimbot Loaded - E: Aimbot | R: Auto Shoot');
215        
216        // Start aimbot loop
217        setTimeout(() => {
218            aimbotLoop();
219        }, 2000);
220    }
221    
222    if (document.readyState === 'loading') {
223        document.addEventListener('DOMContentLoaded', init);
224    } else {
225        init();
226    }
227})();