print("Kwynn.com - reinit_frames.nas - 2014/02/15 2:27am"); var frameA = [1, 2, 3, 4, 5, 6, 20, 35, 50]; var maxFrameI = size(frameA); var frameAI = 0; var maxFrame = frameA[-1]; var reinitL = nil; var frameL = nil; var cancelDoFrame = func { if (frameL != nil) { removelistener(frameL); setprop("/sim/kwynn/init-frame-state",0); } frameL = nil; } var setprop_once = func(name, setTo) { var val = getprop(name); if ((val == nil) or (val <= 0)) setprop(name, setTo); } var frameCnt = 0; var doFrame = func { frameCnt += 1; if (frameAI >= maxFrameI) { cancelDoFrame(); return; } if (frameA[frameAI] == frameCnt) { setprop("/sim/kwynn/init-frame-count/", frameCnt); if (frameCnt >= 20) setprop_once("/sim/kwynn/frame-20/", frameCnt); if (frameCnt >= 6) if (getprop("/position/gear-agl-ft") > 1) setprop_once("/sim/kwynn/up-init", 1); frameAI += 1; if (frameAI >= maxFrameI) cancelDoFrame; return; } if (frameCnt > maxFrame) cancelDoFrame(); } var doReinit = func { frameCnt = frameAI = 0; setprop("/sim/kwynn/frame-20",0); setprop("/sim/kwynn/up-init",0); if (frameL == nil) frameL = setlistener("/sim/signals/frame", doFrame, 1, 1); } if (reinitL == nil) reinitL = setlistener("/sim/signals/reinit", doReinit, 1, 0);