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_medicaloxide-medical
The downed and dead state machine — laststand, bleedout, respawnWhat is actually wrong with the player: fractures, wounds, diseases, sickness
Qbox's own lightweight injury and bleed modelBlood 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

  1. Server starts with no dependency errors, and qbx_medical is still running.
  2. /med test as an admin — every check should pass.
  3. /med sim fracture — you should limp and your aim should drift.
  4. /med add me disease infection - 1, then /med give me antibiotics and use it. A progress bar should run and the infection should clear.
  5. /med checkneeds me — should print your real hunger, thirst and stress values, not nil.
  6. Go into laststand and confirm damage over time and effects pause, while /med vitals me keeps updating.
  7. /med sim reset to clean up.