Every helicopter in CZ Autoz is built on DayZ 1.29’s CarScript base — the correct script-driven aircraft foundation. No two aircraft fly the same way — a nimble MD500 and a heavy AW101 Merlin require very different technique, each tuned around its own mass, drag, and control parameters.Documentation Index
Fetch the complete documentation index at: https://docs.czautoz.co.uk/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
All helicopter motion is computed each physics tick from your inputs and applied as a velocity-kinematic drive (SetVelocity + dBodySetAngularVelocity), which restores the responsive 1.28 flight feel on the 1.29 engine. Pilot inputs are read locally and replicated through DayZ’s native client-side prediction pipeline for low-latency control. Passengers, co-pilots and bystanders receive movement through native CarScript interpolation between network updates, so everyone sees and hears the helicopter whether or not a pilot is seated. Handling and motion through the world are smooth and fully kinematic; on-screen visual body-frame smoothing on 1.29 is still being refined.
| Force | Control | Parameter |
|---|---|---|
| Lift | Main rotor thrust | flight.liftMultiplier |
| Pitch | W / S keys | control.pitchStrength |
| Roll | A / D keys | control.bankStrength |
| Yaw | Q / E keys | control.yawStrength |
| Forward drag | Air resistance | flight.dragForward |
| Weathervane | Auto nose alignment | control.weathervaneStrength |
| Bank-to-turn | Roll-coupled turn rate | control.b2tStrength |
| Bank-to-turn ramp | How quickly bank-to-turn eases in | control.b2tRampRate |
| Tilt lift retention | Lift kept while tilted | control.tiltLiftComp |
Tuning units are natural: altitude values are entered in feet and maximum airspeed in knots. Mass is read directly from each model’s physics body (set via
mass in config.cpp per variant) rather than from a config key.Control Response (Tau Smoothing)
Each control axis uses a time-constant (Tau) smoothing model undercontrol.response — separate constants govern how quickly the axis ramps up to an input (accel) and how quickly it settles back when the input is released (decay). Lower values feel sharper and more immediate; higher values feel heavier and more damped.
| Setting | What it does |
|---|---|
control.response.rollAccelTau / rollDecayTau | Roll (bank) ramp-up / settle time |
control.response.pitchAccelTau / pitchDecayTau | Pitch ramp-up / settle time |
control.response.yawAccelTau / yawDecayTau | Yaw ramp-up / settle time |
Ground Effect
When flying close to the ground, the helicopter receives additional lift:- Configured via
aerodynamics.groundEffectBonus(default0.12= +12% lift) aerodynamics.groundEffectAltsets the altitude (feet) below which the bonus applies- Fades linearly as altitude increases
- Makes low hovering feel slightly more stable
Effective Translational Lift (ETL)
Forward flight generates extra lift:- Configured via
aerodynamics.etlBonus(default0.10= +10% at cruise speed) aerodynamics.etlSpeedsets the speed at which the full bonus applies- A helicopter will fly more efficiently in forward flight than in a stationary hover
Tilt & Inverted Flight
Lift acts along the rotor’s axis, so the more the helicopter tilts, the less of that thrust holds you up. The flight model compensates for normal banked and nose-down flight (tunable per helicopter viacontrol.tiltLiftComp), but once you tilt past vertical the rotor can no longer hold you — you lose lift and fall under the helicopter’s own weight, just like real physics. It is fully recoverable: roll or pitch back toward upright and lift returns as the rotor comes back over you.
- There is no artificial tilt limit — loops, rolls and upside-down passes are all possible
control.tiltLiftComp(per helicopter) caps how much lift is retained while tilted — higher holds a steep attitude longer, lower drops you sooner- Past roughly 90° of tilt, lift is gone regardless of the setting and gravity takes over until you right the aircraft
This is realistic, physics-driven behaviour added in v0.2.2 — the fall is the aircraft’s actual weight, and you steer it with tilt the whole way down.
Autorotation
If the engine stops (fuel out, engine destroyed, or manually shut down), the rotor continues spinning through inertia:- The helicopter enters a controlled descent rather than an immediate freefall
- Tilting the cyclic during autorotation now translates the helicopter — you can glide forward and steer the descent rather than only rotating in place
autorotation.gravityFactorcontrols how much gravity is cancelled during the glide (default0.60)autorotation.descentCapsets the maximum descent rate in m/s (default10.0)autorotation.flareStrengthcontrols how much vertical lift a collective flare recovers (default6.0)autorotation.coastMinutessets how long the rotor keeps turning visually and audibly after a mid-air engine cut (default4.0) — the rotor coasts down gradually instead of snapping to a stop, and engine and rotor audio fade together over that time- A skilled pilot can perform a survivable landing using autorotation technique
| Helicopter | Gravity Factor | Max Descent |
|---|---|---|
| MD500 Civilian | 0.60 | 8.5 m/s |
| MH-6 Little Bird | 0.58 | 8.0 m/s |
| SA342M Gazelle | 0.62 | 9.5 m/s |
| UH-1H Iroquois | 0.67 | 11.5 m/s |
| MH-60L Blackhawk | 0.70 | 14.0 m/s |
| AW101 Merlin | 0.75 | 16.0 m/s |
The descent rates above are the configured maximums. In practice, a heavier helicopter will reach its cap much faster than a lighter one at the same rotor spool level — a Merlin will drop noticeably faster than an MD500 even with a higher gravity factor. Plan accordingly: heavier helicopters require earlier and more aggressive flare inputs to arrest descent before landing.
Service Ceiling
Each helicopter has a configurable altitude ceiling above which lift drops to zero:| Setting | What it does | Default |
|---|---|---|
altitude.ceiling | Altitude in feet where lift reaches zero — the helicopter cannot climb above this | Per-helicopter (matches the service ceiling listed on each helicopter page) |
altitude.liftStart | Altitude in feet where lift begins tapering off | Slightly below altitude.ceiling |
Never-Exceed Speed (VNE)
Each helicopter has a maximum airspeed — set per variant viaflight.maxAirspeed (in knots) and shown on each helicopter’s page. Flying above this threshold causes the flight model to apply increasingly heavy drag, pushing the nose down and arresting further speed gain. The previous fixed hard cap has been removed — top speed is now tuned per variant — and the behaviour at the envelope boundary can be tuned separately:
| Setting | What it does | Default |
|---|---|---|
aerodynamics.envelopeThreshold | Fraction of max airspeed at which drag penalty begins (0.80 = drag kicks in at 80% of top speed) | 0.80 |
aerodynamics.envelopeDragScale | Drag multiplier applied above the threshold — higher = harder speed cap, lower = softer | 6.5 |
The VNE system is intentional — it prevents helicopters from being flown beyond their realistic performance envelope. The top speed is set per helicopter via
flight.maxAirspeed (in knots). You can soften or harden the approach to that limit using aerodynamics.envelopeThreshold and aerodynamics.envelopeDragScale.Ground Flip Recovery
If a helicopter ends up inverted on the ground (bank angle ≥ 90°), pressingX will flip it upright.
- Disabled by default — enable with
features.groundFlipRecoveryset to1inmod_config.json - Only activates when grounded and inverted — not in flight
Pilot Exits In Flight
- If the control-holding pilot voluntarily exits while airborne, Autohover engages automatically to hold position
- If the pilot is killed in their seat, the helicopter continues on its last heading with no Autohover snap — it will fly freely until it crashes or someone takes control