Skip to main content

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:

InventoryResource nameBridge directory
Complete Inventorywasabi_inventorybridge/inventory/wasabi/
Ox Inventoryox_inventorybridge/inventory/ox/
QB Inventoryqb-inventorybridge/inventory/qb/
PS Inventoryps-inventorybridge/inventory/ps/
CodeM Inventory V2 / AIOcodem-inventoryv2bridge/inventory/codem_v2/
TGIANN Inventorytgiann-inventorybridge/inventory/tgiann/
Jaksam Inventoryjaksam_inventorybridge/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.

info

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-target
  • sleepless_interact
  • textUI (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.