Core settings and performance
Everything lives in firescriptv2/config.lua.
Limits
MaxFires— hard ceiling on simultaneous firesMaxFlames— most flames one/startfiremay createMaxSpread— largest spread distance/startfiremay use
Ranges
FireDetectionRange— fires within this distance of a player are rendered (default 100 m)FireParticlesRange— far clip for fire and smoke particlesConfig.Scenarios.RenderRange— where scenario dressing spawns (default 150 m)
The game's fire pool — important
GTA keeps script fires in a pool of 128, and a full pool does not refuse a new fire, it drops an old one. That is how a big scene used to put itself out flame by flame.
MaxNativeFires— the most native fires this client holds at once (76).0measures the pool at start-up and holdsNativeFireShareof itNativeFireStride— native fires go on every Nth flame (2). The native fire is what burns the player and what the vanilla cannon puts outNativeFireRange— only fires within this distance hold native fires (60 m). Further out they burn as particles and pick natives back up as you approach. Keep it above the hose's reachScriptFireChildren— how many times each native fire may spread on its own (0-25). Keep it at 0. Every child is another fire the hose has to find, it relights the flame next to it, and a big scene fills the pool so later fires silently fail
Particle budget
The game can only draw so many particle effects at once; past that they exist but render nothing, and whole fires look like they vanished.
FlameParticleStride— one flame particle per this many burning flames (2). Carriers are re-chosen as flames go out, so the fire visibly shrinksParticleScaleBoost— how much bigger a shared effect is drawn (1.3) to cover the flames it stands in forMaxFlameParticles— hard cap on flame effects drawn at once (96), nearest fire firstSmokeFlameStride— smoke on every Nth drawn flame (2)
Every flame still burns, damages and is put out on its own — only the drawing is pooled.
Ground snapping
GroundSnapTolerance — every flame is dropped onto the surface under it, but never further than this, so a fire on an upper floor whose slab has not streamed in is not dragged down through the building to the street.
Putting fires out (Extinguish)
RelightChance— 0..1 chance a knocked-down flame relights at all.0= out is out, alwaysRelightDelayMin/RelightDelayMax— seconds a relighting flame stays out first. Both default to 0, so a hosed flame either dies on the spot or is straight back one step smallerMinScale— each relight shrinks the flame; the last is this fraction of full sizeNearCheckInterval— how often (ms) a flame is checked within 60 m. Lower is more responsiveNativeFireRefresh— every flame relights its native fire this often, so a burn-out can never happen and a flame going out can only mean water
At the default RelightChance of 0.35, roughly two hits in three kill a flame outright.
Persistent smoke
Enabled, Duration, FadeOut, FadeTime. Requires the fire type's smoke.playafter = true. Per-type override with FireTypes[type].smoke.persistDuration.
Heat damage (HeatDamage)
Off by default so it never surprises firefighters doing their job. Enabled, Radius (metres from a flame, not the fire's centre), Damage, Interval.
It counts every burning flame, not just the ones holding a native fire — and still picks up fire from any other source: a burning car, an explosion, another resource.
