Quote
// Разместить отряд в здании
// Параметры: <юнит>, [id здания], [начальная позиция] _group = group leader (_this select 0);
_house = if ( count _this > 1 )
then {getposasl (leader _group) nearestobject (_this select 1)}
else {nearestbuilding leader _group};
_bpos = if ( count _this > 2 ) then {_this select 2} else {0};
{
_pos = _house buildingpos _bpos;
if ( str _pos == "[0,0,0]" ) exitwith {};
_x setposatl _pos;
_x setdir random 360;
_x disableai "move";
_bpos = _bpos + 1;
} foreach units _group;
Сохраняем скрипт в папку с миссией в файл с именем moveinbuild.sqf
На инициализацию юнита в отряде пишем:
nil = [this, ID, StartPos] execvm "moveinbuild.sqf";
this - текущий юнит (можно указать имя любого другого юнита).
ID - id строения, куда будет размещён отряд.
StartPos - начальная позиция в здании.
3-й параметр можно опустить, в этом случае позиции считаются с 0. Однако, позиция 0 часто оказывается не в самом здании, а рядом.
2-й параметр так же можно опустить, в этом случае отряд будет размещён в ближайшее здание. Пример вызова:
nil = [this, 1150, 1] execvm "moveinbuild.sqf"
Автор:Arigato