vihkr 8 Posted March 13, 2019 I'm attempting to model an area that has been nuked sometime in the past on the Rosche terrain. The various estimated effects are here at NUKEMAP Currently, I am replacing buildings, trees and bushes with stumps and burned versions using GR's scripts: http://www.armaholic.com/page.php?id=34852 http://www.armaholic.com/page.php?id=34874 I've then edited a few specific buildings with the module Edit Terrain Object and replaced them with burned/damaged models. I then placed an object at the epicenter with Feuerex's example to cause damage to objects: things = nearestobjects [this,[],3370];{_x SetDamage 1} foreach things Where 3370 is the radius of the 5psi blast effects (buildings and tress flattened). I've then overlaid the object with the Ravage Radioactive Zone Placement module with the appropriate radius. So it should be all good, right? Wrong. I have 2 problems: 1. Manually placed building objects are destroyed too by Feuerex's script, even if I uncheck enable damage/enable simulation. How do I prevent them from being destroyed/damaged by the script? 2. Because it's such a large area, Feuerex's script is slow AF to execute. It really lags the server on mission load. Any more efficient options? Bonus question 1: does anyone know how to break all building windows in a certain radius? 1psi (windows broken) radius of a 300kt 300m altitude airburst is roughly 8700m. Bonus 2: any scripts to scatter random garbarge/wreckage/rubble in a radius? Thx guys. 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 13, 2019 Hello there vihkr ! Nice and cool idea ! You can use the script and add _createVehicle allowdamage false; but generally you can use the script even for the building destruction , because it will work faster , than waiting to get derstoyed and you can add after some smoke and fire effects. You can hide also the trees in this area. Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 13, 2019 23 minutes ago, vihkr said: Bonus 2: any scripts to scatter random garbarge/wreckage/rubble in a radius? //_________________________ Spawn random wrecks _________________________ { _accepted = false; _position = [0,0,0]; while {!_accepted} do { _position = [] call BIS_fnc_randomPos; if (_position distance GF_centerPosition > 1000) then { _accepted = true; }; }; _randomWreck = _x createVehicle _position; _randomWreck setDir (random 360); } forEach [ "Land_Wreck_Commanche_F","Land_Wreck_Offroad_F","Land_UWreck_Heli_Attack_02_F","Land_UWreck_Mv22_F","Land_Wreck_BMP2_F", "Land_Wreck_Car_F","Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_CarDismantled_F","Land_Wreck_Heli_Attack_01_F", "Land_Wreck_Heli_Attack_02_F","Land_Wreck_HMMWV_F","Land_Wreck_Hunter_F","Land_Wreck_Offroad2_F", "Land_Wreck_Plane_Transport_01_F","Land_Wreck_Skodovka_F","Land_Wreck_Slammer_F","Land_Wreck_Slammer_hull_F", "Land_Wreck_Slammer_turret_F","Land_Wreck_Slammer_turret_F","Land_Wreck_T72_turret_F","Land_Wreck_Truck_dropside_F", "Land_Wreck_Truck_F","Land_Wreck_UAZ_F","Land_Wreck_Ural_F","Land_Wreck_Van_F", "Plane_Fighter_01_wreck_F","Plane_Fighter_02_wreck_F","Plane_Fighter_04_wreck_F" ]; Share this post Link to post Share on other sites
vihkr 8 Posted March 13, 2019 18 minutes ago, GEORGE FLOROS GR said: You can use the script and add _createVehicle allowdamage false; but generally you can use the script even for the building destruction , because it will work faster , than waiting to get derstoyed and you can add after some smoke and fire effects. You can hide also the trees in this area. Hei! So what you're saying is that your building replace script should be used to replace buildings with the ruined versions instead of running Feuerex's damage script (to increase performance)? It's a cool idea but I want all the trees to be burnt and/or stumps and then blown over and the damage script does that. Furthermore, there are tons of other objects in the are that I want destroyed. And allowDamage false is equivalent to unchecking Enable Damage in the attributes dialogue which doesn't work. Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 13, 2019 2 minutes ago, vihkr said: Enable Damage in the attributes dialogue in the script not in the editor. Share this post Link to post Share on other sites
vihkr 8 Posted March 13, 2019 So this should be able to handle props like Land_ruin_rubble as well? Cool thanks. Share this post Link to post Share on other sites
vihkr 8 Posted March 13, 2019 4 minutes ago, GEORGE FLOROS GR said: in the script not in the editor. Understood. Neither works. Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 13, 2019 You can destruct then the certain area , but only certain objects and not everything such as buildings. Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 13, 2019 1 hour ago, vihkr said: Bonus 2: any scripts to scatter random garbarge/wreckage/rubble in a radius? Just wrote it : WIP GF Object Spawner Script - Mod Spoiler //________________ Author : GEORGE FLOROS [GR] ___________ 13.03.19 _____________ /* ________________ GF Object Spawner Script - Mod ________________ Not Published yet SOON ! Please keep the Credits or add them to your Diary https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ ArmA 3 | Notepad ++ SQF tutorial https://www.youtube.com/watch?v=aI5P7gp3x90 and also use the extra pluggins (this way will be better , it will give also some certain colors to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ BI Forum Ravage Club Owner : https://forums.bohemia.net/clubs/73-bi-forum-ravage-club/ */ //________________ Settings _____________ //________________ Set true or false _____________ GF_Object_Spawner_Debug_Markers = true; GF_Object_Spawner_Systemchat_info = true; GF_Object_Spawner_diag_log_info = true; GF_Object_Spawner_Number = 100; // Number of spawned objects GF_Object_Spawner_Minimum_Distance = 1000; // Minimum Distance from the center , this can be changed to maximum by changing < (of the Map , _centerPosition) GF_Object_Spawner_DynamicSimulationSystem = true; // enableDynamicSimulationSystem if (GF_Object_Spawner_Systemchat_info) then { systemchat "GF Object Spawner Script initializing - Mod"; }; if (GF_Object_Spawner_diag_log_info) then { diag_log "//________________ GF Object Spawner Script - Mod initializing ________________"; }; if(GF_Object_Spawner_DynamicSimulationSystem) then { enableDynamicSimulationSystem true; }; _centerPosition = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition"); _a = 0; while {_a < GF_Object_Spawner_Number} do { _pos = [] call BIS_fnc_randomPos; _array = [ "Land_Wreck_Commanche_F","Land_Wreck_Offroad_F","Land_UWreck_Heli_Attack_02_F","Land_UWreck_Mv22_F","Land_Wreck_BMP2_F", "Land_Wreck_Car_F","Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_CarDismantled_F","Land_Wreck_Heli_Attack_01_F", "Land_Wreck_Heli_Attack_02_F","Land_Wreck_HMMWV_F","Land_Wreck_Hunter_F","Land_Wreck_Offroad2_F", "Land_Wreck_Plane_Transport_01_F","Land_Wreck_Skodovka_F","Land_Wreck_Slammer_F","Land_Wreck_Slammer_hull_F", "Land_Wreck_Slammer_turret_F","Land_Wreck_Slammer_turret_F","Land_Wreck_T72_turret_F","Land_Wreck_Truck_dropside_F", "Land_Wreck_Truck_F","Land_Wreck_UAZ_F","Land_Wreck_Ural_F","Land_Wreck_Van_F", "Plane_Fighter_01_wreck_F","Plane_Fighter_02_wreck_F","Plane_Fighter_04_wreck_F" ]; if (_pos distance _centerPosition > GF_Object_Spawner_Minimum_Distance) then { // this can be changed to maximum by changing < _a = _a + 1; _createVehicle = createVehicle [selectrandom _array, _pos, [], 0, "CAN_COLLIDE"]; _createVehicle setDir random 360; _createVehicle setfuel random 1; _createVehicle setDamage random 1; //_createVehicle enableSimulationGlobal true; if(GF_Object_Spawner_DynamicSimulationSystem) then { _createVehicle enableDynamicSimulation true; }; _format = format ["%1",_pos]; _createVehicle setVehicleVarName _format; if(GF_Object_Spawner_Debug_Markers) then { _Marker_pos = format ["%1",_pos]; _Marker = createMarker [_Marker_pos,_pos]; _Marker setMarkerShape "ICON"; _Marker setMarkerType "mil_marker"; _Marker setMarkerColor "ColorOrange"; _Marker setMarkerText format ["object : %1",_a]; _Marker setMarkerSize [1,1]; }; if (GF_Object_Spawner_Systemchat_info) then { systemchat format ["objects : %1",_a]; }; if (GF_Object_Spawner_diag_log_info) then { diag_log format ["objects : %1",_a]; }; }; }; if (GF_Object_Spawner_Systemchat_info) then { systemchat "GF Object Spawner Script - Mod initialized"; }; if (GF_Object_Spawner_diag_log_info) then { diag_log "//________________ GF Object Spawner Script - Mod initialized ________________"; }; Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 13, 2019 this is damage without effects : _nearestobjects = nearestobjects [this,[],3370];{_x setDamage [1, false];} foreach _nearestobjects; Check also this : // Set here the Destructive radius _radius = 1000; _nearObjects = (getPos player) nearObjects ["Static",_radius]; {_x setDamage [1, false];} forEach _nearObjects; Share this post Link to post Share on other sites
LSValmont 789 Posted March 14, 2019 20 hours ago, GEORGE FLOROS GR said: Just wrote it : WIP GF Object Spawner Script - Mod Reveal hidden contents //________________ Author : GEORGE FLOROS [GR] ___________ 13.03.19 _____________ /* ________________ GF Object Spawner Script - Mod ________________ Not Published yet SOON ! Please keep the Credits or add them to your Diary https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ ArmA 3 | Notepad ++ SQF tutorial https://www.youtube.com/watch?v=aI5P7gp3x90 and also use the extra pluggins (this way will be better , it will give also some certain colors to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ BI Forum Ravage Club Owner : https://forums.bohemia.net/clubs/73-bi-forum-ravage-club/ */ //________________ Settings _____________ //________________ Set true or false _____________ GF_Object_Spawner_Debug_Markers = true; GF_Object_Spawner_Systemchat_info = true; GF_Object_Spawner_diag_log_info = true; GF_Object_Spawner_Number = 100; // Number of spawned objects GF_Object_Spawner_Minimum_Distance = 1000; // Minimum Distance from the center , this can be changed to maximum by changing < (of the Map , _centerPosition) GF_Object_Spawner_DynamicSimulationSystem = true; // enableDynamicSimulationSystem if (GF_Object_Spawner_Systemchat_info) then { systemchat "GF Object Spawner Script initializing - Mod"; }; if (GF_Object_Spawner_diag_log_info) then { diag_log "//________________ GF Object Spawner Script - Mod initializing ________________"; }; if(GF_Object_Spawner_DynamicSimulationSystem) then { enableDynamicSimulationSystem true; }; _centerPosition = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition"); _a = 0; while {_a < GF_Object_Spawner_Number} do { _pos = [] call BIS_fnc_randomPos; _array = [ "Land_Wreck_Commanche_F","Land_Wreck_Offroad_F","Land_UWreck_Heli_Attack_02_F","Land_UWreck_Mv22_F","Land_Wreck_BMP2_F", "Land_Wreck_Car_F","Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_CarDismantled_F","Land_Wreck_Heli_Attack_01_F", "Land_Wreck_Heli_Attack_02_F","Land_Wreck_HMMWV_F","Land_Wreck_Hunter_F","Land_Wreck_Offroad2_F", "Land_Wreck_Plane_Transport_01_F","Land_Wreck_Skodovka_F","Land_Wreck_Slammer_F","Land_Wreck_Slammer_hull_F", "Land_Wreck_Slammer_turret_F","Land_Wreck_Slammer_turret_F","Land_Wreck_T72_turret_F","Land_Wreck_Truck_dropside_F", "Land_Wreck_Truck_F","Land_Wreck_UAZ_F","Land_Wreck_Ural_F","Land_Wreck_Van_F", "Plane_Fighter_01_wreck_F","Plane_Fighter_02_wreck_F","Plane_Fighter_04_wreck_F" ]; if (_pos distance _centerPosition > GF_Object_Spawner_Minimum_Distance) then { // this can be changed to maximum by changing < _a = _a + 1; _createVehicle = createVehicle [selectrandom _array, _pos, [], 0, "CAN_COLLIDE"]; _createVehicle setDir random 360; _createVehicle setfuel random 1; _createVehicle setDamage random 1; //_createVehicle enableSimulationGlobal true; if(GF_Object_Spawner_DynamicSimulationSystem) then { _createVehicle enableDynamicSimulation true; }; _format = format ["%1",_pos]; _createVehicle setVehicleVarName _format; if(GF_Object_Spawner_Debug_Markers) then { _Marker_pos = format ["%1",_pos]; _Marker = createMarker [_Marker_pos,_pos]; _Marker setMarkerShape "ICON"; _Marker setMarkerType "mil_marker"; _Marker setMarkerColor "ColorOrange"; _Marker setMarkerText format ["object : %1",_a]; _Marker setMarkerSize [1,1]; }; if (GF_Object_Spawner_Systemchat_info) then { systemchat format ["objects : %1",_a]; }; if (GF_Object_Spawner_diag_log_info) then { diag_log format ["objects : %1",_a]; }; }; }; if (GF_Object_Spawner_Systemchat_info) then { systemchat "GF Object Spawner Script - Mod initialized"; }; if (GF_Object_Spawner_diag_log_info) then { diag_log "//________________ GF Object Spawner Script - Mod initialized ________________"; }; George, how would you add a random fire and smoke effects to some of those wrecks? Also, the wrecks won't spawn underwater or they can? Because them spawning underwater would be a waste of resources I guess. 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted March 14, 2019 They wont spawn underwater when you are using just _randomPosMapNoWater = [] call BIS_fnc_randomPos; https://community.bistudio.com/wiki/BIS_fnc_randomPos For the fire - smoke effect etc , you can check in my script here : and : 1 Share this post Link to post Share on other sites