Dependencies
Install and start dependencies before wasabi_carlock.
Required
ox_lib
Required by the manifest. Provides callbacks, menus, progress, notifications, utility functions, and debug output.
oxmysql
Required by the manifest and the server ownership lookup. Configure a working database connection and your framework's existing vehicle ownership tables.
Supported framework
Use ESX (es_extended), QBCore (qb-core), Qbox (qbx_core), or Ox Core (ox_core). Bridge selection uses resource state checks; there is no framework selector in Carlock's config.
The ownership lookup reads owned_vehicles for ESX, player_vehicles for QB/QBX, or vehicles for Ox. Ox uses character ownership; group-owned vehicles are not treated as personally owned vehicles for client key grants.
Inventory providers
Physical keys require a registered inventory bridge. The included adapters support:
| Inventory | Resource name | Bridge directory |
|---|---|---|
| Complete Inventory | wasabi_inventory | bridge/inventory/wasabi/ |
| Ox Inventory | ox_inventory | bridge/inventory/ox/ |
| QB Inventory | qb-inventory | bridge/inventory/qb/ |
| PS Inventory | ps-inventory | bridge/inventory/ps/ |
| CodeM Inventory V2 / AIO | codem-inventoryv2 | bridge/inventory/codem_v2/ |
| TGIANN Inventory | tgiann-inventory | bridge/inventory/tgiann/ |
| Jaksam Inventory | jaksam_inventory | bridge/inventory/jaksam/ |
Use the definitions for your actual inventory, not another provider's similarly shaped item table. Complete Inventory and CodeM AIO have dedicated bridges even when they provide an ox_inventory compatibility alias.
Without a registered inventory bridge, useMetadataKeys = true falls back to virtual keys at startup. This does not replace inventory-dependent tools, item rewards, or locksmith services. See Installation.
Interaction provider
Set interact in config/client/config.lua to one of:
ox_target(default)qb-targetsleepless_interacttextUI(uses the included text UI bridge)
Start the selected external interaction resource before Carlock. These interactions are used by features such as locksmiths and NPC assistance; the core lock keybind is separate.
Optional dispatch
policeAlerts.provider = 'auto' selects a started provider in this order: wasabi_mdt_v2, ps-dispatch, cd_dispatch, then internal dispatch. Explicit selector values are wasabi_mdt_v2, ps, cd, and internal; ps-dispatch and cd_dispatch are also accepted aliases.
The Wasabi MDT V2 adapter checks for wasabi_mdt_v2 but calls exports.wasabi_mdt:CreateDispatch. Use an MDT installation that provides that export contract. See Integrations for fallback behavior.