Installing FireScript V2
FireScript V2 ships alongside Fire Hose V2 in the same package. It runs perfectly well on its own, but the two are designed to run together — the hose's water and foam are what put these fires out.
1. Add it to server.cfg
Start it after your framework:
ensure firehosemodels
ensure firehosev2
ensure firescriptv22. Choose your framework
In firescriptv2/config.lua:
UseESX = true— plusUseNewESX = trueon newer ESXUseQBCORE = true- leave all false for standalone
JobNames controls which jobs count as firefighters — that gates fire warnings, blips, the tablet and map units.
3. Permissions
Turn on UseWhitelist before you go live — with it false, every player counts as an admin, on every framework. Who is a firefighter, a scenario manager and an admin, who can open the tablet, and a ready-made server.cfg block are all on Permissions.
4. Seed the random rotation
Run this once as an admin:
/importfiresIt converts the 232 bundled fire locations into ready-to-run scenarios for the random rotation. Without it, the rotation has nothing to pick from.
5. Pick a map image
The dispatch tablet ships with several map images at different sizes and detail levels. Set Config.Tablet.MapImage to whichever suits your players — see The dispatch tablet.
Map credit: the tablet's map images are built from neen-atlasmap by NeenGame, released under the MIT licence. Thank you to NeenGame for making it available.
Optional
Fire tablet item (ESX / QBCore)
Using a fire_tablet item from the inventory opens the Fire Control tablet, with exactly the same access check as /firetablet — carrying the item does not get a non-firefighter in. Rename it with Config.Tablet.ItemName, or set it to "" to turn the item off.
QBCore — add to qb-core/shared/items.lua:
['fire_tablet'] = {['name'] = 'fire_tablet', ['label'] = 'Fire Tablet', ['weight'] = 500, ['type'] = 'item', ['image'] = 'fire_tablet.png', ['unique'] = true, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Fire Control dispatch tablet.'},ESX — add it to your database:
INSERT INTO `items` (`name`, `label`, `weight`) VALUES ('fire_tablet', 'Fire Tablet', 1);ox_inventory — add it to ox_inventory/data/items.lua:
['fire_tablet'] = { label = 'Fire Tablet', weight = 500, stack = false, close = true },Move the bundled fire_tablet.png into your inventory's image folder. On esx_inventoryhud and similar, add the item to Config.CloseUiItems so the inventory closes when the tablet opens.
Other
- Discord logging needs a webhook resource providing the
dw:registerWebhookexport. LeaveConfig.Discord.UseWebHooksfalse if you do not have one. The webhook URL goes inserver.cfgasset firescript_webhook "...", never inconfig.lua— every player downloads that file. - Dispatch alert tone — drop a
.ogginhtml/soundsand name it inConfig.Dispatch.AlertSound.
