🩺 ECG Machine With 3D Monitor | DUI System | & Printer System | Real Simulation | Medical Report System | API Ready

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 using HTML5 Canvas . 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.


: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

Tebex Link: Fx Studios
Open Source: Fx Studios
Price: $19,49 + tax %40 New Year Discount ! :santa: :christmas_tree: :gift: :sparkles:

This script is encrypted using Asset Escrow system.

Code

|                             |                 |
|-----------------------------|-----------------|
| Code is accessible          | Yes |
| Subscription-based          | No |
| Lines (approximately)       | 334 lua,1013 Javscript |
| Requirements & dependencies | Qb Core / QBX Core|
| 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          |
3 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