# Integrations and Exports

This arena family uses the same simple integration pattern:

* Inventory state: `modules/inventory/client.lua`
* Revive logic: `modules/ambulance/client.lua`
* Notify, marker, and text UI helpers: `modules/utils/client.lua`
* Framework bridge files: `modules/bridge/*`
* Exports: `modules/exports/client.lua` and `modules/exports/server.lua`

## Inventory Integration

File: `modules/inventory/client.lua`

This file handles:

* Inventory lock while in match
* Weapon wheel state for compatible inventories

Default support:

* `qb-inventory`
* `ox_inventory`
* `qs-inventory`

## Revive Integration

File: `modules/ambulance/client.lua`

Default support:

* `esx_ambulancejob`
* `hospital:client:Revive`
* `qbx_medical`

If your revive script is different, update `Ambulance.RevivePlayer()`.

## Notify and Text UI

File: `modules/utils/client.lua`

Common changes:

* Replace `lib.notify`
* Replace `lib.showTextUI`
* Replace `lib.hideTextUI`
* Adjust marker draw style if needed

## Framework Bridges

Files:

* `modules/bridge/client.lua`
* `modules/bridge/server.lua`
* `modules/bridge/esx/*`
* `modules/bridge/qb/*`
* `modules/bridge/qbx/*`

Use these files if your framework events or player object functions are customized.

## Exports

Client and server both expose this check:

```lua
exports['0r-deathmatch']:inGame()
```

Use it if another script needs to know whether a player is currently inside Deathmatch.

## UI Customization

If you want to edit the arena UI, the source is under:

```lua
ui/dev
```

Build it after editing:

```bash
npm install
npm run build
```
