Access Modes
Choose how players receive and keep vehicle access.
Vehicle Keys always identifies a vehicle by its normalized plate. Plates are trimmed, uppercased, and limited to 12 characters. Entity(vehicle).state.plate takes priority over the visible native plate, allowing another resource to display a fake plate without changing key identity.
#Item Access
Set:
luaConfig.Settings.keys.useIdentifierAccess = false
Players receive physical inventory items containing:
platefrequency- a formatted label
- a description
The current key frequency must match the vehicle's stored frequency. Rotating the frequency invalidates older physical keys without requiring every old item to be found and removed.
Item mode supports key limits, custom labels, garage replacement-key purchases, key cleanup, and the full-inventory recovery command.
#Identifier Access
Set:
luaConfig.Settings.keys.useIdentifierAccess = true
Permanent key access is stored against the character identifier in zyke_vehiclekeys_vehicles. No physical key item is required.
Garage entitlement supplied through SetAccess remains separate from keys granted directly by Vehicle Keys. A garage can refresh its ownership/access list without deleting independently borrowed keys.
#Temporary Access
Temporary access is intended for rentals, spawned vehicles, job vehicles, and stolen NPC vehicles.
- In item mode, a temporary grant issues a physical key.
- In identifier mode,
GiveTemporaryKeygrants runtime access that is cleared when the player leaves. - A persistent vehicle provider can restore its own runtime-only access with
SetTemporaryAccess.
#Plate Changes
Use RenamePlate(oldPlate, newPlate) for permanent plate changes. Vehicle Keys stores an alias so an offline player's old physical item can resolve to the new plate the next time it is checked.
Use DeleteVehicle(plate) when a vehicle is permanently removed. The resource retires the plate frequency and clears access so old keys cannot become valid if the plate is reused.
#Changing Modes
Choose the access mode before opening the server to players. The resource does not convert every live inventory key into identifier access, or identifier access into inventory items, simply because the config value changed. Plan and test an explicit migration before switching an established server.