kOS/helicopter/init.ks

44 lines
872 B
Plaintext

// assumptions about helicopter builds:
// * AG10 toggles the rotor engine power. (with appropriate RPM set by default)
// * AG9 is unmapped.
// * Main throttle controls collective.
runoncepath("lib/control").
global done is false.
// Main UI.
local interface is gui(250, 300).
set interface:X to 200.
set interface:Y to 700.
// Main menu elements in here.
local y is interface:AddVLayout().
local x is y:AddHLayout().
set x:AddButton("HOVER"):onClick to {
Stabilize().
}.
set x:AddButton("LAND"):onClick to {
// todo: consider a more elaborate landing script that adjusts
// velocity as a function of altitude.
when SHIP:STATUS = "LANDED" then {
set done to true.
set SHIP:CONTROL:PILOTMAINTHROTTLE to 0.5.
toggle AG10.
BRAKES on.
}
Stabilize(-5).
}.
on AG9 {
set done to true.
return true.
}
interface:show().
wait until false.