Missions-Timer
Um zum Beispiel ein wenig Druck in einer Mission aufzubauen, lohnt es sich unteranderem einen Timer laufen zu lassen. In diesem Beispiel wird in der Mission ein Trigger platziert und ein Codeschnipsel in die init.sqf eingefügt:
END_TIME = 7200; // Beispiel 2 Stunden Timer
if (isServer) then {
[] spawn
{
ELAPSED_TIME = 0;
START_TIME = diag_tickTime;
while {ELAPSED_TIME < END_TIME} do
{
ELAPSED_TIME = diag_tickTime - START_TIME;
publicVariable "ELAPSED_TIME";
sleep 1;
};
};
};
if!(isDedicated) then
{
[] spawn
{
while{ELAPSED_TIME < END_TIME } do
{
_time = END_TIME - ELAPSED_TIME;
_finish_time_minutes = floor(_time / 60);
_finish_time_seconds = floor(_time) - (60 * _finish_time_minutes);
if(_finish_time_seconds < 10) then
{
_finish_time_seconds = format ["0%1", _finish_time_seconds];
};
if(_finish_time_minutes < 10) then
{
_finish_time_minutes = format ["0%1", _finish_time_minutes];
};
_formatted_time = format ["%1:%2", _finish_time_minutes, _finish_time_seconds];
hintSilent format ["Flucht-Timer:\n%1", _formatted_time];
sleep 1;
};
};
};
Der Trigger in der Mission:
Auslöser: Jeder
Conditon: ELAPSED_TIME > END_TIME
Und hier folgt halt das , was passieren soll zum Timer-Ende: Missions-Ende oder was immer hier in eurer Mission erforderlich ist.