Installation

Requirements

Required

Optional (Auto-detected)

  • ox_lib - Recommended for the best UX (progress bars, notifications, menus). Works without it but falls back to simpler native/framework UI (GitHub (opens in a new tab))
  • ox_target or qb-target - For NPC and depot interaction. If neither is installed, the resource falls back to a native textui prompt
  • QB-Core, QBox, or ESX - For framework notifications, money, and inventory. Runs standalone if no framework is detected

The resource auto-detects your framework, targeting system, inventory, money system, and notification system. In most setups you can drop it in and ensure it without editing a single Lua file.

Installation Steps

Step 1: Download the Resource

Download legends_firefighter from your Keymaster grants or the store.

Step 2: Extract to Resources

Place the legends_firefighter folder into your server's resources directory.

resources/
└── legends_firefighter/
    ├── fxmanifest.lua
    ├── config/
    │   ├── config.lua
    │   └── routes.lua
    ├── client/
    │   ├── editable.lua
    │   ├── main.lua
    │   ├── fire.lua
    │   ├── zones.lua
    │   ├── vehicle.lua
    │   ├── extinguisher.lua
    │   └── helicopter.lua
    ├── server/
    │   ├── editable.lua
    │   ├── main.lua
    │   └── leveling.lua
    ├── bridge/
    │   ├── shared/
    │   ├── client/
    │   └── server/
    ├── locales/
    │   └── en.json
    └── html/

Step 3: Add to Server Config

Add the following to your server.cfg (adjust for the dependencies you already run):

# Required
ensure oxmysql

# Recommended
ensure ox_lib

# Optional: targeting system (pick one)
ensure ox_target   # or qb-target

ensure legends_firefighter
⚠️

Important: oxmysql and (if used) ox_lib / ox_target must start before legends_firefighter.

Step 4: Verify the Fire Extinguisher Item

Tier 1 (Rookie) missions require players to carry a fire extinguisher weapon (weapon_fireextinguisher). Most frameworks and inventories ship this item by default. If yours does not, add it to your inventory system.

For ox_inventory

The fire extinguisher is included in ox_inventory by default as WEAPON_FIREEXTINGUISHER. No action needed.

For qb-core

['weapon_fireextinguisher'] = {
    name = 'weapon_fireextinguisher',
    label = 'Fire Extinguisher',
    weight = 2500,
    type = 'weapon',
    ammotype = 'AMMO_FIREEXTINGUISHER',
    image = 'weapon_fireextinguisher.png',
    unique = true,
    useable = false,
    description = 'A handheld fire extinguisher.'
}

You can change the required item (or remove it entirely) in config/config.lua under missionTiers[1].requiredItem.

Step 5: Configure (Optional)

Customize the job in config/config.lua and your routes in config/routes.lua. See the Configuration page for every option.

Common first-edit targets:

  • npc.coords — move the fire-station NPC to your map
  • missionTiers[2].vehicle.spawnPoint / missionTiers[3].vehicle.spawnPoint — where the firetruck and helicopter spawn
  • rewards.moneyType'cash' or 'bank'
  • leveling.levels[n].xpRequired — how fast players progress between ranks
  • loot.tables.* — what players find when searching a scene

Step 6: Restart Server

Restart your server, or run refresh and ensure legends_firefighter from the live console.

Verification

After installation:

  1. Travel to the fire station NPC (default coords near Davis Fire Station, -1067.91, -2378.78, 14.08). A blip labeled Fire Station should appear on your map.
  2. Interact with the NPC (target or textui) and select Rent Firetruck or the equivalent rookie option.
  3. A GPS route should appear to the first fire location. Drive there and extinguish the fires.
  4. After each location, return to the depot or advance to the next fire per the on-screen prompt.
  5. Verify you received payment and the +XP notification on completion.
  6. Relog or check your database — your level/XP should persist.

Admin / Developer Commands

This resource does not register end-user admin commands by default. Instead it exposes server-side exports for integrations such as anti-cheat kicks or admin panels:

ExportUsageDescription
GetActiveJobCountexports.legends_firefighter:GetActiveJobCount()Returns the number of currently active firefighter jobs
GetActiveJobsexports.legends_firefighter:GetActiveJobs()Returns the active-jobs table keyed by source
ForceEndJobexports.legends_firefighter:ForceEndJob(source)Cancels a specific player's active job (returns true on success)

See the full list on the Exports & API page.

If you need to grant a player XP via an external system (daily rewards, event bonuses, etc.), you can do so by modifying server/leveling.lua's hooks or by calling the job hooks from server/editable.lua.

Custom Maps & MLOs

The default fire station is placed at the vanilla Davis Fire Station. If you use a custom MLO for the fire department:

  1. Update npc.coords in config/config.lua to the new entrance
  2. Update missionTiers[2].vehicle.spawnPoint and missionTiers[3].vehicle.spawnPoint to safe spawn points within your MLO
  3. Ensure your fire locations in config/routes.lua are reachable with the vehicle tier they're assigned to

Need help? Join our Discord (opens in a new tab) and open a support ticket!


Legends Store - Premium FiveM Scripts