Автор скрипта: BlackTok[BT] (участник нашего Discord)
С инструкцией и комментариями:
Создаешь 2 триггера. Первый тот, который активирует нужный нам скрипт. Пусть будет он называться trg_1.
И второй с названием trg_zone. Второй триггер служит для того, чтобы внутри него перемещалась твоя область, от которой игрок бегать должен, поэтому располагаешь его так, как тебе нужно и задаешь нужные размеры.
В активацию первого триггера пишешь:
0 = [] spawn zone_fnc_red;
Далее создаешь файл в папке с миссией с названием init.sqf и в него пишешь:
zone_fnc_red = { hint "начало"; //создаем группу гражданских _group = createGroup civilian; //создаем гражданского _unit = "C_man_1" createUnit [getPos trg_zone, _group]; //делаем его невидимым _unit hideObject true; //Делаем его неуязвимым _unit allowDamage false; //Создаем ему 101 маршрут for "_i" from 0 to 100 step 1 do { //выбираем рандомную позицию в триггере trg_zone _pos = trg_zone call BIS_fnc_RandomPosTrigger; //добавляем вейпоинт _wp =_group addWaypoint [_pos, _i]; //передвижение беспечно или как-то так _wp setWaypointBehaviour "CARELESS"; //не стрелять _wp setWaypointCombatMod "BLUE"; //на полной скорости _wp setWaypointSpeed "FULL"; }; //рисуем на месте нашего гражданского круг _draw = findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["Draw", { _this # 0 drawEllipse [ getPos _unit, //позиция гражданского 500, 500, //радиус круга 0, [1, 0, 0, 0.5], //цвет круга "" ]; }]; //делаем постоянный цикл while {true} do { //проверка находится ли игрок ближе 500м к гражданскому(то есть в нашем круге) if (player distance _unit < 500) then { //если да, то дамажим игрока на 0.1 player setDamage ((getDamage player) + 0.1); }; uiSleep 1; }; };
Обсудить этот скрипт можно в нашем Discord канале