X3D Phone config
Change values in the form, then copy one topic or the whole file into your server.
Download with my settingsGeneral
Docs ↗Config.LocaleLanguage: 'th' or 'en'
Config.DebugPrint logs to the server console
Config.FrameworkFramework: 'auto' (ESX if present, else standalone) · 'esx' · 'standalone'
Config.OpenKeyKey that opens the phone (players can rebind it in Settings > Key Bindings > FiveM)
Config.UseItemtrue = a phone item is required in the inventory: to open the phone, call, answer and get SMS alerts
(using the item opens it too · no item on your server? run optional/phone_item.sql)
Config.PhoneItemName of the phone item
Config.UseVoiceVoice calls through pma-voice (without pma-voice calls connect but carry no audio)
Config.CallChannelStartFirst voice channel number used for calls, change it if it clashes with another script
Config.CallTimeoutSeconds before an unanswered call ends as a missed call
Config.MaxMessageLengthความยาวสูงสุดของ SMS / ข้อความ Dark Chat / Longest SMS / Dark Chat message
Buzz (the server-wide social feed app) and its post cards in chat
Docs ↗Config.BuzzBuzz (the server-wide social feed app) and its post cards in chat
ToChatNew posts pop up in everyone's in-game chat (uses FiveM's standard chat)
ThemesPost card skins you allow: default, halloween, christmas, songkran, night
DefaultThemeSkin used when a player has not chosen, or when PlayerTheme = false
PlayerThemetrue = players pick their own skin in Settings · false = everyone uses DefaultTheme (e.g. during a festival)
Image hosts players may paste links from (SMS, Buzz posts, wallpapers); photos taken or uploaded in game always pass · empty {} = external links off and 2 more
Docs ↗Config.ImageHostsImage hosts players may paste links from (SMS, Buzz posts, wallpapers); photos taken or uploaded in game always pass · empty {} = external links off
cdn.discordapp.com links expire in about 24 h when opened outside Discord, so it is not listed
e.g. 'https://i.imgur.com/'
Config.AnyImageHosttrue = accept https links from any site
Warning: the image host sees the IP of everyone who opens the image, and you cannot control what it shows
Config.BankingMobile banking: see the balance and transfer to the bank account of an online number's owner
Using another banking system? Edit addons/banking/server.lua
EnabledShow the Banking app
MinTransferSmallest transfer
MaxTransferLargest transfer
x3d_phone:removeNumber
Docs ↗Config.Dispatchx3d_phone:removeNumber
docs.en.md)
Service numbers: a text to one of these reaches everyone with that job (online and with a phone), with the sender's location, and they can reply to the sender
They show up as special contacts for everyone
(job scripts can add / remove numbers through the events x3d_phone:registerNumber / x3d_phone:removeNumber
and TriggerServerEvent('x3d_phone:send', ...) — see docs.th.md / docs.en.md)
OnDutyOnlytrue = deliver only to players on duty (ESX Legacy job.onDuty)
AlertSecondsHow many seconds a call stays in the Dispatch app
CallNeedsPhonetrue = the caller (e.g. a "call EMS" button when down) must also have the phone item
Numbersrequest = the call title when someone presses call · blip = { sprite, color } the responders' map blip
| # | Name | label | jobs | coords | Options | ||
|---|---|---|---|---|---|---|---|
| 1 | police | ||||||
| 2 | ambulance | ||||||
| 3 | mechanic |
Bills app: bill a phone number, the recipient pays in the phone
Docs ↗Config.BillingBills app: bill a phone number, the recipient pays in the phone
EnabledShow the Bills app
AllowPersonalAllow personal bills (the money goes to the biller's bank account)
AllowDeclineCan the recipient decline (false = pay only, the biller can still cancel)
MinAmountSmallest bill
MaxAmountLargest bill
MaxOpenPerTargetMost open bills from one biller to one number (anti-spam)
PayFromWhich account the payer pays from: 'bank' or 'money'
UsersTableESX players table (used to credit an offline biller for personal bills, esx mode only)
JobsJobs that can bill on behalf of the business (no society account is provided by default — Billing.PaySociety always returns false,
so the payer is not charged and the bill stays unpaid — wire your own society account in addons/billing/server.lua)
locked = true: bills in this job's name cannot be cancelled by the biller or declined by the recipient; only an admin can cancel them in x3d_adminpanel
| # | Name | label | minGrade | locked | Options |
|---|---|---|---|---|---|
| 1 | police | ||||
| 2 | ambulance | ||||
| 3 | mechanic | ||||
| 4 | taxi |
AdminAdmins can bill as "admin" (e.g. fines); the payment goes to Billing.PayAdmin in addons/billing/server.lua (default: removed from the economy)
enabledlabelgroupslockedCamera and photo uploads: photos are stored on your own server (the data/uploads/ folder), no image host needed
Docs ↗Config.UploadsCamera and photo uploads: photos are stored on your own server (the data/uploads/ folder), no image host needed
The camera needs screenshot-basic · uploading from a computer (wallpapers) works as is
EnabledTurn the camera and uploads on
BaseUrlEmpty = each player opens photos through the server address they connected to, nothing to set
Set it when you want a fixed link, e.g. with an https domain: 'https://img.myserver.com/x3d_phone'
(photos show in chat post cards only when BaseUrl is https)
MaxBytesLargest file size per photo (bytes)
PerPlayerPerHourHow many photos one player can upload per hour
KeepHow many latest photos to keep; beyond that the oldest is overwritten (its link stops working)
QualityJPG quality when taking a photo (0-1)
Wallpapers players can pick (the server validates against this list; adding a new one also needs the phone web UI edited)
Docs ↗Config.WallpapersWallpapers players can pick (the server validates against this list; adding a new one also needs the phone web UI edited)
e.g. { id = 'default', name = 'Default', file = 'default.jpg' }
| # | id | name | file | Options |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | ||||
| 7 | ||||
| 8 |
Ringtones: each one points to a GTA V in-game sound
Docs ↗Config.RingtonesRingtones: each one points to a GTA V in-game sound
e.g. { id = 'default', name = 'Default', nativeSound = 'Remote_Ring', nativeSoundset = 'Phone_SoundSet_Default' }
| # | id | name | nativeSound | nativeSoundset | Options | |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 | ||||||
| 4 | ||||||
| 5 |
How many milliseconds /testringtone and /testdialtone play before stopping
Docs ↗Config.RingtonePreviewMsHow many milliseconds /testringtone and /testdialtone play before stopping
Message notification sounds
Docs ↗Config.NotificationSoundsMessage notification sounds
e.g. { id = 'default', name = 'Default', nativeSound = 'Text_Arrive_Tone', nativeSoundset = 'Phone_SoundSet_Default' }
| # | id | name | nativeSound | nativeSoundset | Options | |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Contacts added automatically to every new number
Docs ↗Config.DefaultContactsContacts added automatically to every new number
e.g. { phone = '911', name = 'Police' }