Adding trucks, hydrants and equipment
Adding a fire truck (Trucks)
The script detects spawned trucks of these models in the world — it does not spawn them.
Model— the vehicle model nameAttachOffset— where the hose attaches to, and is detected on, this truckOtherAttachOffset— where a truck-to-truck or truck-to-hydrant link rope attachesHelpTextOffset— where the pickup prompt shows, and where pickup is detected fromCapacity— the truck's water tank sizeHoseMaxLength— this truck's hose maximum before it snaps. Falls back toHoseInfo.RopeMaxLengthCanAttachToOthers— whether this truck can be hose-linked to another truckWeapons— the guns this truck supports, in switch order. Leave empty{}for a supply-only tankerHasWaterPump— whether the water pump can be grabbed from this truckHasFireCushion— whether the air cushion can be grabbed from this truckDrone.Enabled— whether this truck carries a droneDrone.AttachOffset— where the drone's hose connects on the truckDrone.SpawnOffset— where the drone spawns and lifts off. Keep this off the coupling so it does not spawn buried in the bodyworkDrone.Weapons— the guns the drone carries, independent of the truck'sDrone.HoseMaxLength— 0 = unlimited. The only uncapped hose in the script
Hydrants
HydrantWeapons— the guns available when the hose is on a hydrant. Leave empty{}to make hydrants supply trucks only, with no hand sprayingHydrantInfo— the hydrant models the script detects, and where the hose visually connects on each
Water pump (WaterPump)
Key settings: Model, MaxPerPlayer, CarryBone / CarryOffset / CarryRotation, PlaceDistance, GrabKey (47/G), PlaceKey (38/E), CancelKey (73/X), RotateLeftKey / RotateRightKey, PlaceZOffset, InletOffset, OutletOffset, InletGrabKey (74/H), InletHoseMaxLength, SoundOffset, Sound.
The pump model must also be listed in HydrantInfo so the outlet fire hose can attach to it.Air cushion (FireCushion)
Key settings: Model, MaxPerPlayer, PlaceDistance, GrabKey (26/C), PlaceKey / CancelKey, RotateLeftKey / RotateRightKey, PlaceZOffset, InflateTime / DeflateTime, BumpTime, BumpDip, BumpRadius, SoundRange, Blip, FreezeWhenPlaced, GroundFitRadius, MaxGroundTilt, HelpTextOffset / InteractDistance.
GroundFitRadius lays the cushion on the ground rather than standing it upright on a slope — the ground is sampled in a ring and a plane fitted through the hits, so one rock under the middle cannot tip it. Keep it inside the prop's own half-width (~4.0 m). MaxGroundTilt caps how far it leans on a cliff edge.
Vehicle cannon (VehicleCannon)
Enabled, DrainRate, ShowHud, DefaultCapacity, Models (leave empty — auto-detect handles it), FireTakeOutRadius, JetSpeed, MinPitch / MaxPitch.
Odds and ends
EnableCosmeticCoil— draw a coiled spare hose on the truck as dressing. Purely visualHoseExtender.PlaceHeading— heading in degrees relative to the player. The dropped extender normally turns its back toward the incoming hose, read from the laid line, so this only applies when there is no laid line to take a direction fromHoseExtender.Prop— the extender prop dropped on the groundHoseExtender.KeyLabel,Title,Action— how the full-stretch alert is written: the key chip, the heading, and the text after it
Water pump extras
CarryAnimDict/CarryAnimName— the two-handed carry animation used while the pump is in handInletDepth— how deep the supply hose end sits once dropped in the waterWaterBedMaterials— the surface materials treated as a valid body of water for the supply hose. Add to this if a custom water shader on your map is not recognised
Drone keys and offsets (Drone)
DeployKey— 74 (H), deploy the drone while standing at the truckExitKey— 73 (X). Near the truck this stows the drone; away from it the hose snaps and the drone dropsHoseAttachOffset— where the hose end connects on the drone prop, matched to its belly couplingShootOffset— where the water or foam jet originates. The spray leaves from here in the direction the drone is facingBlip.ShortRange— hide the drone's map blip until you are close. The air cushion's blip has the same option
Audio (EngineSound)
File, MaxDistance, MaxVolume, BackVolume, SkipStartSeconds, UpdateInterval, PitchVariation.
PitchVariation gives each source a subtle randomised pitch drift so a running pump rises and falls like a real engine instead of sitting on one mechanical note. Enabled = false gives a dead-steady loop.
