> filo_studios
Paid Resources🔑 filo_vehiclekeys

Changelog

What changed in each release, and how to update from v1.

2.2.0

Changed

  • Auto-lock now also unlocks: a car with auto-lock on unlocks as its key holder tries to get in. Triggered by the enter key (Config.DefaultKeybinds.Enter, default F) with a short check, and verified on the server. No longer depends on baseevents.

2.1.7

Fixed

  • Inserting keys sometimes playing the animation and sound without the key moving
    • Repeat presses within 500 ms were silently dropped (ox_lib callback delay); calls are no longer throttled client-side.
    • The ignition lock could stay stuck after an error, ignoring every later press for that vehicle; it is now always released and expires after 5 seconds.
    • The animation and sound now only play after the server confirms; a refused press shows why.
  • Removing the key with the engine off playing the "key in" sound

2.1.6

Changed

  • A key left in the ignition now stays saved with the car when it's stored, instead of being returned to the inventory (reverts that part of 2.1.5).
  • A car taken out of a garage starts with its engine off: a saved "engine on" only counts while the engine is actually running.

2.1.5

Fixed

  • Cars stored in a garage with the key in the ignition being drivable without a key when taken out. The ignition is now emptied when the car is stored or deleted, and the key goes back to the player who inserted it (on their next load-in if they're offline).
  • Owned cars taken out of a garage again in the same session keeping the cached data of the deleted entity, so their key state wasn't set on the new car.

2.1.4

Changed

  • Keyless detection is now cached per model on the server: config models need no client call, and electric detection asks one client once per model per session.
  • Config.KeylessSystem.Enabled and AutomaticallyDetectElectricModels are now respected.

Fixed

  • Electric and Config.KeylessSystem.Models vehicles (e.g. Neon) getting a regular key instead of a key fob. Keyless was set and then overwritten by the state bag defaults, and wasn't checked at all when no player triggered the spawn.

2.1.3

Fixed

  • qbx_policejob and qbx_ambulancejob vehicles and helicopters not giving keys
    • The qbx_vehiclekeys GiveKeys export now waits for a just-set plate to sync before issuing the key; before, the key was issued for the old plate.
    • vehiclekeys:client:SetOwner calls GiveKeysByPlate (it called a function that doesn't exist).

2.1.2

Fixed

  • Helicopters and some other vehicles not starting until the player got out and back in. The vehicle is now made drivable before the engine is started.

2.1.1

Changed

  • Config.SimpleIgnition now still moves the key: one press takes the key from the inventory, plays the key sound and animation, and starts the engine. One press stops the engine and gives the key back. Keyless and hotwired cars just toggle the engine.

2.1.0

Added

  • Config.SimpleIgnition: one press of the ignition or engine key turns the engine on and off. The key only has to be carried, with no inserting or removing it.

2.0.2

Fixed

  • The engine starting again after re-entering a vehicle whose ignition was turned off and keys removed. The engine-off hold now also runs on entry, and GTA no longer starts engines by itself (ped config flag 429).

2.0.1

Fixed

  • LockNPCVehicles, LockParkedVehicles and LockedVehiclesChance having no effect. Traffic and parked cars are now locked by the server when they spawn, and no longer depend on baseevents.

Changed

  • LockParkedVehicles now controls parked cars (it was gated by LockNPCVehicles).
  • Only vehicles that end up locked send network traffic. The spawn handler isn't registered when locking is turned off.

2.0.0

Added

  • NPC carjacking: aim at a driver, hold them up, take the car and its key
  • Vehicle class difficulty tiers with per-class lockpick/hotwire chances and hotwire times
  • Model blacklist for lockpicking, hotwiring and carjacking
  • Police bypass (job, grade, duty and optional police_bypass item)
  • Dispatch alerts: ps-dispatch, built-in notify + blip, or your own function
  • tr_minigames physical lockpick and hotwire (included, pre-configured)
  • sleepless_prompts for all prompts (included, replaces filo_textui)
  • /keyadmin panel to manage vehicles, key IDs, job access and keys
  • Automatic key removal for unowned vehicles on despawn and restart
  • HasVehicleAccess export (client and server)

Changed

  • Reworked key system: one server-side registry, key IDs validated on the server
  • Framework, inventory, minigames, dispatch and target code moved to an open bridge/ folder
  • Admin command is now /keyadmin

Fixed

  • /givekey with plates containing spaces and stored vehicles
  • Locksmith keys not saving, double key removal and many other bugs
  • Exploits: lock/unlock without keys, client-set state bags, spare key pricing

Updating from v1

Replace the filo_vehiclekeys folder. Back up your shared/sh-config.lua first: the config has new sections, so copy your values over instead of reusing the old file.
Add sleepless_prompts, tr_core and tr_minigames from the download. filo_textui is no longer needed.
Add police_bypass from filo_vehiclekeys/INSTALL/ox_inventory.txt and wire_strippers from tr_minigames/install/ox_inventory/items.lua.

Ensure them in this order:

ensure sleepless_prompts
ensure filo_vehiclekeys
ensure tr_core
ensure tr_minigames

Existing key data in the filo_vehiclekeys table is kept. Scripts using the v1 filo_vehiclekey exports keep working through the compatibility layer.

On this page