Skip to content

Phone numberGame

The phone number on citizen records from the game: read from the in-game phone when the bridge recognizes it, otherwise the framework’s.

On this page03
  1. Good to know
  2. Compatibility
  3. Is your phone custom?

The Phone field of a citizen record from the game shows the character’s number. If your server uses a phone the bridge recognizes, it’s that phone’s number (the one players give each other); otherwise, it’s the number the framework keeps for the character.

There’s nothing to turn on: the phone isn’t a switchable integration, and the bridge only reads. It never assigns a number and writes nothing to the phone.

Emergency calls and messages sent from these phones are a separate feature: see Game alerts.

  • The number is read-only in the MDT, with the “Synced from the game” lock: only the game changes it.
  • It’s read for connected players, at most once a minute per player. A number change in game reaches the MDT at the player’s next update.
  • If the phone returns nothing (no device, error), the framework’s number stays.
  • supermdt status shows the “Phone: number read from …” line, with the phone’s support level (tested in game, verified in code or experimental).

Tested in game tried in game on a real server. Verified in code written from the script’s source code or native API, covered by the bridge’s tests, not tried in game yet. Experimental from the publisher’s public documentation, never tried: check it on your server before relying on it.

Reading doesn’t depend on the framework: it goes through the phone, on the frameworks the phone itself supports. If several phones are started, the bridge takes the first one in this list.

Phone Status Reading
lb-phone Verified in code The number of the equipped phone.
sd-phone Verified in code The character’s number, without assigning one. sd-phone also declares itself as lb-phone: the bridge only uses a resource if it is the real one (no other started resource claims to be it). With sd-phone, it therefore reads sd-phone, never the imitated lb-phone export (which would assign a number).
yseries (TeamsGG) Experimental By character ID, otherwise by player.
gksphone (v2) Experimental By player.
npwd Experimental By player. On Qbox with qbx_npwd, it’s the same number as the framework’s.
qs-smartphone (Quasar) Experimental The number of the device or SIM card in hand. A version without this export: framework number.
qs-smartphone-pro (Quasar) Experimental By ID; a stolen phone isn’t used.
okokPhone Experimental By player.
codem-phone (mPhone) Experimental By player, without assigning one.

Without a recognized phone, the number comes from the framework:

Framework Number used
QBCore, Qbox the character’s charinfo.phone
ESX the character’s phone_number (or phoneNumber), only on ESX versions that keep one. ESX 1.15 no longer does: without a known phone, the record has no number (“none”) and supermdt status shows “Phone: no known phone resource; ESX keeps no number…”.
Your phone… Result
is in the table Its number is shown.
isn’t, but writes the number to the framework (charinfo.phone, phone_number) The framework’s number is shown: it’s the right one.
keeps its own number, without writing it to the framework The framework’s number is shown, which may differ from the phone’s.