/* DayZ Mission System Timer by Vampire Based on fnc_hTime by TAW_Tonic and SMFinder by Craig This function is launched by the Init and runs continuously. */ private["_run","_timeDiff","_timeVar","_wait","_cntMis","_ranMis","_varName"]; //Let's get our time Min and Max _timeDiff = DZMSMinorMax - DZMSMinorMin; _timeVar = _timeDiff + DZMSMinorMin; diag_log text format ["[DZMS]: Minor Mission Clock Starting!"]; //Lets get the loop going _run = true; while {_run} do { //Lets wait the random time _wait = round(random _timeVar); [_wait,5] call DZMSSleep; //Let's check that there are missions in the array. //If there are none, lets end the timer. _cntMis = count DZMSMinorArray; if (_cntMis == 0) exitWith { /* Exit The Loop */ }; //Lets pick a mission _ranMis = floor (random _cntMis); _varName = DZMSMinorArray select _ranMis; // clean up all the existing units before starting a new one {if (alive _x) then {_x call DZMSScheduleCleanUp;};} forEach DZMSUnitsMinor; // rebuild the array for the next mission DZMSUnitsMinor = []; //Let's Run the Mission [] execVM format ["\z\addons\dayz_server\DZMS\Missions\Minor\%1.sqf",_varName]; diag_log text format ["[DZMS]: Running Minor Mission %1.",_varName]; //Let's wait for it to finish or timeout waitUntil {DZMSMinDone}; DZMSMinDone = false; };