Важная информация для разработчиков миссий.
Смотрите. В Arma 3 есть несколько строн. Самые распостранённые: west, east, resistance, civilian . Но есть ещё одна, попасть на строну которой проще простого. Это sideEnemy:
https://community.bistudio.com/wiki/sideEnemy
Чтобы перейти на данную строну, по идее достаточно атаковать членов своей комманды. Что порой и происходит на всокресных играх. Однако сюрпиз в том, это далеко не все условия. На самом деле дело в параметре Raiting каждого юнита:
https://community.bistudio.com/wiki/rating
https://community.bistudio.com/wiki/ArmA:_Rating_Values
Так вот, если он станет меньше -2000, то игрок попадёт в sideEnemy. Этого можно добиться разными способами, например, не поверите, просто уничтожив 2-3 дружественных машины. Причем, сюрприз, даже если они будут пусты или в них будут сидеть враги(!). И это ладно машины, за убитый один изначально дружественный вертолёт, захваченный противиком, игрок гарантировано пападёт в sideEnemy.
В любом случае, игрок попавший на строну sideEnemy по стечению обстоятельств будет мешать своей команде. Например, он не сможет ездить на одном траспорте с командой. Но печальнее другое - скрипты будут считать такого игрока не членом своей комманды, что уже совсем не здорово.
На Wog'овские игры случайные люди редко попадают, а значит использовать встроенный механизм игры смысла нет, тем более, что он может поломать логику миссии. Его можно запросто выключить, например, вот так:
waitUntil {!isNull player};player addRating 200000;while {true} do{ if(rating player<100000) then { player addRating 100000; }; sleep 60;}
Так вот. Сделайте это. Элементарно сохраните вышенаписанное в скрипт setPlayersRaitingToMax.sqf и вызовите его в INIT.sqf:
// Установить рейтинг всех игроков на максимум и поддерживать его. Никакх наказаний за дезертирство.0 = [] execVM 'setPlayersRaitingToMax.sqf';
Подчеркиваю, что рейтинг не Rank, и на получение званий не влияет.