Miel Diagnosis — Illness, Diagnosis & Doctor Roleplay
Give your EMS players something to do between revives. Players catch real illnesses with symptoms they can feel in gameplay — coughing fits, dizziness, tremors while aiming, seizures, collapsing. They never see what they have. Only a player doctor can examine them, work out the diagnosis and treat it.
▶ Watch the trailer on YouTube
16 conditions • 30 symptoms • 11 examinations • QBCore / Qbox / ESX / ox_core / ND_Core / Standalone
🩺 How it plays
- A player gets sick. Random rolls, cold weather, long swims, head trauma or a coughing player nearby. They only get vague symptom messages — never the condition’s name.
- They book an appointment at the reception desk or remotely in the Health App. On-duty doctors get an alert.
- The doctor examines them. The patient consents, then the doctor runs exams on the medical tablet and combines the clues.
- Diagnosis & treatment. Prescription (collected at the pharmacy), injection, bed rest, or surgery with skill checks.
- The patient follows the course — e.g. X doses spaced Y minutes apart — and recovers. Chronic conditions are managed with ongoing medication.
Get it wrong and nobody tells you. By default a misdiagnosis is never revealed, the wrong medication simply doesn’t work and may cause side effects. That’s what makes doctors actually think.
🤒 Symptoms players feel
- 30 symptoms: 23 with gameplay effects plus 7 notification-only clues
- Coughing & sneezing fits, dizziness with stumbling and steering drift, blurred / double vision
- Tremors while aiming, limping, muscle weakness, fainting, seizures, vomiting, memory lapses
- Symptoms intensify as conditions progress through stages, and ease while treatment is underway
- Never drops a player below a configurable health floor — lethal conditions are off by default
🦠 16 conditions
Common Cold, Influenza, Pneumonia, Asthma, Hay Fever, Labyrinthitis, Concussion, Migraine, Epilepsy, Insomnia, B12 Anemia, Hypertension, Type 2 Diabetes, Food Poisoning, Appendicitis, Mononucleosis.
Four are chronic and need ongoing management. Add your own by copying a config block — no code required.
📋 Doctor tablet
- Patient consent, then 11 examinations plus a patient interview: vital signs, stethoscope, ENT, eyes, neuro & balance, abdomen, blood test with lab delay, and X-ray / CT / EEG at scanners
- Searchable diagnosis list, prescriptions with refills, injections, bed-rest admission, surgical procedures
- Medical reference book, medical records with notes, appointment queue
- Invoices with suggested exam fees, doctor cut and society payout
- Per-grade permissions for every action (e.g. surgery only from grade 2)
📱 Patient side
- Health App (
/health): current diagnoses, treatment progress, symptom journal, medication and remote booking - Reception desk: book, check in, or see an optional NPC physician when no doctors are online
- Pharmacy counter: collect prescriptions and buy over-the-counter relief
⚙️ Built for server owners
- Auto-detects framework, inventory, target and storage — drop it in and it picks the right bridge
- Inventories: ox, qb, qs, esx — or none (digital doses in the Health App)
- Targeting: ox_target, qb-target, or built-in [E] prompts
- Storage: oxmysql (tables created automatically) or a JSON file — no SQL required
- Society payouts: qb-banking, esx_addonaccount, Renewed-Banking, okokBanking, ox_core group accounts or custom
- Everything is configurable: assignment chance & interval, minimum doctors on duty, new-character grace period, contagion radius, appointment fees, consent, billing, NPC doctor and more
- Discord webhook logs (contracted, diagnosed, misdiagnosed, cured, billing, admin…)
- Exports + server events to hook into your own scripts; admin commands to give, cure and test symptoms
- Fully translatable — all text including the UI lives in one locale file
✅ Tested on real servers
The full loop (booking, exams, diagnosis, prescription, invoice, pharmacy, medication) was run on a fresh install of each framework:
- QBCore 1.3 + qb-inventory + qb-banking 2.0
- Qbox 1.24 + ox_inventory + Renewed-Banking
- ESX Legacy 1.16 + ESX inventory + esx_addonaccount
- ox_core 1.5 + ox_inventory
- ND_Core 2.3 + ox_inventory
Performance: 0.01 ms client idle, 0.03 ms under heavy use (2 conditions and 9 active symptoms). Server 0.00 ms.
🔓 What’s open
The core is protected by Cfx.re Escrow. Open and editable: all config files, locales, the framework/inventory bridges, client/editable.lua and server/editable.lua (hooks for phones, dispatch, ambulance death checks, walkstyles, notifications and sounds), and the item install files.
📦 Requirements
- ox_lib
- OneSync
- Optional: oxmysql, a framework, an inventory and a target resource
❓ FAQ
Is this an ambulance / EMS job?
No. Miel Diagnosis adds illness and diagnosis gameplay on top of your existing EMS setup. It does not replace your revive, death or ambulance-job script. Doctors are whatever jobs you list in the config (default ambulance and doctor).
Will it work with my hospital MLO?
Yes — reception, pharmacy, beds, scanners and operating tables are coordinates in config/locations.lua. Defaults match the Pillbox and Paleto layouts used by qb-ambulancejob; adjust them for your MLO.
Will players get sick when no doctors are online?
Not by default. Random conditions need at least one doctor on duty (configurable), and you can enable an NPC physician as a fallback.
Do I need an inventory or a database?
No. Without an inventory, medication becomes digital doses in the Health App. Without oxmysql, data is saved to a JSON file.
Can players die from illness?
Only if you enable lethal conditions (off by default). There is also a non-fatal “collapse” mode.
Can I add my own conditions, symptoms and medication?
Yes. Conditions, symptoms, exams and medications are plain config tables — copy a block and edit it.
💬 Support
Questions before buying, setup help and updates: Miel Development Discord.
After purchase the resource is delivered to your Cfx.re Portal (Granted Assets) and includes a full README with installation steps.