Veck.io Unlock All Weapons & Items

Unlocks all weapons and items in Veck.io

Size

14.0 KB

Version

1.0.1

Created

Jan 20, 2026

Updated

14 days ago

1// ==UserScript==
2// @name		Veck.io Unlock All Weapons & Items
3// @description		Unlocks all weapons and items in Veck.io
4// @version		1.0.1
5// @match		https://*.veck.io/*
6// @icon		https://veck.io/favicon/favicon.ico
7// @grant		GM.getValue
8// @grant		GM.setValue
9// @grant		GM.listValues
10// ==/UserScript==
11(function() {
12    'use strict';
13
14    console.log('[Veck.io Unlocker] Extension loaded');
15
16    // Intercept localStorage to unlock all items
17    const originalSetItem = localStorage.setItem;
18    const originalGetItem = localStorage.getItem;
19
20    // Override localStorage.setItem to intercept game data
21    localStorage.setItem = function(key, value) {
22        try {
23            // Check if this is game data related to unlocks
24            if (key && typeof value === 'string') {
25                let data = value;
26                
27                // Try to parse as JSON
28                try {
29                    let parsed = JSON.parse(value);
30                    
31                    // Look for unlock-related data structures
32                    if (parsed && typeof parsed === 'object') {
33                        // Unlock weapons
34                        if (parsed.weapons || parsed.Weapons) {
35                            console.log('[Veck.io Unlocker] Found weapons data, unlocking all...');
36                            let weaponsKey = parsed.weapons ? 'weapons' : 'Weapons';
37                            if (Array.isArray(parsed[weaponsKey])) {
38                                parsed[weaponsKey] = parsed[weaponsKey].map(w => ({...w, unlocked: true, locked: false, owned: true}));
39                            } else if (typeof parsed[weaponsKey] === 'object') {
40                                for (let wKey in parsed[weaponsKey]) {
41                                    parsed[weaponsKey][wKey].unlocked = true;
42                                    parsed[weaponsKey][wKey].locked = false;
43                                    parsed[weaponsKey][wKey].owned = true;
44                                }
45                            }
46                        }
47                        
48                        // Unlock items
49                        if (parsed.items || parsed.Items) {
50                            console.log('[Veck.io Unlocker] Found items data, unlocking all...');
51                            let itemsKey = parsed.items ? 'items' : 'Items';
52                            if (Array.isArray(parsed[itemsKey])) {
53                                parsed[itemsKey] = parsed[itemsKey].map(i => ({...i, unlocked: true, locked: false, owned: true}));
54                            } else if (typeof parsed[itemsKey] === 'object') {
55                                for (let iKey in parsed[itemsKey]) {
56                                    parsed[itemsKey][iKey].unlocked = true;
57                                    parsed[itemsKey][iKey].locked = false;
58                                    parsed[itemsKey][iKey].owned = true;
59                                }
60                            }
61                        }
62                        
63                        // Unlock skins
64                        if (parsed.skins || parsed.Skins) {
65                            console.log('[Veck.io Unlocker] Found skins data, unlocking all...');
66                            let skinsKey = parsed.skins ? 'skins' : 'Skins';
67                            if (Array.isArray(parsed[skinsKey])) {
68                                parsed[skinsKey] = parsed[skinsKey].map(s => ({...s, unlocked: true, locked: false, owned: true}));
69                            } else if (typeof parsed[skinsKey] === 'object') {
70                                for (let sKey in parsed[skinsKey]) {
71                                    parsed[skinsKey][sKey].unlocked = true;
72                                    parsed[skinsKey][sKey].locked = false;
73                                    parsed[skinsKey][sKey].owned = true;
74                                }
75                            }
76                        }
77                        
78                        // Add unlimited currency
79                        if (parsed.coins !== undefined) {
80                            parsed.coins = 999999;
81                            console.log('[Veck.io Unlocker] Set coins to 999999');
82                        }
83                        if (parsed.money !== undefined) {
84                            parsed.money = 999999;
85                            console.log('[Veck.io Unlocker] Set money to 999999');
86                        }
87                        if (parsed.currency !== undefined) {
88                            parsed.currency = 999999;
89                            console.log('[Veck.io Unlocker] Set currency to 999999');
90                        }
91                        if (parsed.credits !== undefined) {
92                            parsed.credits = 999999;
93                            console.log('[Veck.io Unlocker] Set credits to 999999');
94                        }
95                        
96                        data = JSON.stringify(parsed);
97                    }
98                } catch (e) {
99                    // Not JSON, continue with original value
100                }
101                
102                return originalSetItem.call(this, key, data);
103            }
104        } catch (error) {
105            console.error('[Veck.io Unlocker] Error intercepting setItem:', error);
106        }
107        
108        return originalSetItem.call(this, key, value);
109    };
110
111    // Override localStorage.getItem to return unlocked data
112    localStorage.getItem = function(key) {
113        let value = originalGetItem.call(this, key);
114        
115        if (!value) return value;
116        
117        try {
118            let parsed = JSON.parse(value);
119            
120            if (parsed && typeof parsed === 'object') {
121                let modified = false;
122                
123                // Unlock weapons
124                if (parsed.weapons || parsed.Weapons) {
125                    let weaponsKey = parsed.weapons ? 'weapons' : 'Weapons';
126                    if (Array.isArray(parsed[weaponsKey])) {
127                        parsed[weaponsKey] = parsed[weaponsKey].map(w => ({...w, unlocked: true, locked: false, owned: true}));
128                        modified = true;
129                    } else if (typeof parsed[weaponsKey] === 'object') {
130                        for (let wKey in parsed[weaponsKey]) {
131                            parsed[weaponsKey][wKey].unlocked = true;
132                            parsed[weaponsKey][wKey].locked = false;
133                            parsed[weaponsKey][wKey].owned = true;
134                        }
135                        modified = true;
136                    }
137                }
138                
139                // Unlock items
140                if (parsed.items || parsed.Items) {
141                    let itemsKey = parsed.items ? 'items' : 'Items';
142                    if (Array.isArray(parsed[itemsKey])) {
143                        parsed[itemsKey] = parsed[itemsKey].map(i => ({...i, unlocked: true, locked: false, owned: true}));
144                        modified = true;
145                    } else if (typeof parsed[itemsKey] === 'object') {
146                        for (let iKey in parsed[itemsKey]) {
147                            parsed[itemsKey][iKey].unlocked = true;
148                            parsed[itemsKey][iKey].locked = false;
149                            parsed[itemsKey][iKey].owned = true;
150                        }
151                        modified = true;
152                    }
153                }
154                
155                // Unlock skins
156                if (parsed.skins || parsed.Skins) {
157                    let skinsKey = parsed.skins ? 'skins' : 'Skins';
158                    if (Array.isArray(parsed[skinsKey])) {
159                        parsed[skinsKey] = parsed[skinsKey].map(s => ({...s, unlocked: true, locked: false, owned: true}));
160                        modified = true;
161                    } else if (typeof parsed[skinsKey] === 'object') {
162                        for (let sKey in parsed[skinsKey]) {
163                            parsed[skinsKey][sKey].unlocked = true;
164                            parsed[skinsKey][sKey].locked = false;
165                            parsed[skinsKey][sKey].owned = true;
166                        }
167                        modified = true;
168                    }
169                }
170                
171                // Add unlimited currency
172                if (parsed.coins !== undefined) {
173                    parsed.coins = 999999;
174                    modified = true;
175                }
176                if (parsed.money !== undefined) {
177                    parsed.money = 999999;
178                    modified = true;
179                }
180                if (parsed.currency !== undefined) {
181                    parsed.currency = 999999;
182                    modified = true;
183                }
184                if (parsed.credits !== undefined) {
185                    parsed.credits = 999999;
186                    modified = true;
187                }
188                
189                if (modified) {
190                    return JSON.stringify(parsed);
191                }
192            }
193        } catch (e) {
194            // Not JSON, return original
195        }
196        
197        return value;
198    };
199
200    // Intercept IndexedDB for Unity games
201    const originalIDBOpen = indexedDB.open;
202    indexedDB.open = function(...args) {
203        const request = originalIDBOpen.apply(this, args);
204        
205        request.addEventListener('success', function() {
206            console.log('[Veck.io Unlocker] IndexedDB opened:', args[0]);
207            
208            const db = request.result;
209            
210            // Try to read and modify game data
211            try {
212                const storeNames = Array.from(db.objectStoreNames);
213                console.log('[Veck.io Unlocker] Object stores:', storeNames);
214                
215                storeNames.forEach(storeName => {
216                    try {
217                        const transaction = db.transaction(storeName, 'readwrite');
218                        const store = transaction.objectStore(storeName);
219                        const getAllRequest = store.getAll();
220                        
221                        getAllRequest.onsuccess = function() {
222                            const data = getAllRequest.result;
223                            console.log(`[Veck.io Unlocker] Data from ${storeName}:`, data);
224                            
225                            // Modify and put back
226                            if (Array.isArray(data)) {
227                                data.forEach((item, index) => {
228                                    if (item && typeof item === 'object') {
229                                        if (item.unlocked !== undefined) item.unlocked = true;
230                                        if (item.locked !== undefined) item.locked = false;
231                                        if (item.owned !== undefined) item.owned = true;
232                                        
233                                        try {
234                                            store.put(item, index);
235                                        } catch (e) {
236                                            console.log('[Veck.io Unlocker] Could not modify item:', e);
237                                        }
238                                    }
239                                });
240                            }
241                        };
242                    } catch (e) {
243                        console.log('[Veck.io Unlocker] Error accessing store:', e);
244                    }
245                });
246            } catch (e) {
247                console.error('[Veck.io Unlocker] Error modifying IndexedDB:', e);
248            }
249        });
250        
251        return request;
252    };
253
254    // Monitor for Unity game objects
255    let checkInterval = setInterval(() => {
256        // Check for Unity instance
257        if (typeof unsafeWindow.unityInstance !== 'undefined') {
258            console.log('[Veck.io Unlocker] Unity instance found!');
259            
260            // Try to send messages to Unity
261            try {
262                unsafeWindow.unityInstance.SendMessage('GameManager', 'UnlockAll', '');
263            } catch (e) {
264                console.log('[Veck.io Unlocker] Could not send Unity message:', e);
265            }
266        }
267        
268        // Check for game objects in window
269        for (let key in unsafeWindow) {
270            if (key.toLowerCase().includes('game') || key.toLowerCase().includes('player')) {
271                try {
272                    let obj = unsafeWindow[key];
273                    if (obj && typeof obj === 'object') {
274                        // Try to unlock items
275                        if (obj.weapons) {
276                            console.log('[Veck.io Unlocker] Found weapons in', key);
277                            if (Array.isArray(obj.weapons)) {
278                                obj.weapons.forEach(w => {
279                                    if (w) {
280                                        w.unlocked = true;
281                                        w.locked = false;
282                                        w.owned = true;
283                                    }
284                                });
285                            }
286                        }
287                        if (obj.items) {
288                            console.log('[Veck.io Unlocker] Found items in', key);
289                            if (Array.isArray(obj.items)) {
290                                obj.items.forEach(i => {
291                                    if (i) {
292                                        i.unlocked = true;
293                                        i.locked = false;
294                                        i.owned = true;
295                                    }
296                                });
297                            }
298                        }
299                    }
300                } catch (e) {
301                    // Skip
302                }
303            }
304        }
305    }, 2000);
306
307    // Stop checking after 30 seconds
308    setTimeout(() => {
309        clearInterval(checkInterval);
310        console.log('[Veck.io Unlocker] Stopped monitoring for game objects');
311    }, 30000);
312
313    console.log('[Veck.io Unlocker] All hooks installed. Weapons and items should be unlocked!');
314})();
Veck.io Unlock All Weapons & Items | Robomonkey