Advertisement
Guest User

Untitled

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