Exports and events

Fire Hose V2 exposes hooks so you can build on top of it.

Read a truck's water level

local capacity = exports.firehosev2:GetVehicleWaterCapacity(vehicle)
-- capacity[1] = current water
-- capacity[2] = total capacity (includes any connected/linked trucks)

A total of 0 means the truck has no hose state yet.

Hose activation events

Fired on the client:

AddEventHandler('FireHoseV2:HoseActivated', function()
    -- the player started spraying
end)

AddEventHandler('FireHoseV2:HoseDeactivated', function()
    -- the player stopped spraying
end)

AddEventHandler('FireHoseV2:HoseCommandEnabled', function()
    -- the hose was equipped
end)

AddEventHandler('FireHoseV2:HoseCommandDisabled', function()
    -- the hose was dropped
end)
The legacy Client:HoseActivated / Client:HoseDeactivated / Client:HoseCommandEnabled / Client:HoseCommandDisabled events still fire too, for backwards compatibility with V1 integrations.

Set a custom font

TriggerEvent("FireHoseV2:SetFont", fontid)

Applies to the 3D display style.

Reporting water hits to a fire script

The hose raises FireHoseV2:WaterHit on every client for every sprayer, carrying where the jet landed and its radius. FireScript V2 listens for this — it is the whole contract between the two resources.

If you are writing your own fire system, listen for that event to know where water landed. Conversely, any script can raise FireScriptV2:WaterHit x, y, z, radius client-side to knock our flames down.

Pairing with FireScript V2

FireScript V2 is the matching fire and rescue framework — its clustered, spreading fires are what these water and foam guns are built to put out. The two are independent and either runs fine alone, but they are designed to run together.

Can't find what you need? Ask on Discord — response in under 5 hours.