🩺 ECG Machine With 3D Monitor & Printer System | Real Simulation | Medical Report System | API Ready | ESX / QB Core / QBOX

1226_2

:stethoscope: The Next Generation of Medical Simulation

Stop pretending. Start diagnosing.
Transform your server’s medical roleplay from “simple emotes” to real diagnostic gameplay . FX-ECG isn’t just a UI; it’s a fully simulated Electrocardiogram machine that reads player vitals, reacts to injuries, prints physical reports, and—for the first time —projects live data onto physical 3D props in the game world.

Youtube Preview : Youtube

:fire: MAJOR FEATURE: REAL-TIME 3D PHYSICAL MONITORS

We use DUI (Direct User Interface) technology to project the live ECG graph directly onto a custom 3D medical monitor prop.

  • :zap: Seamless Sync: When you connect a patient via your handheld tablet, the physical monitor next to you instantly lights up and displays that patient’s live data.

  • :eyes: Multiplayer Sync: Everyone in the room sees the exact same lines, BPM, and rhythm on the monitor model.

  • :satellite: Smart Proximity: The monitor automatically detects the linked patient within 2 meters. If the patient moves away, the monitor displays “NO SIGNAL” and flatlines.

  • :control_knobs: Live Control: Change settings on your tablet (Lead, Filter, Speed, Gain) and watch them update instantly on the 3D Monitor prop.

  • :hospital: Plug & Play: Define spawn locations in config.lua (e.g., ER rooms, Ambulance interior), and the monitors will spawn automatically on server start.


:sparkles: Key Features

:desktop_computer: Realistic LCD Interface

Not a static image! The heartbeat lines (PQRST) are drawn in real-time . The drawing speed, amplitude, and noise levels react to your configuration.

:printer: Physical Paper System

  • Print Animation: Press print, hear the mechanical step-motor sound , and watch the paper slide out of the device.

  • Tear Mechanic: Click to tear the paper off with a satisfying animation.

  • Inventory Item: The report becomes a usable item (ecg_paper) in your inventory (Ox , QB Inventory supported).

  • View Mode: When you use the paper item, it opens a detailed UI showing the exact rhythm, BPM, and Lead settings recorded at that moment.

:heart: Dynamic Vitals Engine

  • Damage Memory: If a player is shot in the chest, the machine remembers the heart damage (Fibrillation ) until they are fully healed (>80% HP).

  • HRV Simulation: Even when standing still, the BPM naturally fluctuates (Heart Rate Variability) to simulate breathing. No more robotic static numbers.

  • Real-time Reaction: Health loss increases BPM (Adrenaline/Shock).

  • Dead/Last Stand: Automatically detects death or “last stand” state and flatlines (Asystole ) or shows irregular slow beats (Sinus Arrest ).

:electric_plug: Developer API (Bridge)

Easily integrate with other scripts (Poison, Drugs, Disease) using exports. You can force specific rhythms via code.

:art: Customization

  • Themes: Change UI themes (Green, Cyan, Red) directly from the device menu.

  • Controls: Adjust Gain (10/20mm), Speed (25/50mm), and Leads (I, II, III, aVR, etc.).


:brain: Intelligent Rhythm Logic

The script calculates the rhythm based on the ped’s state:

  • Normal Sinus Rhythm: Healthy player.

  • Sinus Tachycardia: Low health or high stress (BPM increases).

  • Sinus Arrhythmia: Very low health (Irregular beats).

  • Fibrillation (Fib): Player took damage specifically to the chest/heart bone. This state persists until healed.

  • Asystole (Flatline): Player is dead or in the “respawn” screen.

And 20+ additional rhythm variations


:computer: Developer API & Exports

Do you have a custom disease script? Or maybe a drug script that should spike the heart rate? You can override the machine’s logic easily. For More information Fx Studios Docs

Config Modes:

  • Config.Mode = “default”: The script calculates everything automatically.

  • Config.Mode = “custom”: The script waits for your exports.

Export Examples:

-- Force a specific rhythm (e.g., Drug Overdose causing V-Tach)
-- Rhythm Types: 'normal', 'fib', 'asystole', 'sinus_arrhythmia', 'vtach', 'torsades'
exports['fx-ecg']:SetECGStatus(targetServerId, 180, 'vtach')

-- Clear the override and return to default logic
exports['fx-ecg']:ResetECGStatus(targetServerId)

:gear: Configuration

Fully configurable config.lua to fit your server’s economy and medical system.

Config = {}
Config.Core = "qb" -- 'qb' or 'qbox'
Config.Mode = "default" 

Config.DefaultSettings = {
    MinBaseBPM = 70,  -- Random resting heart rate per player
    MaxBaseBPM = 110,
    StressMultiplier = 0.5,
    BleedMultiplier = 10,
    
    -- Bones that trigger Fibrillation (Heart Attack)
    HeartBones = { [24816] = true, [24818] = true, ... }
}

-- Automatically spawn 3D Monitors at these locations
Config.PermanentMonitors = {
    { coords = vector3(315.6, -584.2, 43.2), heading = 160.0 }, -- ER Room 1
    { coords = vector3(318.5, -580.9, 43.2), heading = 340.0 }, -- ER Room 2
}

Config.Target = {
    Enabled = true,
    Jobs = {"ambulance", "doctor"},
    Props = {"prop_monitor_w_01", "v_med_cor_monitor", "sm_ecg_m_display"}
}

:camera_flash: Previews

1. The Interface (Animation & Sound):

2025-12-18 17-21-00

2. Printing & Inventory Report:

2025-12-18 17-36-04

3. Viewing the Report (Item Usage):

2025-12-18 17-25-55


:shopping_cart: Purchase

Escrow: Fx Studios
Open Source: Fx Studios
Fx Studios Discord Server : discord
My Discord for Any Question : fxstudios1

Code Guidlines
|                             |                 |
|-----------------------------|-----------------|
| Code is accessible          | Yes |
| Subscription-based          | No |
| Lines (approximately)       | 334 lua,1013 Javscript |
| Requirements & dependencies | ESX Legacy / Qb Core / QBX Core / Ox target / ox_inventory |
| Support                     | Yes          |

Model

|                             |                 |
|-----------------------------|-----------------|
| Assets are accessible       | Yes |
| Subscription-based          | No          |
| Polygons (model and LOD)    | 17000 Vertices|
| Texture size and amount     | 8 mb |
| Requirements & dependencies | No Requirements    |
| Support                     | Yes          |

Experience Excellence with FX Studios. We craft premium FiveM resources, from the advanced FX-ECG Monitor to innovative gameplay systems. Benefit from optimized code, robust integrations (QBCore/QBox/ESX), and unparalleled support. See what makes FX Studios the leading choice for server owners.

FX-MultiChar: Interactive Multi Character & Spawn System All in one UI
Redefine how players enter your world. This script features a sleek, split-screen UI:
Right Side: Select your character with style.
Left Side: A fully interactive, Google Maps-style interface showing the character’s exact last location.
Integrated Spawn: Select your spawn point directly on the map before clicking “Play.” No more boring menus.
Buy FX-MultiChar on Tebex 10$

8 Likes

It would be fire if you could do this for esx

1 Like

Nice Script

1 Like

Thank you, the esx version will arrive very soon

Thanks

1 Like

is very nice for medics !

1 Like

Thanks, I designed this EKG system especially for doctors and EMS roleplay, to make medical scenarios more immersive and realistic in FiveM.

UPDATE v1.1.0 | Full ESX Legacy Support

FX-ECG is now fully compatible with ESX Legacy, bringing the same advanced 3D simulation and physical printing features to ESX servers.

Changelog

  • ESX Support: Added Config.Core = “esx” option.

  • Bridge System: The script now automatically handles Player Data, Jobs, and Items for QBCore, QBox, and ESX.

  • Inventory Sync: Full metadata support for ESX inventories (ox_inventory recommended).

  • Optimization: Logic updated to handle different framework death states efficiently.

Integration Guide (Important)
To ensure the ECG monitor correctly detects Death, Last Stand, and Revive states on your specific framework, please refer to our documentation for the necessary integration steps.

Read the Integration Guide: Gitbook

Update is now available for download on Keymaster.

1 Like

This looks like a massive step up for medical RP. The 3D monitor and printer system is exactly the kind of immersion our EMS players have been asking for.
I’m curious about the audio side of it - does it include the monitor alarm sounds? I’ve been trying to balance our ambient hospital sounds lately because they can get a bit overwhelming in local voice chat. I actually used https://noisemeter.co/ to check the levels on my setup so I could tweak the xsound values in our config without deafening everyone, haha. Definitely going to keep an eye on this one for our next update.

Thank you, I considered making the monitor sounds fully 3D, but I decided against it for now because it could easily become annoying for other players in the hospital area.

Currently, the EKG monitor sound is only audible when the UI is open, and it can be muted at any time with a dedicated mute key.

That said, I’m actively considering adding a well-balanced 3D sound option in a future update, with proper volume control to avoid overwhelming local voice chat.