Config = { initialPressure = 330, -- what the bottle starts at dialMax = 400, -- what the UI face is drawn to unit = 'bar', -- bar or psi nuiPos = 'br', -- br , bm ,bl, tl, tr ServerDebug = false, keys = { scba = 'J', scbaLight = 'K', scbaPass = 'H', }, oxygenBarPerSecond = 0.5, runningDrain = { walk = 1.0, run = 1.15, sprint = 1.35 }, -- Command to automatically add outfits to the outfits.json addOutfitCommand = "addoutfit", StrictClothingCheck = false, -- Do not touch unless you know what you're doing. audio = { soundset = "scba", scba = { breatheName = "breathe_loop", breatheIntervalMs = 3000, -- Recommended. breathRange = 12.0, networkedBreath = true, }, pass = { passFullName = 'pass_full', idleSeconds = 30, -- time without movement to auto-trip intervalMs = 6000, -- retrigger cadence for pass sound range = 25.0, -- PlaySoundFromCoord radius networked = true, -- let others hear it in range moveThreshold = 0.06 -- meters to count as “moved” } }, light = { distance = 18.0, brightness = 0.3, radius = 10.0, falloff = 2.0, hardness = 0.2, headOffset = vector3(0.0, 0.0, 0.13), chestOffset = vector3(0.16, 0.03, -0.02), color = { r = 255, g = 255, b = 240 }, followHead = true, -- if true and mode=head: aim light where the player looks syncedHeadLight = true, -- syncs where the player is aiming for other players. }, smoke = { enabled = true, tickMs = 500, respectSafeZones = true, -- Simpler Boost consumption boostConsumption = 0.50, -- Extra SCBA drain in HOT/WARM smoke (only when protected). boostConsumption * (tickMs/1000). Example: 0.5 & 500ms → 0.25/tick (~0.5/sec). coughAnim = { dict = 'timetable@gardener@smoking_joint', name = 'idle_cough', timeMs = 3100, flag = 49 }, -- per-tier extra drain (bar/sec). if present, overrides boostConsumption. tierBoost = { haze = 0.10, warm = 0.30, hot = 0.50 }, tiers = { hot = { radius = 5.0, dps = 15.0, lungDps = 6.5, cough = true, coughCooldownMs = 3500}, warm = { radius = 12.0, dps = 5.0, lungDps = 3.0, cough = true, coughCooldownMs = 6000}, haze = { radius = 20.0, cough = true, coughCooldownMs = 8000, notify = true, notifyText = 'Your throat burns. The air tastes like smoke.' } }, intensity = { rings = { { radius = 4.0, weight = 1.0 }, { radius = 8.0, weight = 0.6 }, { radius = 14.0, weight = 0.3 } }, thresholds = { haze = 0.25, warm = 1.0, hot = 2.0 }, occlusionPenalty = 0.5, -- LOS blocked → score *= this minFireCount = 1 -- if total fires in 14m < this, treat as none } }, refillPoints = { enabled = true, allowCommand = true, commaneName = "scbarefill", radius = 2.0, locations = { vec3(202.72, -1645.52, 29.8) } }, ScbaOffsets = { radius = 1.4, VehicleSettings = { [`firetruk`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`20ramcsquad`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`20ramambo`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lafdbatt`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lafdxt6700`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lafdcab`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lafdtiller`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lafdxt6700`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`enforcer`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`EnforcerEng`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`enforcerf`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`enladder`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`f250ambo`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fd14tahoe`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fireburb`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`firef350`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`Commandcenterr`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`ram20pov`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`rescue1`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`walkin`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`walkinarrow`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`commandtruckr`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`arrowxt1`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`21fireladder`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`16ramambo`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`16ramcsquad`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`23sierrafire`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`24ramambo`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`heavypump`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`heavytank`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`heavywild`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`heavyrescue`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`202346gmc`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`e350vanb`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`e450ambo`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`f550csquad`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`FIRE03sierra`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fire22exp`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fire22exp`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fire23f150xlt`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fire2014silvc`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`firef250`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`firegmc23sirhd`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`firetahoe`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`fordfire`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`ftanker`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdbat`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdbug`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`LACoFDDurango`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdeng`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdfoam`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdpat`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdrs`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdsup`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdt3`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdusartrk`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdusartrlr`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lacofdutil`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lsfd20fpiu`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`lafdtahoe`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`safe33f`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`ramfire`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`x3bearcat`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`arrowxt1`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`25fpiupov`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`24sub`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`engine51`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`ra51`] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [` `] = { offsets = { { x = 1.15, y = -2.45, z = 0.55 }, { x = -1.15, y = -2.45, z = 0.55 }, } }, [`britishladder`] = { offsets = { { x = -0.6, y = -3.8, z = 0.5 }, } }, [`rearmount`] = { offsets = { { x = -1.29, y = -1.83, z = 0.48 }, } }, } }, safeZones = { { coords = vector3(13.31, -1103.53, 29.8), radius = 30.0}, -- ammunation example. }, safeProps = { { model = 'prop_beach_fire', radius = 5.0 }, }, safeZoneCheckMs = 500, safePropScanRadius = 35.0, debugSafeZones = false, -- For PolyZones only EnablePositioningCommand = false, PositioningControls = { down = 207, -- Page Up up = 208, -- Page Down backwards = 173, -- Arrow Down forwards = 172, -- Arrow Up left = 174, -- Arrow Left right = 175, -- Arrow Right enter = 191, -- Enter Key }, peds = { male = { model = `mp_m_freemode_01`, scbaComponentIds = {8}, components = {}, props = {} }, female = { model = `mp_f_freemode_01`, scbaComponentIds = {8}, components = {}, props = {} }, firemanNpc = { model = `s_m_y_fireman_01`, scbaComponent = 8, scbaDrawableOff = 1, scbaDrawableOn = 2, scbaTexture = 0 } }, JobCheck = { EnablePermissions = false, -- If set to false, all below job checks will be disabled, even if they are enabled in the config.lua AcePermissions = { Enabled = false, Permission = "usescba" }, ESX = { Enabled = false, CheckJob = { Enabled = false, -- Enable this to use ESX job check Jobs = {"fireman"} -- A user can have any of the following jobs, allowing you to add multiple } }, -- We've added vRP integration. All you need to do is enable it below. Then, configure if you wish to check for groups or permissions, or even both vRP = { Enabled = false, CheckGroup = { Enabled = false, -- Enable this to use vRP group check Groups = {"fireman"}, -- A user can have any of the following groups, meaning you can add different jobs }, CheckPermission = { Enabled = false, -- Enable this to use vRP permission check Permissions = {"fireman.usescba"} -- A user can have any of the following permissions, allowing you to add multiple }, }, -- We've added QBCore integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both QBCore = { Enabled = false, CheckJob = { Enabled = false, -- Enable this to use QBCore job check Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs }, CheckPermission = { Enabled = false, -- Enable this to use QBCore permission check Permissions = {"fireman.usescba"}, -- A user can have any of the following permissions, allowing you to add multiple }, }, -- We've added QBX integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both QBX = { Enabled = false, CheckJob = { Enabled = false, -- Enable this to use QBX job check Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs } }, }, Inventory = { scbaItemName = "scba", ropeItemName = "scbarope", oxInventory = false, coreInventory = false, ESX = false, vRP = false, qbCore = false, }, Notifications = { Enabled = true, HelpTextSound = false, Framework = { QBCore = false, QBX = false, ESX = false, vRP = false, okok = false, } }, Translations = { noPermission = "You do not have access to use this!", noItem = "You do not have the required item.", notWearingScba = "You are not wearing a SCBA.", scbaEnabled = "SCBA Enabled", scbaDisabled = "SCBA Disabled", alreadyEquipped = "SCBA already equipped!", turnoff = "Turn off SCBA air first.", tankFull = "SCBA tank is already full", tankRefilled = "SCBA tank refilled.", lightOn = "SCBA Light: ON", lightOff = "SCBA Light: OFF", smokeDamageOn = "Smoke damage: enabled", smokeDamageOff = "Smoke damage: disabled", nearby = "No player nearby.", eupOnly = "SCBA can only be worn on freemode peds.", scbaRefill = "Press E to refill SCBA", scbaSwapBottle = "Press E to replace air bottle", scbaRetrieve = "Press E to retrieve SCBA", scbaRemove = "Press G to remove SCBA", ropeAttach = '~INPUT_SPRINT~ + ~INPUT_CONTEXT~ Attach Rescue Rope', ropeDetach = '~INPUT_SPRINT~ + ~INPUT_CONTEXT~ Detach Rescue Rope', passKeyMapping = "Toggle Pass", scbaKeyMapping = "Toggle SCBA Air", lightmodeKeyMapping = "Switch light mode", lightKeyMapping = "Toggle SCBA Light", shakeToReset = "~INPUT_CONTEXT~ Shake to reset PASS alarm", }, }