> For the complete documentation index, see [llms.txt](https://docs.menanak47.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.menanak47.com/multi-framework/ak47_vehiclekeys/compatibility.md).

# Compatibility

Compatibility & Drop-In Replacements

**AK47 Vehicle Keys** (`ak47_vehiclekeys`) includes built-in compatibility layers that allow it to act as a 100% seamless drop-in replacement for several popular vehicle key resources without requiring changes to your existing jobs, garages, car dealerships, or vehicle shop scripts.

***

### Supported Drop-In Systems

The following resource names are provided directly in `fxmanifest.lua`:

* `ak47_qb_vehiclekeys`
* `qb-vehiclekeys`
* `wasabi_carlock`
* `qs-vehiclekeys`

***

### 1. QBCore (`qb-vehiclekeys`) Compatibility

The following QBCore events and exports are automatically intercepted and handled by `ak47_vehiclekeys`:

#### Client Exports & Events

```lua
-- Exports
exports['qb-vehiclekeys']:HasKeys(plate)
exports['qb-vehiclekeys']:addNoLockVehicles(model)
exports['qb-vehiclekeys']:removeNoLockVehicles(model)

-- Events
TriggerEvent('qb-vehiclekeys:client:AddKeys', plate)
TriggerEvent('vehiclekeys:client:SetOwner', plate)
TriggerEvent('qb-vehiclekeys:client:RemoveKeys', plate)
```

#### Server Exports & Events

```lua
-- Exports
exports['qb-vehiclekeys']:HasKeys(source, plate)
exports['qb-vehiclekeys']:GiveKeys(source, plate)
exports['qb-vehiclekeys']:RemoveKeys(source, plate)

-- Events
TriggerServerEvent('qb-vehiclekeys:server:GiveVehicleKeys', receiver, plate)
TriggerServerEvent('qb-vehiclekeys:server:setVehLockState', vehNetId, state)
TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate)

-- Server Callback
QBCore.Functions.TriggerCallback('qb-vehiclekeys:server:checkPlayerOwned', function(isOwned) ... end, plate)
```

***

### 2. Quasar (`qs-vehiclekeys`) Compatibility

The following Quasar vehiclekeys exports are supported:

#### Client Exports

```lua
exports['qs-vehiclekeys']:GiveKeys(plate, model)
exports['qs-vehiclekeys']:RemoveKeys(plate, model)
exports['qs-vehiclekeys']:GiveKeysAuto()
exports['qs-vehiclekeys']:RemoveKeysAuto()
```

#### Server Exports

```lua
exports['qs-vehiclekeys']:GiveServerKeys(source, plate, model)
```

***

### 3. Wasabi Carlock (`wasabi_carlock`) Compatibility

The following Wasabi exports are supported:

```lua
exports['wasabi_carlock']:GiveKey(plate)
exports['wasabi_carlock']:RemoveKey(plate)
```

***

### 4. Base V3 & Dealership Events

```lua
-- Temporary vehicle key for rentals/test drives
TriggerServerEvent('keys:giveTemporaryKeys', plate)

-- Dealership purchase key
TriggerEvent('keys:addDealerKey', xPlayer, plate)

-- Admin temporary keys
TriggerClientEvent('keys:giveTemporaryKeys:admin', source, networkId)
```
