Changelog
Released version and their changes.
#Changes
- Removed duplicate notification when lockpicking a vehicle.
- Fixed player displacement after the lockpicking animation that sometimes caused the ped to glitch into the ground.
#Files Affected
- client/unlocked/menus/vehicleactions.lua
- client/unlocked/small_resources/lockpicking.lua
- fxmanifest.lua
2026-05-17 21:38 CET
#Changes
- Fixed an issue where profession boss ranks would not refresh properly in the management menu.
- Constrained the vehicle list height in the management interface to prevent overflow.
- Normalized garage active states to ensure consistent and expected behavior across sessions.
- Tightened the default save spacing in the garage builder to make layouts cleaner.
- Clarified the default garage fallback description in all languages.
- Reduced excess bottom spacing in the garage builder editor for a tighter layout.
#Files Affected
- client/locked/events.lua
- client/locked/functions.lua
- client/unlocked/functions.lua
- client/unlocked/main.lua
- server/locked/events.lua
- server/locked/functions.lua
- server/locked/initialize.lua
- shared/locked/main.lua
- shared/unlocked/functions.lua
- nui/*
- locales/*
- modules/dynamic_garages/client/sync.lua
- modules/dynamic_garages/server/registration.lua
- fxmanifest.lua
#Changes
- Adjusted spacing in the cleanup/footer UI for better alignment.
- Optimized persistent vehicle saving to batch database writes, improving server performance when many vehicles exist.
- Refined vehicle save conditions to only save vehicles near players during runtime, reducing unnecessary saves.
#Files Affected
- server/*
- nui/*
- modules/persistent_vehicles/server/constructor.lua
- modules/persistent_vehicles/server/functions.lua
- modules/persistent_vehicles/server/main.lua
- fxmanifest.lua
#Changes
- Added a config option to block lockpicking vehicles while inside garage sections, with a corresponding notification.
- Added debug logging for the vehicle actions loop to help troubleshoot vehicle lock and engine state syncing.
#Files Affected
- client/unlocked/small_resources/lockpicking.lua
- server/unlocked/vehicleactions.lua
- shared/unlocked/config.lua
- shared/unlocked/functions.lua
- fxmanifest.lua
Changes
- Added a live preview wall when creating garage sections to better visualize boundaries and height.
- Improved boat garage support in the Garage Builder.
- The system now uses a boat model for previews instead of a car when editing boat-only garages.
- Raycasting now respects water levels to ensure accurate placement of boat spawn points.
- Added a developer command to remove vehicles that are currently outside of defined sections.
- Updated the vehicle cleanup logic to automatically ignore and preserve vehicles located within a section.
- Refactored the Blip Settings interface and logic within the Garage Builder for better usability.
- Improved the UI responsiveness when editing labels by implementing debounced inputs.
- Fixed an issue where garage section points could be placed in invalid locations when the placement cursor wasn't hitting a surface.
- Fixed a bug in the persistent vehicle system that caused certain values to reset incorrectly.
- Implemented a more dedicated and reliable saving method for persistent vehicles.
- Fixed a calculation error in the vehicle locking logic and adjusted the check interval for better performance.
- Improved UI text input styling to ensure placeholder and error text remains legible.
- Updated localization files for all supported languages.
Files Affected
- client/locked/garage_builder/EditSection.lua
- client/locked/garage_builder/EditSpawnPositions.lua
- server/unlocked/developer/commands.lua
- server/unlocked/vehicleactions.lua
- shared/unlocked/config.lua
- shared/unlocked/types.lua
- nui/*
- external_support/safe_dv/server.lua
- locales/*
- modules/persistent_vehicles/server/constructor.lua
- modules/persistent_vehicles/server/functions.lua
- fxmanifest.lua
Changes
- Provides more informative error message when attempting to initialize vehicle access from a database fetch, but the vehicle is missing required values. Usually the result of an incorrectly configured vehicle dealer or old vehicles that have not yet been initialized.
Files Affected
- server/locked/initialize.lua
- fxmanifest.lua
Changes
- Function to handle initialization of spawned vehicles, available as export for 3rd party scripts.
- Stops attempting to find and modify a vehicle that can not be found in a reasonable timeframe.
- Overhaul to key stealing, including various settings and a minigame option.
Files Affected
- client/unlocked/eventhandler.lua
- client/unlocked/small_resources/lockpicking.lua
- client/unlocked/small_resources/stealkeys.lua
- client/unlocked/menus/vehicleactions.lua
- server/unlocked/functions.lua
- server/unlocked/persistent_vehicles/functions.lua
- server/locked/vehicleactions.lua
- locales/en.lua
- Added
searchingKeys - Added
failedToFindKeys
- Added
- shared/unlocked/config.lua
- Modified
Config.Settings.keys - Added
Config.Settings.tempKeys
- Modified
- fxmanifest.lua
Changes
- Added a client-sided export to remove persistent vehicles.
- Better error handling for removing persistent vehicles.
Files Affected
- client/unlocked/persistent_vehicles/functions.lua
- server/unlocked/persistent_vehicles/functions.lua
- server/unlocked/persistent_vehicles/eventhandler.lua
- locales/en.lua
- Added
vinNotFound.
- Added
- fxmanifest.lua
Changes
- Fixed issue where the QBCore version could not check if the rank was considered boss.
- Removed unused argument for inventory update event.
- Extra check to see if metadata exist for keys in case it was obtained incorrectly or has missing data. Only prints a debug now.
Files Affected
- client/locked/functions.lua
- client/unlocked/main.lua
- server/unlocked/functions.lua
- fxmanifest.lua
Changes
- New vehicle actions menu.
- Hold keybind to open menu, press keybind to open keyfob for the closest vehicle you have access to.
- Keyfob UI.
- Keybind to lock closest vehicle.
- Optionally keys as items.
- Your items decide your access to vehicles.
- Change frequency and void older keys, ensuring the right people have access to your vehicles.
- Persistent vehicles.
- Leaving area / relogging does not despawn the vehicle.
- Server-restart proof, will respawn vehicles that are removed.
- Temporary vehicles are consistent.
- Removed previous "on restart" actions, now part of cleanup parameters.
- Adding cleanup parameters and execution.
- Better vehicle actions syncing, no need for exports to be placed everywhere, as other resources can now override the vehicle's state.
- New impound UI design.
- New finance UI design
- Updated the performance modifications UI design.
- Expanded the exports and events section.
- Configuration to require being inside of an impound zone to impound vehicles.
- Minor performance optimizations.
Files Affected
Replace all your files.
Database Updates v1.0.1 -> v1.1.0
Run the queries for your framework below, in order.
ESX
sqlDROP TABLE zyke_garages_restart_actions
sqlALTER TABLE owned_vehicles
ADD COLUMN keyFreq MEDIUMINT;
- Run zyke_cleanup_settings.sql.
QBCore
sqlDROP TABLE zyke_garages_restart_actions
sqlALTER TABLE player_vehicles
ADD COLUMN keyFreq MEDIUMINT;
- Run zyke_cleanup_settings.sql.
If starting fresh, simply run the new standard databases as usual.
Changes
- Further exploitation proofing.
- Additional event to set vehicle ownership after car dealer purchase.
- GiveTempKeys export also accepts plate, and finds vehicle by matching it.
- New OpenImpounderMenu export found here.
Files affected
- server/unlocked/eventhandler.lua
- Additional executor protection for setting new owner.
- server/unlocked/functions.lua
- Additional executor protection for setting new owner.
- client/unlocked/menus/impound.lua
- Created export to open impounder menu.
- client/unlocked/functions.lua
- GiveTempKeys accepting plate.
- Added zyke_garages:HandleVehiclePurchaseWithPlate event.
Official release for ESX and QBCore.
