Да не парьтесь, БИСы за вас там всё оптимизировали, вы лишь добавили не много своего, чему там грузить.
Этот код отработает один раз на старте, и только, но если не хочется закругляться, работа всегда найдётся).
Вот теперь попробуйте реализовать спавн техники, не тупо на рандомный сигмент дороги, а на самый ближний к тиме.
Дак я ведь и так спавню тиму с виеклом на одной позиции - "getPos _road". Я думал что это наиболее удобный и самый близкий вариант для тимы добраться до своего виекла.
Тут вырос другой вопрос, сам собой
.
Вот эта часть кода отвечает за спавн вот этих классов: "Infantry", "Armored", "Mechanized", "Motorized_MTP", "SpecOps", "Support", "UInfantry". Снова спасибо товарищу SteelRat'у.
_rndTypeGroup = [ "Infantry", "Armored", "Mechanized", "Motorized_MTP", "SpecOps", "Support", "UInfantry"] call BIS_fnc_selectRandom;
_rndGroup = switch (_rndTypeGroup) do {
case "Armored": {BIS_ArmoredPatrolsCSAT};
case "Mechanized": {BIS_MechanizedPatrolsCSAT};
case "Motorized_MTP": {BIS_Motorized_MTPPatrolsCSAT};
case "SpecOps": {BIS_SpecOpsPatrolsCSAT};
case "Support": {BIS_SupportPatrolsCSAT};
case "UInfantry": {BIS_UInfantryPatrolsCSAT};
default {BIS_InfantryPatrolsCSAT};
};
_newGrp = [_pos, EAST, configFile >> "CfgGroups" >> "East" >> "OPF_F" >> _rndTypeGroup >> (_rndGroup select floor random count _rndGroup), [], [], [0.2, 0.5]] call BIS_fnc_spawnGroup;
Все супер, все работает. НО!
Классы: "Armored", "Mechanized", "Motorized_MTP" - это то же виеклы! и они попадают в лес в моем варианте, от чего я избавился в первой части кода.
Не смогу сегодня опробовать, но предпологаю вопрос должен решиться так:
if (_isSpawnVeh) then {
_newGrp = [getPos _road, EAST, configFile >> "CfgGroups" >> "East" >> "OPF_F" >> _rndTypeGroup >> (_rndGroup select floor random count _rndGroup), [], [], [0.2, 0.5]] call BIS_fnc_spawnGroup;
} else {
_newGrp = [_pos, EAST, configFile >> "CfgGroups" >> "East" >> "OPF_F" >> _rndTypeGroup >> (_rndGroup select floor random count _rndGroup), [], [], [0.2, 0.5]] call BIS_fnc_spawnGroup;
};
if (Условие) then { Правда } else { Неправда };
Или необходимо создавать отдельные списки для выбора РЭНДОМА?
Плюс вопрос:
_wp = _newGrp addWaypoint [position leader _newGrp, 1000];
_wp setWaypointLoiterType "CIRCLE";
_wp setWaypointSpeed "LIMITED";
_wp setWaypointBehaviour "SAFE";
_wp = _newGrp addWaypoint [waypointPosition [_newGrp, 10], 0];
_wp setWaypointType "CYCLE";
Вэйпоинт зациклен? Я все правильно написал? 
Заранее спасибо.