Paid Resources🔑 filo_vehiclekeys
Installation
Dependencies, items, controls and commands.
Dependencies
| Resource | Required | Used for |
|---|---|---|
| ox_lib | Yes | Callbacks, keybinds, progress bars, notifications |
| oxmysql | Yes | Key data storage |
| community_bridge | Yes | Framework, inventory and notification bridge |
| sleepless_prompts | Yes | In-vehicle and locksmith prompts (included in the download) |
| eye_minigames | Default | Minigames when Config.Minigames = 'builtin' |
| tr_minigames + tr_core | Optional | Physical lockpick and hotwire when Config.Minigames = 'tr_minigames' (included, pre-configured) |
| ox_target | Optional | Locksmith interactions when Config.InteractionType = 'target' |
| ps-dispatch | Optional | Dispatch when Config.Dispatch.System = 'ps-dispatch' |
| xsound | Optional | Ignition sounds |
| filo_blips | Optional | Locksmith blips (falls back to native blips) |
| baseevents | Recommended | Lock state and NPC vehicle locking on entry |
Supported frameworks (through community_bridge): Qbox, QBCore and ESX.
filo_textui is no longer used. v2.0.0 uses sleepless_prompts for all prompts.
Setup
Put
filo_vehiclekeys (and sleepless_prompts, tr_core, tr_minigames from the download) in your resources folder.Add the items from
INSTALL/ox_inventory.txt to your inventory and copy the images from INSTALL/item images. If you use tr_minigames, also add wire_strippers from tr_minigames/install/ox_inventory/items.lua.Ensure the resources after their dependencies:
ensure ox_lib
ensure oxmysql
ensure community_bridge
ensure sleepless_prompts
ensure filo_vehiclekeys
ensure tr_core # only with Config.Minigames = 'tr_minigames'
ensure tr_minigamesStart the server. The
filo_vehiclekeys table is created automatically.Remove any other vehicle key resource. This one provides
qb-vehiclekeys, qbx_vehiclekeys and filo_vehiclekey.Items
| Item | Purpose |
|---|---|
vehiclekey | The key or fob itself (metadata holds plate and key ID) |
lockpick / advanced_lockpick | Lockpicking |
electrical_tools | Hotwiring and repairing hotwired ignitions |
blank_key | Consumed when a locksmith makes a key |
key_cutting_tool | Cutting mechanical keys |
locksmith_tablet | Programming fobs over OBD |
police_bypass | Police master key (only if Config.PoliceBypass.Item is set) |
["police_bypass"] = {
label = "Police Master Key",
weight = 50,
stack = false,
close = true,
description = "Unlocks and starts any vehicle (police only).",
},vehiclekey must have stack = false: each key is a unique item with its own metadata.
Controls
| Default key | Action |
|---|---|
L | Lock / unlock the closest vehicle |
G | Insert / remove the key (hold to start the engine) |
M | Engine on / off |
H | Hotwire |
Y | Search the vehicle for keys |
Players can rebind these in the FiveM key bindings menu. Defaults are in Config.DefaultKeybinds.
Commands
| Command | Permission | Description |
|---|---|---|
/givekey [id] [plate] (alias /givekeys) | group.admin | Give a key. Defaults to yourself and your current vehicle. Plates may contain spaces. Works for stored vehicles. |
/givejobkey <job> [plate] | group.admin | Give a job access to a spawned vehicle |
/keyadmin | group.admin | Open the admin panel |
SQL Table
Created automatically on first boot. Only player-owned vehicles are written, and records
inactive for Config.VehicleDataRetentionMonths are pruned.
CREATE TABLE IF NOT EXISTS `filo_vehiclekeys` (
`plate` VARCHAR(15) NOT NULL,
`data` LONGTEXT NOT NULL,
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`plate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;