Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 2.55 KB | None | 0 0
  1. if (isServer) then {
  2. // массивы флагов: все флаги, нейтральные флаги, красные и синие флажки.
  3.     all_flags = [flag_rus_1, flag_rus_2, flag_rus_3, flag_rus_4_hq, flag_us_1, flag_us_2, flag_us_3, flag_us_4_hq, flag_neut_1, flag_neut_2, flag_neut_3, flag_neut_4];
  4.     neutral_flags = [flag_neut_1, flag_neut_2, flag_neut_3, flag_neut_4]; // флаги, а не ЗОНА
  5.     russian_flags = [flag_rus_1, flag_rus_2, flag_rus_3, flag_rus_4_hq];
  6.     us_flags = [flag_us_1, flag_us_2, flag_us_3, flag_us_4_hq];
  7. //присвоение флагам значения цивилиан, вест и еаст
  8.     {_x setVariable ["controledBy", civilian, true];} forEach neutral_flags;
  9.     {_x setVariable ["controledBy", west, true];} forEach us_flags;
  10.     {_x setVariable ["controledBy", east, true];} forEach russian_flags;
  11. //проверка и завершение миссии через 105 минут
  12.     [] spawn {
  13.             waitUntil { sleep 3; a3a_var_started };
  14.             sleep 105*60;          
  15.             private _countEast = {(_x getVariable 'controledBy' == east )} count all_flags;
  16.             private _countWest = {(_x getVariable 'controledBy' == west )} count all_flags;
  17.             if (_countEast == _countWest) then {["Ничья!"] call a3a_fnc_endMission;};
  18.             if (_countEast >= _countWest) then {
  19.                         ["Победа ВДВ РФ!", east] call a3a_fnc_endMission;
  20.                         }
  21.             else        {
  22.                         ["Победа КМП США!", west] call a3a_fnc_endMission;
  23.                         }
  24.     };
  25.     // Параллельное условие победы - контроль синими трех нейтральных флагов и штабного флага. Срабатывает сразу по выполнению условий.
  26.         [] spawn
  27.     {
  28.     if ((flag_rus_4_hq getvariable 'controledBy' == west) && (flag_neut_1 getvariable 'controledBy' == west) && (flag_neut_3 getvariable 'controledBy' == west) && (flag_neut_4 getvariable 'controledBy' == west)) then
  29.     {
  30.     ["Нейтральная полоса и штаб заняты синими!", west] call a3a_fnc_endMission;
  31.     };
  32.     };
  33.     // Параллельное условие победы - контроль красными трех нейтральных флагов и штабного флага
  34.         [] spawn
  35.     {
  36.     if ((flag_us_4_hq getvariable 'controledBy' == east) && (flag_us_1 getvariable 'controledBy' == east) && (flag_us_2 getvariable 'controledBy' == east) && (flag_us_3 getvariable 'controledBy' == east)) then
  37.     {
  38.     ["Нейтральная полоса и штаб заняты синими!", west] call a3a_fnc_endMission;
  39.     };
  40.     };
  41. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement