When all new features have been implemented, performance optimizations have been done and no more critical bugs have been found
As of the last update (v4.7.2e) it seems pretty stable. But still. Stuff could break anytime if I make updates. It’s meant to help me test changes and new things and at the current scale it’s not really possible to guarantee stability just by myself.
Still experimental, though I would consider it pretty stable as of now. Maybe even more than the default version.
But there is still a couple more features to be implemented and the main performance update for server side is still in the works.
Added cleanup config option for submerged vehicles (only checks on vehicle spawn).
Added a warning if a vehicle didn’t spawn properly after 5 tries.
Added apdv command that allows to delete a vehicle using its plate or AdvancedParking internal identifier.
Plate example: /apdv 22PIE957
Identifier example: /apdv 2365ced5c3abdf6d
Added boolean return value to all server side delete functions including the exports (returns true if successful, false if not).
Added zones to cleanup config options:
Vehicles inside zones will be deleted.
Vehicles inside ignoredZones will be ignored by the cleanup and stay.
Added check in fixDeleteVehicle.lua if AdvancedParking is running (the file can now be used even when deactivating AdvancedParking for whatever reason).
Changed minimum required server version to 10543 (for AddConvarChangeListener).
Tiny performance improvements and code cleanup across the board.
Reworked client side enter/exit loop to only run while inside a vehicle (0.00ms while not inside a vehicle).
Reworked GetVehiclePosition and GetVehiclePositions exports.
When using those on client side, local vehicles will be checked before triggering a server callback.
Results should be more accurate.
GetVehiclePositions now only accepts a table containing plates, multiple singular plates no longer supported for simplicity.
Several additional checks and appropriate log messages.
Overall less performance intensive.
Moved cleanup code to a separate file.
Moved some functions to encrypted code.
Removed long deprecated deformation exports.
Removed renderScorched config option.
Removed aggressiveAntiDupe config option and functionality (likely cause for several problems).
Fixed error when executing deleteSavedVehicles command under certain conditions.
Fixed attempt to index a nil value error after a vehicle was removed.
Fixed error when a vehicle was deleted that was still spawning.
Possible fix for potential race condition in entityRemoved event.
The config has changed! Make sure to replace it or add the missing options.
And for newcomers: make sure all these changes have been done in your database:
ALTER TABLE `vehicle_parking` ADD COLUMN `bucket` INT(11) NOT NULL DEFAULT 0;
ALTER TABLE `vehicle_parking` ADD COLUMN `initialPlayer` varchar(50);
ALTER TABLE `vehicle_parking` ADD COLUMN `lastPlayer` varchar(50);
ALTER TABLE `vehicle_parking` MODIFY COLUMN `stateBags` longtext;
ALTER TABLE `vehicle_parking` ADD COLUMN `extraValues` TEXT NOT NULL DEFAULT '[]';
Hotfix v4.10.1e
Fixed attempt to call a nil value (global 'os_difftime') error.
Localised natives in cleanup file.
Hotfix v4.10.2e
Fixed attempt to index a nil value (global 'spawnQueue') error.
Hotfix v4.10.3e
Fixed “reliable network event overflow” when attaching a trailer.
Fixed trailers being constantly updated on server side even when attached.
Added check and unfreeze to vehicles that spawn in frozen.
Experimental Update v4.10.6e
Added fixFreezeEntity.lua:
Can replace FreezeEntityPosition native in other scripts similar to fixDeleteVehicle.lua.
Added forceUnfreezeVehicles config option.
Used in relation with fixFreezeEntity.lua.
Removed checkFreeze.lua.
Removed other previous freezing workaround related stuff.
To anyone that was using the checkFreeze.lua:
You will probably receive an error in scripts where you previously added it. Just remove it.
As for the freezing problem:
If you are running into the problem that vehicles are frozen for unknown reasons, enable the new config option forceUnfreezeVehicles. Then add the entry shared_script "@AdvancedParking/fixFreezeEntity.lua" to any script that uses the native FreezeEntityPosition in relation with vehicles (e.g. mechanic scripts).
Any vehicle that is frozen without using this file will be forcibly unfrozen. There is currently no other known way to combat this behavior as it is a problem inside FiveM/GTA itself.
amazing!! been so anxious for this one to come out, haha.
since this hasn’t just fixed itself in the final release(as i hoped it would), is there any chance you know offhand what i’ve messed up to make this happen? i was getting the same result when trying to run the database changes for the experimental version. hate to bother you, still absolutely overjoyed to see this coming out.
well this opened up a can of worms, haha. i probably followed a pretty outdated guide when i first set up my little private server, and afaik i’m running mysql 8.0. time to learn more about mariaDB and move everything over to that.
Hello! I’m delighted with this work. One question: Using this script, is it possible for another script to move vehicles from a busy area to a nearby location? Let’s say there’s a garage near that area and go there.