Иногда нам надо убрать всё что было отспаунено игроком или заранее заготовленным скриптом, и причём сделать это не везде, а только в указанной точке в определённом радиусе.
Правда есть ещё один важный нюанс, обычным вариантом удаляется всё, кроме этой категории, а это стены, заборы, шлагбаумы, дорожные заграждения и не только.
Проблема была решена.
С помощью пары добрых ребят удалось получить вот такой вот скрипт, который удаляет всё что было сделано на карте, и только в указанной точке.
В этом примере уже занесено несколько объектов, которые не удалялись без их занесения по класснеймам.
ВАЖНО
В третьей строчке пишем класснеймы объектов что нам надо удалить, если они не удаляются без их занесения сюда.
Код в чистом виде:
Total_fnc_clean = { params ["_center","_radius"]; _objects = nearestObjects [_center, ["Land_BarGate_F","Land_CncBarrier_stripes_F","Land_HBarrier_1_F","Land_HBarrier_Big_F","Land_HBarrier_5_F","Land_Rampart_F"], _radius]; { if (_x distance _center < _radius) then {deleteVehicle _x}; } forEach _objects + allUnits + vehicles + allDead + allMissionObjects "WeaponHolder","GroundWeaponHolder","WeaponHolderSimulated", "#objectdestructed","#slop","#mark","#track","#crater","#crateronvehicle","#explosion","#objectdestructed","#soundonvehicle","#dynamicsound"; };
Код с расшифровкой:
// Создаём функцию Total_fnc_clean = { params ["_center","_radius"]; //Прописываем дополнительно объекты. которые не удаляются как Vehicle _objects = nearestObjects [_center, ["Land_BarGate_F","Land_CncBarrier_stripes_F","Land_HBarrier_1_F","Land_HBarrier_Big_F","Land_HBarrier_5_F","Land_Rampart_F"], _radius]; // Удаление по указанным координатам и в указанном радиусе { if (_x distance _center < _radius) then {deleteVehicle _x}; //удаляем следы от гусениц, ног, следы крови, следы взрывов и т.п. } forEach _objects + allUnits + vehicles + allDead + allMissionObjects "WeaponHolder","GroundWeaponHolder","WeaponHolderSimulated", "#objectdestructed","#slop","#mark","#track","#crater","#crateronvehicle","#explosion","#objectdestructed","#soundonvehicle","#dynamicsound"; };
Вызывается эта очищалочка вот таким вот образом:
Код в чистом виде:
[[23186.3,19941.5,0],100] spawn Total_fnc_clean;
Код с расшифровкой:
// Указываем точные кординаты, а сразу после них радиус выполнения очистки
[[23186.3,19941.5,0],100] spawn Total_fnc_clean;