qb / ps / lj-inventory
This guide covers every qb-core based inventory: qb-inventory, ps-inventory, lj-inventory, and also works as a reference for qs-inventory, codem-inventory, tgiann-inventory and origen_inventory.
1. Add the item definitions
- Open your shared items file. Depending on your framework version this is one of:
qb-core/shared/items.lua[qb]/qb-core/shared/items.luaox_inventory-style data files for qs / codem / tgiann / origen
- Scroll to the end of the
QBShared.Items = { ... }table. - Paste the following item code inside that table:
['bandage'] = { name = 'bandage', label = 'Bandage', weight = 50, type = 'item', image = 'bandage.png', unique = false, useable = true, shouldClose = true, description = 'Controls minor bleeding' },
['gauze'] = { name = 'gauze', label = 'Gauze Packing', weight = 40, type = 'item', image = 'gauze.png', unique = false, useable = true, shouldClose = true, description = 'Controls moderate bleeding' },
['pressure_dressing'] = { name = 'pressure_dressing', label = 'Pressure Dressing', weight = 80, type = 'item', image = 'pressure_dressing.png', unique = false, useable = true, shouldClose = true, description = 'Controls severe bleeding' },
['hemostatic_gauze'] = { name = 'hemostatic_gauze', label = 'Hemostatic Gauze', weight = 80, type = 'item', image = 'hemostatic_gauze.png', unique = false, useable = true, shouldClose = true, description = 'Stops arterial bleeding' },
['tourniquet'] = { name = 'tourniquet', label = 'Tourniquet', weight = 120, type = 'item', image = 'tourniquet.png', unique = false, useable = true, shouldClose = true, description = 'Stops limb bleeding' },
['antiseptic'] = { name = 'antiseptic', label = 'Antiseptic', weight = 100, type = 'item', image = 'antiseptic.png', unique = false, useable = true, shouldClose = true, description = 'Cleans wounds' },
['irrigation_kit'] = { name = 'irrigation_kit', label = 'Wound Irrigation Kit', weight = 250, type = 'item', image = 'irrigation_kit.png', unique = false, useable = true, shouldClose = true, description = 'Flushes infected wounds' },
['antibiotic_cream'] = { name = 'antibiotic_cream', label = 'Antibiotic Cream', weight = 60, type = 'item', image = 'antibiotic_cream.png', unique = false, useable = true, shouldClose = true, description = 'Treats mild infections' },
['suture_kit'] = { name = 'suture_kit', label = 'Suture Kit', weight = 150, type = 'item', image = 'suture_kit.png', unique = false, useable = true, shouldClose = true, description = 'Closes deep wounds' },
['splint'] = { name = 'splint', label = 'Splint', weight = 300, type = 'item', image = 'splint.png', unique = false, useable = true, shouldClose = true, description = 'Immobilises a broken limb' },
['cervical_collar'] = { name = 'cervical_collar', label = 'Cervical Collar', weight = 300, type = 'item', image = 'cervical_collar.png', unique = false, useable = true, shouldClose = true, description = 'Stabilises neck injuries' },
['cast_kit'] = { name = 'cast_kit', label = 'Cast Kit', weight = 600, type = 'item', image = 'cast_kit.png', unique = false, useable = true, shouldClose = true, description = 'Hospital cast' },
['burn_dressing'] = { name = 'burn_dressing', label = 'Burn Dressing', weight = 80, type = 'item', image = 'burn_dressing.png', unique = false, useable = true, shouldClose = true, description = 'Dresses burns' },
['ice_pack'] = { name = 'ice_pack', label = 'Ice Pack', weight = 200, type = 'item', image = 'ice_pack.png', unique = false, useable = true, shouldClose = true, description = 'Reduces bruising' },
['chest_seal'] = { name = 'chest_seal', label = 'Chest Seal', weight = 60, type = 'item', image = 'chest_seal.png', unique = false, useable = true, shouldClose = true, description = 'Seals an open chest wound' },
['decompression_needle'] = { name = 'decompression_needle', label = 'Decompression Needle', weight = 40, type = 'item', image = 'decompression_needle.png', unique = false, useable = true, shouldClose = true, description = 'Relieves a tension pneumothorax' },
['pelvic_binder'] = { name = 'pelvic_binder', label = 'Pelvic Binder', weight = 500, type = 'item', image = 'pelvic_binder.png', unique = false, useable = true, shouldClose = true, description = 'Holds a broken pelvis together' },
['airway_kit'] = { name = 'airway_kit', label = 'Suction & Airway Kit', weight = 400, type = 'item', image = 'airway_kit.png', unique = false, useable = true, shouldClose = true, description = 'Clears fluid from the airway' },
['xray_film'] = { name = 'xray_film', label = 'X-Ray Film', weight = 80, type = 'item', image = 'xray_film.png', unique = true, useable = true, shouldClose = true, description = 'Read it on a lightbox' },
['ultrasound'] = { name = 'ultrasound', label = 'Portable Ultrasound', weight = 1200, type = 'item', image = 'ultrasound.png', unique = true, useable = true, shouldClose = true, description = 'Bedside FAST scan' },
['io_needle'] = { name = 'io_needle', label = 'IO Needle', weight = 60, type = 'item', image = 'io_needle.png', unique = false, useable = true, shouldClose = true, description = 'Bone access needle' },
['intubation_kit'] = { name = 'intubation_kit', label = 'Intubation Kit', weight = 350, type = 'item', image = 'intubation_kit.png', unique = false, useable = true, shouldClose = true, description = 'Secures the airway' },
['morphine'] = { name = 'morphine', label = 'Morphine', weight = 20, type = 'item', image = 'morphine.png', unique = false, useable = true, shouldClose = true, description = 'Strong painkiller' },
['fentanyl'] = { name = 'fentanyl', label = 'Fentanyl', weight = 20, type = 'item', image = 'fentanyl.png', unique = false, useable = true, shouldClose = true, description = 'Very strong painkiller' },
['epinephrine'] = { name = 'epinephrine', label = 'Epinephrine', weight = 20, type = 'item', image = 'epinephrine.png', unique = false, useable = true, shouldClose = true, description = 'Adrenaline' },
['naloxone'] = { name = 'naloxone', label = 'Naloxone (Narcan)', weight = 20, type = 'item', image = 'naloxone.png', unique = false, useable = true, shouldClose = true, description = 'Reverses overdoses' },
['propofol'] = { name = 'propofol', label = 'Propofol', weight = 30, type = 'item', image = 'propofol.png', unique = false, useable = true, shouldClose = true, description = 'Sedative' },
['paracetamol'] = { name = 'paracetamol', label = 'Paracetamol', weight = 10, type = 'item', image = 'paracetamol.png', unique = false, useable = true, shouldClose = true, description = 'Mild painkiller' },
['ibuprofen'] = { name = 'ibuprofen', label = 'Ibuprofen', weight = 10, type = 'item', image = 'ibuprofen.png', unique = false, useable = true, shouldClose = true, description = 'Anti-inflammatory' },
['tramadol'] = { name = 'tramadol', label = 'Tramadol', weight = 10, type = 'item', image = 'tramadol.png', unique = false, useable = true, shouldClose = true, description = 'Prescription painkiller' },
['antibiotics'] = { name = 'antibiotics', label = 'Antibiotics', weight = 10, type = 'item', image = 'antibiotics.png', unique = false, useable = true, shouldClose = true, description = 'Bacterial infections' },
['antihistamine'] = { name = 'antihistamine', label = 'Antihistamine', weight = 10, type = 'item', image = 'antihistamine.png', unique = false, useable = true, shouldClose = true, description = 'Allergies' },
['cough_syrup'] = { name = 'cough_syrup', label = 'Cough Syrup', weight = 150, type = 'item', image = 'cough_syrup.png', unique = false, useable = true, shouldClose = true, description = 'Respiratory illness' },
['anxiolytic'] = { name = 'anxiolytic', label = 'Anti-Anxiety Medication', weight = 10, type = 'item', image = 'anxiolytic.png', unique = false, useable = true, shouldClose = true, description = 'Panic attacks' },
['antiviral'] = { name = 'antiviral', label = 'Antiviral', weight = 10, type = 'item', image = 'antiviral.png', unique = false, useable = true, shouldClose = true, description = 'Viral illness' },
['antiemetic'] = { name = 'antiemetic', label = 'Antiemetic', weight = 10, type = 'item', image = 'antiemetic.png', unique = false, useable = true, shouldClose = true, description = 'Nausea' },
['glucose_gel'] = { name = 'glucose_gel', label = 'Glucose Gel', weight = 40, type = 'item', image = 'glucose_gel.png', unique = false, useable = true, shouldClose = true, description = 'Low blood sugar' },
['insulin'] = { name = 'insulin', label = 'Insulin', weight = 30, type = 'item', image = 'insulin.png', unique = false, useable = true, shouldClose = true, description = 'High blood sugar' },
['oxygen_mask'] = { name = 'oxygen_mask', label = 'Oxygen Mask', weight = 800, type = 'item', image = 'oxygen_mask.png', unique = false, useable = true, shouldClose = true, description = 'Improves oxygen' },
['saline_bag'] = { name = 'saline_bag', label = 'Saline IV (500ml)', weight = 550, type = 'item', image = 'saline_bag.png', unique = false, useable = true, shouldClose = true, description = 'Restores fluid volume' },
['electrolytes'] = { name = 'electrolytes', label = 'Electrolyte Drink', weight = 350, type = 'item', image = 'electrolytes.png', unique = false, useable = true, shouldClose = true, description = 'Dehydration' },
['blood_bag'] = { name = 'blood_bag', label = 'Blood Bag', weight = 520, type = 'item', image = 'blood_bag.png', unique = true, useable = true, shouldClose = true, description = 'Check the blood type before use' },
['blood_tube'] = { name = 'blood_tube', label = 'Blood Tube', weight = 20, type = 'item', image = 'blood_tube.png', unique = true, useable = true, shouldClose = true, description = 'Patient blood sample' },
['pulse_oximeter'] = { name = 'pulse_oximeter', label = 'Pulse Oximeter', weight = 100, type = 'item', image = 'pulse_oximeter.png', unique = true, useable = true, shouldClose = true, description = 'Heart rate & oxygen' },
['bp_cuff'] = { name = 'bp_cuff', label = 'Blood Pressure Cuff', weight = 400, type = 'item', image = 'bp_cuff.png', unique = true, useable = true, shouldClose = true, description = 'Blood pressure' },
['thermometer'] = { name = 'thermometer', label = 'Thermometer', weight = 50, type = 'item', image = 'thermometer.png', unique = true, useable = true, shouldClose = true, description = 'Temperature' },
['stethoscope'] = { name = 'stethoscope', label = 'Stethoscope', weight = 200, type = 'item', image = 'stethoscope.png', unique = true, useable = true, shouldClose = true, description = 'Lung & heart sounds' },
['penlight'] = { name = 'penlight', label = 'Penlight', weight = 50, type = 'item', image = 'penlight.png', unique = true, useable = true, shouldClose = true, description = 'Pupil reaction' },
['glucometer'] = { name = 'glucometer', label = 'Glucometer', weight = 100, type = 'item', image = 'glucometer.png', unique = true, useable = true, shouldClose = true, description = 'Blood sugar' },
['defibrillator'] = { name = 'defibrillator', label = 'Defibrillator', weight = 2500, type = 'item', image = 'defibrillator.png', unique = true, useable = true, shouldClose = true, description = 'Shocks a shockable rhythm' },
['patient_monitor'] = { name = 'patient_monitor', label = 'Patient Monitor', weight = 4000, type = 'item', image = 'patient_monitor.png', unique = true, useable = true, shouldClose = true, description = 'Deployable monitor' },
['medbag'] = { name = 'medbag', label = 'Medical Bag', weight = 1500, type = 'item', image = 'medbag.png', unique = true, useable = true, shouldClose = true, description = 'Deployable medical bag' },
['stretcher'] = { name = 'stretcher', label = 'Folded Stretcher', weight = 8000, type = 'item', image = 'stretcher.png', unique = true, useable = true, shouldClose = true, description = 'Deploy a stretcher' },
['wheelchair'] = { name = 'wheelchair', label = 'Wheelchair', weight = 9000, type = 'item', image = 'wheelchair.png', unique = true, useable = true, shouldClose = true, description = 'Deploy a wheelchair' },
['crutch'] = { name = 'crutch', label = 'Crutch', weight = 1200, type = 'item', image = 'crutch.png', unique = true, useable = true, shouldClose = true, description = 'Walk with a leg injury' },
['breathalyzer'] = { name = 'breathalyzer', label = 'Breathalyzer', weight = 200, type = 'item', image = 'breathalyzer.png', unique = false, useable = false, shouldClose = true, description = 'Reads blood alcohol from a breath sample' },
['dna_swab'] = { name = 'dna_swab', label = 'DNA Swab', weight = 10, type = 'item', image = 'dna_swab.png', unique = false, useable = false, shouldClose = true, description = 'Collect DNA from a dead body' },
['dna_sample'] = { name = 'dna_sample', label = 'DNA Sample', weight = 15, type = 'item', image = 'dna_sample.png', unique = true, useable = false, shouldClose = true, description = 'Analyse it at the hospital lab' },
['bodybag'] = { name = 'bodybag', label = 'Body Bag', weight = 1000, type = 'item', image = 'bodybag.png', unique = false, useable = true, shouldClose = true, description = 'For deceased patients' },
['first_aid_kit'] = { name = 'first_aid_kit', label = 'First Aid Kit', weight = 500, type = 'item', image = 'first_aid_kit.png', unique = false, useable = true, shouldClose = true, description = 'Basic first aid' },
['revive_kit'] = { name = 'revive_kit', label = 'Revive Kit', weight = 800, type = 'item', image = 'revive_kit.png', unique = false, useable = true, shouldClose = true, description = 'Emergency revive' },
['pager'] = { name = 'pager', label = 'Pager', weight = 150, type = 'item', image = 'pager.png', unique = true, useable = true, shouldClose = true, description = 'Receive EMS pages' },
['medical_report'] = { name = 'medical_report', label = 'Medical report', weight = 10, type = 'item', image = 'medical_report.png', unique = true, useable = true, shouldClose = true, description = 'A signed medical document' },
['prescription'] = { name = 'prescription', label = 'Prescription', weight = 10, type = 'item', image = 'prescription.png', unique = true, useable = true, shouldClose = true, description = 'Use it to read the prescription' },
['saline_bag_small'] = { name = 'saline_bag_small', label = 'Saline IV (250ml)', weight = 300, type = 'item', image = 'saline_bag_small.png', unique = false, useable = false, shouldClose = true, description = 'Small fluid bag' },
['thermal_blanket'] = { name = 'thermal_blanket', label = 'Thermal Blanket', weight = 300, type = 'item', image = 'thermal_blanket.png', unique = false, useable = true, shouldClose = true, description = 'Warms up a cold patient' },
['magnesium'] = { name = 'magnesium', label = 'Magnesium Sulfate', weight = 60, type = 'item', image = 'magnesium.png', unique = false, useable = false, shouldClose = true, description = 'IV antiarrhythmic' },
['amiodarone'] = { name = 'amiodarone', label = 'Amiodarone', weight = 60, type = 'item', image = 'amiodarone.png', unique = false, useable = false, shouldClose = true, description = 'IV antiarrhythmic' },
['vicodin'] = { name = 'vicodin', label = 'Vicodin', weight = 20, type = 'item', image = 'vicodin.png', unique = false, useable = true, shouldClose = true, description = 'Prescription pain relief' },
['melatonin'] = { name = 'melatonin', label = 'Melatonin', weight = 20, type = 'item', image = 'melatonin.png', unique = false, useable = true, shouldClose = true, description = 'Helps with sleep' },2. Remove duplicates
qb-core ships with some of these names already. Search for them and keep one definition of each:
bandage medbag first_aid_kit defibrillator stretcher wheelchairOld qb medical items often have useable = true with a handler in qb-ambulancejob. Since that resource is removed, those handlers are gone, use our definitions.
3. Add the images
Copy every PNG from the script's images/items/ folder into your inventory's image folder:
| Inventory | Folder |
|---|---|
| qb-inventory | qb-inventory/html/images/ |
| ps-inventory | ps-inventory/html/images/ |
| lj-inventory | lj-inventory/html/images/ |
| qs-inventory | qs-inventory/html/images/ |
4. Restart
restart qb-core
restart qb-inventory
restart kartik-ambulancejobOr restart the server.
✅ Check it worked
/giveitem 1 bandage 5The item should appear with its icon and description.