QBCore Installation

Install oxide-fire on QBCore — the fire job in qb-core, the scba item, the item image and the resources that work with it.

QBCore-specific steps for oxide-fire. Follow Installation first. This page only covers what is different on QBCore.

Add a fire job

QBCore does not ship a fire job, so add one. A fire department in oxide-fire is tied to a job with the same name: hiring a firefighter sets their QBCore job to it.

Open qb-core/shared/jobs.lua and add this inside the QBShared.Jobs = { ... } list, next to the other jobs:

qb-core/shared/jobs.lua
fire = {
    label = 'Fire Department',
    defaultDuty = false,
    offDutyPay = false,
    grades = {
        ['0'] = { name = 'Recruit', payment = 0 },
        ['1'] = { name = 'Firefighter', payment = 0 },
        ['2'] = { name = 'Lieutenant', payment = 0 },
        ['3'] = { name = 'Chief', isboss = true, payment = 0 },
    },
},

A few things matter here:

  • The name (fire above) must be the same as the department's internal name in /fire admin. Use lowercase.
  • The grade numbers should match the rank numbers of the grades you create in /fire admin, so a rank 2 firefighter is grade 2 in QBCore too.
  • payment = 0 stops QBCore paying the job as well. oxide-fire pays its own salaries while on duty, so a QBCore payment would pay firefighters twice.
  • defaultDuty = false means firefighters log in off duty, which matches oxide-fire. They go on duty when they clock in at a station.

Grade names and labels are up to you. Save the file. QBCore reads this file when it starts, so the job exists after the next server restart (see Restart the whole server).

Register the scba item

Open qb-core/shared/items.lua and paste this into the item list. The name must stay exactly scba:

qb-core/shared/items.lua
-- Oxide Fire
['scba'] = { name = 'scba', label = 'SCBA', weight = 11000, type = 'item', image = 'scba.png', unique = true, useable = true, shouldClose = true, description = 'Breathing apparatus: a face mask and an air cylinder for working in smoke.' },

The label, weight and description are sensible defaults. Change them if you like. The item name must stay scba.

oxide-fire makes the item usable itself, so there is nothing else to add.

If your QBCore server runs ox_inventory instead of qb-inventory, register the item the ox_inventory way instead: copy the entry from itemimages/ox_inventory_items.lua into ox_inventory/data/items.lua, above that file's final closing brace.

Equipment for the gear room

Fire extinguishers and hatchets are stock QBCore weapons (weapon_fireextinguisher, weapon_hatchet). Check they are in qb-core/shared/weapons.lua and in your item list, then add them to a gear-room loadout in /fire admin → Gear Room. The item search there lists every item your inventory knows.

Copy the image

Copy itemimages/scba.png into:

qb-inventory/html/images/

Without an image the item still works, it just shows a blank icon.

Check your other resources

oxide-fire works through o-link, which supports the usual QBCore resources:

WhatWorks with
Targetqb-target or ox_target
Inventoryqb-inventory (or ox_inventory)
Clothing (for uniforms)qb-clothing, illenium-appearance or fivem-appearance
Banking (for the treasury)qb-banking or Renewed-Banking

Banking: if your server runs none of the banking resources o-link supports, turn off Use banking accounts under Duty & Payroll in /fire settings, or the department treasury stays at 0. See Configuration.

Restart the whole server

Not restart oxide-fire. The hose nozzle, coupling and SCBA backpack models are streamed, and QBCore reads its job and item lists, only when the server starts. See Installation, Restart the whole server.

Verification on QBCore

The server starts with no oxide-fire errors in the console.
/fire admin opens. Create a department with the internal name fire and grades ranked 0 to 3.
Hire yourself with /fire hire <your id> fire 0. Your QBCore job should now be "Fire Department".
Clock in at the station. QBCore should now show you on duty.
Give yourself an scba (for example from a gear-room loadout) and use it. The mask should go on with an SCBA air timer on screen.
Clock out, then set your job to unemployed with QBCore's job command. You should be dismissed from the fire department as well.