Если скрипт запущен на сервере, то зомби будут удалятся только при попытке нанести удар игроку. т.к. все зомби создаются клиентами, и до момента атаки, для сервера они не существуют.
- Создайте файл: sectors_clear_zombies.sqf
- Вставьте в него следующий код:
private ["_sectors"]; diag_log ( "#Ultima: Загрузка секторов защищенных от зомби." ); _sectors = [ [R,X,Y] ,[R1,X1,Y1] ]; diag_log ( "#Ultima: Сектора загружены. Идет создание потоков..." ); { [_x] spawn { private ["_pos","_radius","_zombies","_sector"]; _sector = (_this select 0); //diag_log (format["#Ultima: Создан поток сектора: %1,%2. Радиусом: %3",(_sector select 1),(_sector select 2),(_sector select 0)]); _radius = (_sector select 0); _pos = [(_sector select 1),(_sector select 2),0]; while { true } do { //diag_log (format["#Ultima: Отработка цикла WHILE сектора: %1,%2. Радиусом: %3",(_pos select 0),(_pos select 1),(_radius)]); _zombies = _pos nearEntities ["zZombie_Base",_radius]; {_x setPos[0,0,0];} forEach _zombies; sleep 10;//Пауза }; }; } forEach _sectors; diag_log ( "#Ultima: Все потоки созданы." );
*Вместо R, X, Y впишите, радиус в котором будут удалятся зомби, и координаты X, Y - центр данного радиуса.
Можете добавлять еще точки, с радиусами, через запятую(в примере это R1, X1, Y1).
Если Вы хотите переделать данный скрипт для сервера, - добавьте в самый верх:
if (isServer) then {И добавьте в самый низ:
};
Подключение для клиента:
- Поместите созданный Вами файл: sectors_clear_zombies.sqf, в папку Вашей миссии.
- Откройте файл Вашей миссии: init.sqf
- В самый низ файла добавьте:
[] execVM "sectors_clear_zombies.sqf";
Подключение для сервера:
- На сервере, откройте папку Вашей миссии, и поместите туда созданный Вами файл: sectors_clear_zombies.sqf
- Откройте файл mission.sqf
- В самый низ добавьте
[] execVM "sectors_clear_zombies.sqf";