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 name
  • AttachOffset — where the hose attaches to, and is detected on, this truck
  • OtherAttachOffset — where a truck-to-truck or truck-to-hydrant link rope attaches
  • HelpTextOffset — where the pickup prompt shows, and where pickup is detected from
  • ProvidesWater — false makes a tools-only truck: no hose to pick up, no tank, and it can't be linked into a supply chain. It still hands out its water pump, air cushion and drone (the drone flies but can't spray, as there is no water behind it)
  • Capacity — the truck's water tank size
  • HoseMaxLength — this truck's hose maximum before it snaps. Falls back to HoseInfo.RopeMaxLength
  • CanAttachToOthers — whether this truck can be hose-linked to another truck
  • Weapons — the guns this truck supports, in switch order. Leave empty {} for a supply-only tanker
  • HasWaterPump — whether the water pump can be grabbed from this truck
  • HasFireCushion — whether the air cushion can be grabbed from this truck
  • HasWaterCannon — true makes the driver's built-in water cannon draw from this truck's tank. false leaves it to auto-detect (an Emergency-class vehicle with the water cannon on the driver's seat)
  • Drone.Enabled — whether this truck carries a drone
  • Drone.AttachOffset — where the drone's hose connects on the truck
  • Drone.SpawnOffset — where the drone spawns and lifts off. Keep this off the coupling so it does not spawn buried in the bodywork
  • Drone.Weapons — the guns the drone carries, independent of the truck's
  • Drone.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 spraying
  • HydrantInfo — 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, ShowPreviewToOthers (false = only the player placing it sees the placement ghost), 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, ShowPreviewToOthers (false = only the player placing it sees the placement ghost), 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, ExcludeModels (vehicles never treated as cannon trucks), FireTakeOutRadius, JetSpeed, MinPitch / MaxPitch.

Odds and ends

  • HoseInfo.EnableCosmeticCoil — how the hose you have not pulled out yet looks while it waits at the truck. false leaves it in a heap at the coupling, true winds it into a neat coil that the player pulls hose from. Only with RopePhysicsEnabled on, and only at trucks and placed water pumps — hydrants and hose extenders always use the heap. Purely visual: the hose lays, stretches, breaks and reaches exactly the same either way
  • HoseExtender.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 from
  • HoseExtender.Prop — the extender prop dropped on the ground
  • HoseExtender.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 hand
  • InletDepth — how deep the supply hose end sits once dropped in the water
  • WaterBedMaterials — 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 truck
  • ExitKey — 73 (X). Near the truck this stows the drone; away from it the hose snaps and the drone drops
  • HoseAttachOffset — where the hose end connects on the drone prop, matched to its belly coupling
  • ShootOffset — where the water or foam jet originates. The spray leaves from here in the direction the drone is facing
  • Blip.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.

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