Free FiveM phone for ESX plus a death screen with Call EMS: the whole medic loop in two scripts
A free FiveM ESX phone script (X3D Phone: pma-voice calls, SMS with GPS sharing, dispatch, bills, banking, self-hosted camera, Buzz, Dark Chat) and the X3D Respawn death screen (Call EMS, wait-for-medics, death summary) that chain into one medic loop, with install steps and esx_ambulancejob compatibility.
Two things almost every ESX server buys or leaks: a phone and a death screen. They have to talk to each other, because the medic loop is "die → call EMS → medic gets the case → medic revives", and when the phone and the death screen come from different vendors you usually end up writing glue.
X3D gives both away, designed to chain from the start, and both still work with stock esx_ambulancejob without code changes.
Related scripts
X3D PhoneFree ESX smartphone: pma-voice calls, SMS with location sharing, mobile banking, a camera with self-hosted photos, Buzz and anonymous Dark Chat.Free
X3D RespawnFree death screen: Call EMS button, wait for medics when they are online, respawn points, self-revive, a death summary and death kept across relogs.Free
X3D Phone: a phone that needs no image host
| App | What it does |
|---|---|
| Phone | Real voice calls through pma-voice, dialer, history, missed-call badge, mute, five ringtones |
| Messages | SMS threads per contact, location sharing that drops a GPS pin for the recipient, 3,600+ emoji |
| Contacts | Favourites; contact names show in call history and chat |
| Job numbers | SMS the whole police / EMS / mechanic job with the sender's position; works with stock esx_policejob / esx_ambulancejob |
| Dispatch | Player presses Call EMS, every medic gets the case with distance; accepting drops a GPS pin and tells the caller help is coming; one export for other scripts |
| Bills | Personal or job bills, recipient pays or declines on the phone, money lands in the job account, no double charge |
| Banking | Balance, history, transfers by phone number, ESX bank account or your own banking system |
| Camera | In-game photos for SMS, posts, avatars and wallpapers, stored on your own server: no imgur/fivemanage, no API key, links never expire |
| Buzz | Server-wide feed, posts, likes, delete your own, five skins (default, Halloween, Christmas, Songkran, night) |
| Dark Chat | Anonymous rooms with aliases and passwords, real numbers hidden |
| Settings | Wallpaper, sounds, keyboard-only mode, Alt to control the character without closing the phone |
What sets it apart: an optional phone item requirement enforced server-side, every callback validated on the server, SMS/post/call rate limits, single-use upload tokens accepting only real JPG/PNG, webhooks never exposed to clients.
Server-specific pieces live in addons/, one file each: notifications (esx_notify / ox_lib), voice (pma-voice), banking.
X3D Respawn: a death screen that gives medics work
- Death summary: killer, weapon, distance, area, headshot, body part, plus the last six hits; no more "who shot me"
- Call EMS puts the case on every medic's X3D Phone; when one accepts the patient sees "Medic X is on the way"
- Medics online = wait for a medic: counted from the
ambulancejob, with a minimum medic count, a maximum wait, or medic-only revive; no medics = self-respawn after the timer - Respawn points (main city / nearby) and self-revive with a first-aid kit, each toggle separate
- Death survives a relog, no alt+F4 escape
- Adapters in
addons/: dispatch (ps-dispatch, cd_dispatch examples), HUD hide, notify, anticheat notice that the teleport is legitimate
The medic loop when both are installed
- A player dies; the X3D Respawn screen appears; with enough medics online the self-respawn button is locked
- Call EMS → the dispatch app on every medic's X3D Phone gets the case with distance and a map marker
- A medic accepts → GPS pin for the medic, "help is coming" for the patient
- The medic revives with stock
esx_ambulancejobor/revive→ sends a job bill from the phone, money lands in the EMS account
Every step is a standard event (esx_ambulancejob:revive, setDeathStatus); existing medic scripts need no edits.
Install
ensure oxmysql
ensure es_extended
ensure pma-voice
ensure x3d_phone
ensure x3d_respawn
- Remove
esx_phone/ gcphone / your old death screen (no overlaps) - Add a webhook in
server.cfgif you want copies of photos, SMS and transfers in an admin Discord channel - To require a
phoneitem, add it to theitemstable and enable it in the config - Photos are stored on the server; size and hourly limits are configurable
FAQ
Phone only, no death screen? Yes; dispatch still works with stock esx_ambulancejob.
x3d_respawn with another phone? Yes; Call EMS falls back to the esx_ambulancejob signal or the dispatch set in the adapter.
FiveM phone bug: it will not open, nothing happens on the key — check three things in order: (1) has the character finished loading? Right after joining wait 2–3 seconds for ESX.PlayerData. (2) key conflict with another script; the default is F1 (Config.OpenKey in config/config.lua), and players can rebind it in Settings › Key Bindings › FiveM. (3) any red error from x3d_phone in F8? Usually es_extended starts after the phone; move ensure x3d_phone below ensure es_extended
Phone opens, then the cursor is stuck and you cannot walk or close it — NUI focus was never released. Press ESC or Backspace first. If it happens every time, another script calls SetNuiFocus(true) on top (often a menu or HUD that died without releasing focus). restart x3d_phone in F8 frees it immediately; then find the script that overlaps
The camera does not work, or a pasted image link will not send — the camera needs screenshot-basic (bundled in optional/), started before x3d_phone; without it the phone works but cannot take photos. External links must come from a host listed in Config.ImageHosts and start with https://. Photos you take are stored on the server itself, so they never vanish because an image host deleted them
Contacts or bank empty inside the phone — the tables were never created. Run the resource's install.sql on the database once (safe to re-run) and check the order in server.cfg: ensure oxmysql before ensure es_extended before ensure x3d_phone
Is pma-voice required? It is the default; the voice adapter in addons/voice/client.lua can point at another voice system. Choppy calls: read FiveM voice stutter, is it bandwidth?
QBCore? Both are ESX-bound (ESX.PlayerData, the bank account, the ambulance job).
Do photos survive a server move? They are files inside the resource folder and move with the server, unlike image hosts whose links expire or get deleted.
All free scripts are in the free FiveM scripts post · recommended core to pair with: ESX Legacy Core — X3D Build
Related scripts
X3D PhoneFree ESX smartphone: pma-voice calls, SMS with location sharing, mobile banking, a camera with self-hosted photos, Buzz and anonymous Dark Chat.Free
X3D RespawnFree death screen: Call EMS button, wait for medics when they are online, respawn points, self-revive, a death summary and death kept across relogs.Free