_unit = _this select 0
? (debug) : player globalchat Format ["Entering HALO.sqs: _unit = %1", _unit]
? (IsNull _unit):Goto "End"
#Init
HALO_drop_avail=true
HALO_chute_out=false
#Start
~2
?!(Alive _unit):Goto "End"
@(HALO_drop_avail)
@(Getpos _unit Select 2)>200 OR !(Alive _unit)
? !(Alive _unit) : goto "End"
_vcl=Vehicle _unit
? (_unit != _vcl) && (CanMove _vcl):_action1=_vcl AddAction [Format["HALO Drop (%1)", name _unit],"Main\HaloDrop.sqs"]; _action2=_vcl AddAction ["HALO AI","Main\HaloDropAI.sqs"]; goto "Wait"
goto "Start"
#Wait
? (debug) : player globalchat Format ["HALO.sqs: actions added"]
@(Getpos _unit Select 2)<200 OR !(HALO_drop_avail) OR !(Alive _unit)
?!(Alive _unit):Goto "End"
_vcl RemoveAction _action1
_vcl RemoveAction _action2
? (debug) : player globalchat Format ["HALO.sqs: actions removed"]
Goto "Start"
#End
? (debug) : player globalchat Format ["Exiting HALO.sqs"]
Exit
and it calls the other scripts...