Цитата Shaten (
)
Возможно ли...
Возможно, все три пункта. Я даже как-то делал функцию рукопашного боя.
Типа подходишь к любому игроку вражеской фракции и появляется надпись "Убить..."
Здесь тот же принцип.
Ну всё, написал, проверил, все работает.
Значит, смотри. Вот коды двух файлов
Цитата dosmotr.sqf
DOSMOTR = FALSE;
// Ждем, пока игрок войдет в зону досмотра
while {!DOSMOTR} do {sleep 1;};
_side = EAST; // сторона тех, к кому будет применяться обыск, задаешь сам, EAST\WEST\т.д.
_marked = [];
while {DOSMOTR} do {
// ищем вражеских мужиков
_array = getPos player nearEntities ["MAN", 5];
// если вражеские мужики найдены то
if ({side _x == _side} count _array > 0) then {
{
// Добавляем действие на обыск
if(side _x == _side && !(_x in _marked)) then {
_x addAction ["Обыскать..","check.sqs", [], 10, false, true, "", "player distance _target < 3 && DOSMOTR && alive _target"];
_marked set [count _marked, _x]; // заносим его в массив обыскиваемых мужиков
};
} forEach _array;
};
sleep 1;
};
// Освобождаем память от мужиков
_marked = [];
// Перезапускаем этот скрипт
as = [] execVM "dosmotr.sqf";
Цитата check.sqs
_gen = _this select 0
_caller = _this select 1
_id = _this select 2
; it's to remove the action once it is activated
; _gen removeAction _id
_caller action ["GEAR",_gen]
В самой игре тебе надо будет поставить триггер с многоразовой активацией, размер выставишь какой тебе нужен.
В поля пишешь
Цитата Активация
DOSMOTR = TRUE; hint "TRUE"
Цитата Деактивация
DOSMOTR = FALSE; hint "FALSE"
Теперь жмёшь F2 и соединяешь себя и флажок триггера голубой ниточкой.
Всё. Любой юнит стороны _side можно будет обыскать.
Прилагаю пример миссии для ArmA III
http://yadi.sk/d/FUCtWpu8Ej6uN