Z-Phone by Alfaben/Zrav is a FiveM phone resource with a web interface. The embedded clip is the creator’s historical V1 preview. Later source includes QB, ESX and QBX branches; calling V1 the latest release or describing the package as QBCore-only is outdated.
Framework and resource setup
The reviewed revision is dated 15 January 2025. Config.Core defaults to QBX; choose the matching branch in config/config.lua. The QBX bridge still obtains the qb-core compatibility export. Branch availability does not mean every app is implemented for every framework: QBX invoice functions contain unfinished stubs.
Keep the folder named z-phone. Required integrations include ox_lib and oxmysql, pma-voice for calls, interact-sound for notification/ringing sounds, and screenshot-basic for the current camera upload flow. ESX and QBX inventory checks use ox_inventory. Copy the supplied sound files as the README describes, and adapt banking, housing and vehicle queries in server/core to your actual resources.
Start dependencies before ensure z-phone. The default opening key is M, with /phone also registered; the player needs the phone item and must be unarmed. Phone numbers are stored separately in zp_users. Synchronize integrations that expect the framework’s original phone number instead of assuming they already match.
Protect existing phone data
Do not import z-phone.sql over an existing installation without a recovery plan. It contains 16 DROP TABLE statements for zp_ tables before recreating them. Back up the database, review the schema and use a migration that preserves current phone data. A fresh installation should first use an isolated test database.
Correct the money and camera integrations
In the reviewed QB and QBX bridges, addAccountMoney calls RemoveMoney. A supposed credit therefore removes money. The transfer check also expects a charinfo object that the normalized player result does not return. Correct these mappings, validate positive amounts and verify debit/credit results before exposing banking to players.
The camera callback returns an embedded Discord webhook to the client. Remove the bundled upload destination and use an appropriately protected upload integration; placing a private credential in this callback does not keep it secret. Camera and sound requirements are not covered by installing only QBCore and ox_lib.
These findings come from the source, not a live FiveM session. The resource was not run and no bank transfer, Discord upload or database import was performed. The repository and creator discussion below provide the actual files and release context.