Случайно перемещающаяся зона с нанесением урона.

Автор скрипта: 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 канале