QBX Installation
Install oxide-medical on Qbox — coexistence with qbx_medical, ox_inventory item registration, needs polling, and death integration.
Qbox (qbx_core) specific steps for oxide-medical. Follow the Installation Guide first — this page only covers what differs on Qbox.
Nothing to Disable — and Keep qbx_medical
oxide-medical does not replace anything Qbox ships, and in particular it does not replace qbx_medical.
The two do different jobs and are meant to run together:
qbx_medical | oxide-medical |
|---|---|
| The downed and dead state machine — laststand, bleedout, respawn | What is actually wrong with the player: fractures, wounds, diseases, sickness |
| Qbox's own lightweight injury and bleed model | Blood type, DNA, immunity, disease progression, contagion, vitals |
Leave qbx_medical running.
If you are also installing oxide-ems, that one replaces qbx_ambulancejob — but keeps qbx_medical too. See its own Qbox guide.
A note on overlap
qbx_medical has its own injury and bleed concept, and oxide-medical has a much deeper one. They coexist without erroring, but a player can carry both — a qbx_medical bleed and an oxide-medical gunshot wound from the same shot.
Most servers running both want qbx_medical's own damage effects turned down or off in its config, and oxide-medical treated as the source of truth for injuries. Its laststand, bleedout and respawn handling should stay exactly as it is — that is the part oxide-medical relies on.
Register the Cure Items
Open ox_inventory/data/items.lua and paste these into the list. These are the exact names oxide-medical looks for — do not rename them:
-- Oxide Medical
['antacid'] = { label = 'Antacid', weight = 100, stack = true, close = true, description = 'Relieves nausea and stomach sickness.' },
['antibiotics'] = { label = 'Antibiotics', weight = 100, stack = true, close = true, description = 'Treats bacterial infections.' },
['antiviral'] = { label = 'Antiviral', weight = 100, stack = true, close = true, description = 'Treats viral infections.' },The fracture and wound catalogs also name two supply items. If you are installing oxide-ems alongside this, you will be adding them for it anyway — otherwise add them here:
-- Medical supplies (shared with oxide-ems)
['medical_bandage'] = { label = 'Medical Bandage', weight = 100, stack = true, close = true, description = 'A sterile bandage used to stop bleeding.' },
['medical_splint'] = { label = 'Splint', weight = 300, stack = true, close = true, description = 'A rigid splint used to set fractures.' },Restart ox_inventory (or the server) after saving.
The item you already have
ox_inventory ships painkillers, the cure for fever. Nothing to add — but note that qbx_medical may also register it as a usable item for its own effects. Two resources claiming one item conflict; decide which one owns it.
Copy the Images
Copy the .png files into:
ox_inventory/web/images/Images for all five items ship in oxide-ems/itemimages/, since the two resources are distributed together.
Needs Integration
Qbox keeps hunger, thirst and stress in player metadata, and o-link reads all three. The needs-driven parts of oxide-medical work out of the box:
- going hungry can bring on nausea
- sustained stress can bring on dizziness
- neglect erodes the immune stat; looking after yourself regenerates it
- low thirst brings on dehydration, which clears when the player drinks
Those values are read on a poll — every 30 seconds, with the sickness rules rolling every fourth read. See Config.Triggers.NeedsPolling in Configuration.
Death Integration
oxide-medical reads downed and dead state through o-link, which on Qbox means the inlaststand and isdead metadata that qbx_medical maintains. While a player is either, no new injuries register, no illness rolls happen, damage over time pauses, and physical effects clear.
That is another reason to leave qbx_medical running.
Vitals are the deliberate exception. They keep simulating on a downed patient, because a deteriorating patient is the point — it is what feeds the operating-table monitor in oxide-ems.
Verification on Qbox
- Server starts with no dependency errors, and
qbx_medicalis still running. /med testas an admin — every check should pass./med sim fracture— you should limp and your aim should drift./med add me disease infection - 1, then/med give me antibioticsand use it. A progress bar should run and the infection should clear./med checkneeds me— should print your real hunger, thirst and stress values, notnil.- Go into laststand and confirm damage over time and effects pause, while
/med vitals mekeeps updating. /med sim resetto clean up.