Bridge Architecture (Open Files)
The entire bridge/ directory in 5M Phone is open, un-escrowed, and modular. It handles all communication with frameworks, inventories, banking scripts, voice engines, housing systems, and dispatch CADs.
Bridge Directory Structure
Plain text
5M_Phone/bridge/
├── framework/ <-- Framework adapters
│ ├── qbox.lua
│ ├── qb.lua
│ ├── esx.lua
│ ├── ox.lua
│ └── standalone.lua
├── inventory/ <-- Inventory item and metadata adapters
│ ├── ox_inventory/
│ ├── qb-inventory/
│ ├── ps-inventory/
│ ├── qs-inventory/
│ ├── tgiann-inventory/
│ ├── codem-inventory/
│ ├── esx_inventory/
│ └── standalone/
├── banking/ <-- Banking & society balance adapters
│ ├── finals_banking.lua
│ ├── qb-banking.lua
│ └── renewed-banking.lua
├── housing/ <-- Housing and property key adapters
│ ├── ps-housing.lua
│ ├── qbx_properties.lua
│ └── qs-housing.lua
├── voice/ <-- Voice call & submix adapters
│ ├── pma-voice/
│ ├── saltychat/
│ └── mumble-voip/
├── dispatch/ <-- Third-party CAD forwarding
│ ├── ps-dispatch.lua
│ ├── cd_dispatch.lua
│ └── qs-dispatch.lua
└── shared/
├── init.lua <-- Provider auto-detection
└── load.lua <-- Targeted file loaderThe Finals.* Bridge Namespaces
Phone systems consume the following globals initialized in bridge/shared/init.lua:
| Global | Purpose |
|---|---|
Finals.Framework | Detected framework ID ('qbox', 'qb', 'esx', 'ox', 'standalone') |
Finals.Bridge | Framework helpers: GetMoney, AddMoney, RemoveMoney, GetJob, GetPlayerName |
Finals.GetCitizenId | Character key resolver (citizenid, identifier, charId) |
Finals.Inventory | Inventory helpers: HasItem, RemoveItem, GetSlotMetadata, SetSlotMetadata |
Finals.Voice | Voice call router: AddPlayerToCall, RemovePlayerFromCall, SetPlayerCall |
Finals.Banking | Society account balances & business deposits/withdrawals |
Finals.Housing | Property list, key management, and remote locks |
Finals.Dispatch | Forwards third-party CAD alerts into the phone Dispatch app |
