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.luaandmodules/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-inventoryox_inventoryqs-inventory
Revive Integration#
File: modules/ambulance/client.lua
Default support:
esx_ambulancejobhospital:client:Reviveqbx_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.luamodules/bridge/server.luamodules/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:
exports['0r-paintball-v2']:inGame()
Use it if another script needs to know whether a player is currently inside Paintball.
UI Customization#
If you want to edit the arena UI, the source is under:
ui/dev
Build it after editing:
npm install
npm run build