fsm Training01 : integer; const #include_ type #include_ var eternal integer playermech; static integer cinema_cut; static integer cinema_timer; function init; var integer i; code playermech = getplayervehicle(epl_player0); cinema_cut = 0; cinema_timer = gti_Timer_21; endfunction; function CheckIfPlayerDied; code if (isdead(playermech)) then failobjectiveall(9); endif; endfunction; state startState; code //SetMissionBounds(ena_Nav_Section1A,ena_Nav_Section1B); //playsound(eso_start); //setactivationdistance(6800); //trans opening; trans Part01_Opening; endstate; state deadState; code endstate; state Part01_Opening; code if (cinemaskip) then // intentionally left blank -- no skipping the cinemas! endif; switch (cinema_cut) case 0: CinemaStart; SetCompositingEnabled(false); StartTimer(cinema_timer); SetActiveCamera(eca_CameraShip_Opening1); FadeToBlack(0.0); FadeFromBlack(3.0); cinema_cut = cinema_cut + 1; endcase; case 1: endcase; case 2: endcase; case 3: endcase; endswitch; endstate; state won; code switch cinema_cut case 0: endcase; case 1: endcase; endswitch; endstate; state lost; code switch cinema_cut case 0: endcase; case 1: endcase; endswitch; endstate; endfsm.