private [ "_tutorial_titles", "_tutorial_pages", "_current_page", "_old_page", "_dialog" ]; if ( isNil "howtoplay" ) then { howtoplay = 0; }; _tutorial_titles = [ localize "STR_TUTO_TITLE1", localize "STR_TUTO_TITLE2", localize "STR_TUTO_TITLE3", localize "STR_TUTO_TITLE4", localize "STR_TUTO_TITLE5", localize "STR_TUTO_TITLE6", localize "STR_TUTO_TITLE7", localize "STR_TUTO_TITLE8", localize "STR_TUTO_TITLE9", localize "STR_TUTO_TITLE10" ]; _tutorial_pages = [ "STR_TUTO_TEXT1", "STR_TUTO_TEXT2", "STR_TUTO_TEXT3", "STR_TUTO_TEXT4", "STR_TUTO_TEXT5", "STR_TUTO_TEXT6", "STR_TUTO_TEXT7", "STR_TUTO_TEXT8", "STR_TUTO_TEXT9", "STR_TUTO_TEXT10" ]; _current_page = 0; _old_page = -99; while { true } do { waitUntil { sleep 0.3; howtoplay == 1 }; waitUntil { !dialog }; sleep 0.1; _dialog = createDialog "liberation_tutorial"; if ( !cinematic_camera_started ) then { [] spawn cinematic_camera; }; waitUntil { dialog }; { lbAdd [ 513, _x]; } foreach _tutorial_titles; lbSetCurSel [ 513, 0 ]; while { howtoplay == 1 && alive player && dialog } do { _current_page = lbCurSel 513; if ( _current_page != _old_page ) then { ctrlSetText [ 514, _tutorial_titles select _current_page ]; ((findDisplay 5353) displayCtrl (515)) ctrlSetStructuredText parseText localize (_tutorial_pages select _current_page); _old_page = _current_page; }; sleep 0.2; }; if ( dialog ) then { closeDialog 0 }; cinematic_camera_started = false; howtoplay = 0; }