Files
KPLibSumava/kp_liberation.brf_sumava/scripts/client/ui/tutorial_manager.sqf
Samuele Lorefice 9e023649ac initial files
2025-05-24 16:17:33 +02:00

66 lines
1.6 KiB
Plaintext

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;
}