2021-07-25 22:16:59 +00:00
|
|
|
// assumptions about helicopter builds:
|
|
|
|
// * AG10 toggles the rotor engine power. (with appropriate RPM set by default)
|
|
|
|
// * AG9 is unmapped.
|
|
|
|
// * Main throttle controls collective.
|
|
|
|
|
2021-07-25 21:24:34 +00:00
|
|
|
runoncepath("lib/control").
|
|
|
|
|
|
|
|
global done is false.
|
|
|
|
|
2021-07-23 20:04:26 +00:00
|
|
|
// 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 {
|
2021-08-01 05:23:39 +00:00
|
|
|
PointStabilizeH().
|
2021-07-25 21:24:34 +00:00
|
|
|
}.
|
|
|
|
|
|
|
|
set x:AddButton("LAND"):onClick to {
|
2021-07-25 22:16:59 +00:00
|
|
|
// 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.
|
|
|
|
}
|
2021-08-01 05:23:39 +00:00
|
|
|
PointStabilizeH(-5).
|
2021-07-23 20:04:26 +00:00
|
|
|
}.
|
|
|
|
|
2021-07-25 21:24:34 +00:00
|
|
|
|
|
|
|
on AG9 {
|
|
|
|
set done to true.
|
|
|
|
return true.
|
|
|
|
}
|
|
|
|
|
2021-07-23 20:04:26 +00:00
|
|
|
interface:show().
|
|
|
|
|
|
|
|
wait until false.
|