Advanced Search
Search Results
338 total results found
Stolen Key Lifecycle
Keys obtained through NPC theft, lockpick-found-keys or hotwire are temporary stolen/session keys. Config.StolenKeys = { RemoveOnVehicleExit = true, MaxDurationSeconds = 900, ExitGraceMs = 1200, ServerCheckMs = 750, } Default behaviour: The sto...
Blocked Vehicle Classes
The theft system can block GTA vehicle classes and models. Default blocked classes: Config.Theft.BlockedClasses = { [14] = true, -- boats [15] = true, -- helicopters [16] = true, -- planes [18] = true, -- emergency [19] = true, -- military ...
Recovery Service
The recovery NPC allows players to reissue a lost physical owner key for a vehicle the server confirms they own. It does not grant keys for arbitrary plates. Recovery flow: Player approaches a configured recovery NPC. The NPC UI requests the player's owned veh...
Recovery Admin Panel
Open the recovery NPC admin panel with: /vehiclekeysadmin Required ACE: add_ace group.admin nord.vehiclekeys.admin allow The panel is in-game only and can be used to: Create recovery NPCs. Edit label/model/scenario. Move an existing NPC. Enter the visual place...
Ghost Placement Editor
Creating or editing a recovery NPC can open the visual placement editor. The preview NPC is transparent, non-colliding and frozen while being positioned. Controls Control Action W A S D Move relative to camera Left mouse Drag ghost toward the point under the c...
Bridge Architecture
Bridge selection lives in: config/bridges.lua Config.Bridges = { Framework = 'auto', -- auto | qb | qbx | esx | standalone | custom Inventory = 'auto', -- auto | nord | ox | qb | esx | custom Notify = 'auto', -- auto | ox | qb | esx | gta | cust...
Framework Bridge
Framework bridge files: client/bridge/framework.lua server/bridge/framework.lua Auto-detection order: qbx_core qb-core es_extended standalone fallback The server bridge provides: Framework detection. Player lookup. Stable identifier lookup. Job lookup. Grade n...
Inventory Bridge
Inventory bridge files: client/bridge/inventory.lua server/bridge/inventory.lua Generic item checks support: Nord Inventory ox_inventory QB/QBX inventory through the framework player object ESX inventory Custom implementation Native physical vehicle keys The f...
Notifications & Text UI
Notification and Text UI are independent bridges. Files: client/bridge/notify.lua server/bridge/notify.lua client/bridge/textui.lua server/bridge/textui.lua Supported notification modes: auto | ox | qb | esx | gta | custom Supported Text UI modes: auto | ox | ...
Custom Ownership Bridge
Ownership is isolated in: server/bridge/ownership.lua For custom ownership logic: Config.Ownership.Custom = true Implement: function NVKOwnership.CustomGetOwnerIdentifier(plate) -- Return the framework identifier that owns this plate. end For the recovery ...
Server Key Exports
Key creation and removal should be performed from trusted server-side resources. Recommended simple API -- Permanent owner key + physical key item. exports.nord_vehiclekeys:GiveKeys(source, plate) -- Remove access/key for the plate. exports.nord_vehiclekeys:Re...
Physical Key Item Exports
These exports work directly with the physical key item layer. exports.nord_vehiclekeys:GivePhysicalKeyItem(source, plate, 'owner', 0) exports.nord_vehiclekeys:RemovePhysicalKeyItem(source, plate) exports.nord_vehiclekeys:HasPhysicalKeyItem(source, plate) Norma...
Server Vehicle Exports
Vehicle state exports operate on a network ID. exports.nord_vehiclekeys:SetLockState(netId, true) exports.nord_vehiclekeys:GetLockState(netId) exports.nord_vehiclekeys:ToggleLock(netId) exports.nord_vehiclekeys:LockVehicle(netId) exports.nord_vehiclekeys:Unloc...
Client Exports
Client exports are useful for UI, vehicle interactions and custom gameplay. local hasKey = exports.nord_vehiclekeys:HasKey(vehicleOrPlate) local hasLocal = exports.nord_vehiclekeys:HasLocalKey(vehicleOrPlate) exports.nord_vehiclekeys:ToggleLock(vehicle) export...
Garage Integration
A garage that spawns a player's owned vehicle should register the entity and only issue a key when the garage intentionally wants to hand one to the player. Server example: local netId = NetworkGetNetworkIdFromEntity(vehicle) exports.nord_vehiclekeys:RegisterO...
Dealership Integration
When a player purchases a vehicle, issue the key after the purchase and ownership transaction succeeds. -- purchase validated, money removed and ownership row saved first exports.nord_vehiclekeys:GiveKeys(source, plate) When a dealership sells/transfers/remove...
Rental Integration
Rental scripts should normally use temporary keys. Example 30-minute rental: exports.nord_vehiclekeys:GiveTempKey(source, plate, 1800) When the rental ends early: exports.nord_vehiclekeys:RemoveKeys(source, plate) For a shared company vehicle with a known dura...
Database Schema
Auto SQL creates the resource schema automatically when persistence is enabled. Core tables: nord_vehiclekeys_keys Stores persisted key grants: plate holder identifier key type expiry timestamp created/updated timestamps nord_vehiclekeys_recovery_npcs Stores p...