Иногда нам надо убрать всё что было отспаунено игроком или заранее заготовленным скриптом, и причём сделать это не везде, а только в указанной точке в определённом радиусе.
Правда есть ещё один важный нюанс, обычным вариантом удаляется всё, кроме этой категории, а это стены, заборы, шлагбаумы, дорожные заграждения и не только.
Проблема была решена.
С помощью пары добрых ребят удалось получить вот такой вот скрипт, который удаляет всё что было сделано на карте, и только в указанной точке.
В этом примере уже занесено несколько объектов, которые не удалялись без их занесения по класснеймам.
ВАЖНО
В третьей строчке пишем класснеймы объектов что нам надо удалить, если они не удаляются без их занесения сюда.
Код в чистом виде:
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;