

stevey666
Members-
Posts
92 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by stevey666
-
Splash Damage 3.2 Github: https://github.com/stephenpostlethwaite/DCSSplashDamageScript Options Change: Please be advised that the non debug script has these two defaulted to false, so that users don't see that the script is in use nor can they access the test/config radio options. Set either to true as required. The notice that the Splash Damage 3.2 is running uses game_messsages. ["game_messages"] = false, --enable some messages on screen ["enable_radio_menu"] = false, --enables the in-game radio menu for modifying settings Feature Change: Giant Explosion The Giant Explosion triggering has been changed, and no longer requires a mission editor trigger. If a unit or an object is called GiantExplosionTarget[something] i.e GiantExplosionTarget1, GiantExplosionTargetBoomBox, it will be tracked and trigger a giant explosion. Also, I've added the option to trigger on unit damage as opposed to unit death. ["giantexplosion_ondamage"] = true, --Trigger explosion when unit is damaged ["giantexplosion_ondeath"] = true, --Trigger explosion when unit is destroyed New Feature: Ground Ordnance Disabled by default as it was a user request, this will allow the script to apply its effects to ground ordnance, i.e artillery shells fired by ground units --Ground Unit Ordnance ["track_groundunitordnance"] = false, --Enable tracking of ground unit ordnance (shells) ["groundunitordnance_damage_modifier"] = 1.0, --Multiplier for ground unit ordnance explosive power ["groundunitordnance_blastwave_modifier"] = 4.0, --Additional multiplier for blast wave intensity of ground unit ordnance I've also added the below shells in, so it's not fully complete. I'll need people to tell me what to add specifically if they want the specific shells tracking. I'm aware of tank shells not being in there - given it was a user request I'm not sure how many people actually want to make sure of this so have not spent additional time. --*** Shells *** ["weapons.shells.M_105mm_HE"] = { explosive = 12, shaped_charge = false, groundordnance = true }, --105mm HE shell, M119/M102 (~10-15 kg TNT equiv) ["weapons.shells.M_155mm_HE"] = { explosive = 60, shaped_charge = false, groundordnance = true }, --155mm HE shell, M777/M109 (~50-70 kg TNT equiv) ["weapons.shells.2A60_120"] = { explosive = 18, shaped_charge = false, groundordnance = true }, --120mm HE shell, 2B11 mortar (~15-20 kg TNT equiv) ["weapons.shells.2A18_122"] = { explosive = 22, shaped_charge = false, groundordnance = true }, --122mm HE shell, D-30 (~20-25 kg TNT equiv) ["weapons.shells.2A33_152"] = { explosive = 50, shaped_charge = false, groundordnance = true }, --152mm HE shell, SAU Akatsia (~40-60 kg TNT equiv) ["weapons.shells.PLZ_155_HE"] = { explosive = 60, shaped_charge = false, groundordnance = true }, --155mm HE shell, PLZ05 (~50-70 kg TNT equiv) ["weapons.shells.M185_155"] = { explosive = 60, shaped_charge = false, groundordnance = true }, --155mm HE shell, M109 (~50-70 kg TNT equiv) ["weapons.shells.2A64_152"] = { explosive = 50, shaped_charge = false, groundordnance = true }, --152mm HE shell, SAU Msta (~40-60 kg TNT equiv) New Feature: All Ground Unit Smoke and Cargo Cookoff Disabled by default as it was a user request. Enabling this will cause smoke and cookoff effects for all ground vehicles you destroy. --Smoke and Cookoff Effect For All Vehicles ["smokeandcookoffeffectallvehicles"] = false, --Enable effects for all ground vehicles not in cargoUnits vehicle table ["allunits_enable_smoke"] = false, ["allunits_enable_cookoff"] = false, ["allunits_explode_power"] = 50, --Initial power of vehicle exploding ["allunits_default_flame_size"] = 6, --Default smoke size (called flame here in the code, but it'll be smoke) 5 = small smoke, 6 = medium smoke, 7 = large smoke, 8 = huge smoke ["allunits_default_flame_duration"] = 60, --Default smoke (called flame here in the code, but it's smoke) duration in seconds for non-cargoUnits vehicles ["allunits_cookoff_count"] = 4, --number of cookoff explosions to schedule ["allunits_cookoff_duration"] = 30, --max time window of cookoffs (will be scheduled randomly between 0 seconds and this figure) ["allunits_cookoff_power"] = 10, --power of the cookoff explosions ["allunits_cookoff_powerrandom"] = 50, --percentage higher or lower of the cookoff power figure Release notes: 10 May 2025 (Stevey666) - 3.2 - New feature (user request): ground ordnance tracking, this tracks ground artillery etc if in the explosives table, set to false by default. - New feature (user request): option to create additional smoke and cargo cookoff effect for all ground vehicles initially destroyed by your ordnance or the script, set to false by default. - Adjusted blastwave explosion - Changes to debug output, ordering by vehicle distance - Thanks to tae. for the report, adjusted Ural-4320 in vehicle table, had incorrect name so wasn't triggering cook off. - Fixed error popup when using Mig 21's SPRD-99 - Added Cargo Cook off / fireball to some static objects i.e crates/barrels - Reworked Giant Explosion tracking - no mission editor trigger needed, just name static unit or unit "GiantExplosionTarget[X]" - Allow for Giant Explosion trigger on damage or on death Reminder on how to add the script: To use the script in your mission, add a Mission Start trigger with the action DO SCRIPT FILE (splash_damage_3.2.lua). PLEASE NOTE IF YOU'RE MAKING CHANGES TO THE SETTINGS IN THE LUA AFTER YOU'VE ADDED THE TRIGGER: When you select the file in the trigger, it uploads a copy to the miz file at that point, further changes will not be reflected. You need to remove and re-add the trigger or select a different file and then back to the script. Splash_Damage_3.2.lua Splash_Damage_3.2_debug.lua
-
thanks, I wasn't able to use the trk in the end as I didn't have your mods but luckily adding the mig in as an AI uses the SPRD replace this section: function onWpnEvent(event) if event.id == world.event.S_EVENT_SHOT then if event.weapon then local ordnance = event.weapon local typeName = trim(ordnance:getTypeName()) --Skip rocket boosters like SPRD-99 if typeName == "SPRD" then return end env.info("Weapon fired: [" .. typeName .. "]") debugMsg("Weapon fired: [" .. typeName .. "]") with this function onWpnEvent(event) if event.id == world.event.S_EVENT_SHOT then if event.weapon then local ordnance = event.weapon --verify isExist and getDesc local isValid = false local status, desc = pcall(function() return ordnance:isExist() and ordnance:getDesc() end) if status and desc then isValid = true end if not isValid then if splash_damage_options.debug then env.info("SplashDamage: Invalid weapon object in S_EVENT_SHOT") debugMsg("Invalid weapon object in S_EVENT_SHOT") end return end --Safely get typeName with pcall local status, typeName = pcall(function() return trim(ordnance:getTypeName()) end) if not status or not typeName then if splash_damage_options.debug then env.info("SplashDamage: Failed to get weapon typeName: " .. tostring(typeName)) debugMsg("Failed to get weapon typeName: " .. tostring(typeName)) end return end if splash_damage_options.debug then env.info("Weapon fired: [" .. typeName .. "]") debugMsg("Weapon fired: [" .. typeName .. "]") end - not been able to fix it specifically - but it will now put an error in the logs if debug mode is enabled, and it will not display an error popup anymore will include this in the 3.2 code when I release that soon
-
I'm currently added in cargo boxes and barrels etc to the cook off list, i.e the below which is some fuel barrels: ["Cargo05"] = { cargoExplosion = true, cargoExplosionMult = 1, cargoExplosionPower = 100, cargoCookOff = false, cookOffCount = 5, cookOffPower = 1, cookOffDuration = 10, cookOffRandomTiming = true, cookOffPowerRandom = 50, isTanker = true, flameSize = 2, flameDuration = 30, }, does someone have a list of all the static unit types like this that would have a cookoff or fireball? will be much helpful please and thank you
-
function onWpnEvent(event) if event.id == world.event.S_EVENT_SHOT then if event.weapon then local ordnance = event.weapon local typeName = trim(ordnance:getTypeName()) --Skip rocket boosters like SPRD-99 if typeName == "SPRD-99" then return end if splash_damage_options.debug then env.info("Weapon fired: [" .. typeName .. "]") debugMsg("Weapon fired: [" .. typeName .. "]") end Can you please add the bolded bit in there? I had no idea what this was til some googling, pretty fun feature. The above should allow the script to ignore the booster. I don't have the mig21 so can't test it.
-
Can you confirm which HE rockets you were using and what the truck was? If you set all the below debugs to true and re-add the script, that'll give some more info on whats going on: ["game_messages"] = true, --enable some messages on screen ["debug"] = true, --enable debugging messages ["weapon_missing_message"] = true, --false disables messages alerting you to weapons missing from the explTable ["track_pre_explosion_debug"] = true, --Toggle to enable/disable pre-explosion tracking debugging These will also populate in your dcs.log file in C:\Users\[USER[\Saved Games\DCS\Logs
-
Aha, got you. Units being identified in the blast area is for the fireball/smoke/cookoff effect primarily. As standard the script adds an extra explosion on top of your bomb with additional blastwave damage calculation for anything close by. If its a structure and the blastwave damage is at least 0.1 then it will multiply the damage against the structure. relevant code: ["static_damage_boost"] = 2000, --apply extra damage to Unit.Category.STRUCTUREs with wave explosions if damage_for_surface > splash_damage_options.cascade_damage_threshold then local explosion_size = damage_for_surface if obj:getDesc().category == Unit.Category.STRUCTURE then explosion_size = intensity * splash_damage_options.static_damage_boost So should be working as is, if it doesn't seem to be then maybe reduce the ["cascade_damage_threshold"] to 0.001, or increase the ["static_damage_boost"]. Let me know if there are issues and I can review further if you find some
-
You have to add it as a trigger, see below: 1. Click on the triggers icon 2. Select New under the triggers box 3. Select Mission start as the type 4. Select new under the actions box 5. Select "DO SCRIPT FILE" as the action 6. Select a script lua file Then save your mission, it will save a copy of the lua script file inside the .miz file. If you want to make any changes to the script file you'll need to delete and re-add the script file action (from step 4) again so it adds a new copy into your miz file.
-
I'll make note of it when i release 3.2 eventually! For now, adding cookoffs is relatively minor, just need to adjust variables. Won't give you random numbers of explosions as I don't want to change that much of the code atm but you can set the count. Find the updated script here: https://github.com/stephenpostlethwaite/DCSSplashDamageScript/blob/master/Splash_Damage_main.lua options now contain: --Smoke and Cookoff Effect For All Vehicles ["smokeandcookoffeffectallvehicles"] = false, -- Enable effects for all ground vehicles not in cargoUnits vehicle table ["allunits_enable_smoke"] = false, ["allunits_enable_cookoff"] = false, ["allunits_explode_power"] = 50, --Initial power of vehicle exploding ["allunits_default_flame_size"] = 6, --Default smoke size (called flame here in the code, but it'll be smoke) 5 = small smoke, 6 = medium smoke, 7 = large smoke, 8 = huge smoke ["allunits_default_flame_duration"] = 60, --Default smoke (called flame here in the code, but it's smoke) duration in seconds for non-cargoUnits vehicles ["allunits_cookoff_count"] = 4, --number of cookoff explosions to schedule ["allunits_cookoff_duration"] = 30, --max time window of cookoffs (will be scheduled randomly between 0 seconds and this figure) ["allunits_cookoff_power"] = 10, --power of the cookoff explosions ["allunits_cookoff_powerrandom"] = 50, --percentage higher or lower of the cookoff power figure Change the bolded ones to true to enable and adjust the other figures how you like.
-
I've updated this branch for now with changes to the code and options: https://github.com/stephenpostlethwaite/DCSSplashDamageScript/blob/groundordnance/Splash_Damage_main.lua --Smoke Effect For All Vehicles ["smokeeffectallvehicles"] = true, -- Enable smoke effects for all ground vehicles not in cargoUnits vehicle table ["default_flame_size"] = 6, --Default smoke size (called flame here in the code, but it'll be smoke) 5 = small smoke, 6 = medium smoke, 7 = large smoke, 8 = huge smoke ["default_flame_duration"] = 60, -- Default smoke (called flame here in the code, but it's smoke) duration in seconds for non-cargoUnits vehicles This will give you default extra smoke for units destroyed. Please be aware though the limitation here is that they are destroyed outright by your bomb/missile or by the script's additional effects. (The script takes a snapshot of the area before and after explosions, and applies cargo cook off or smoke effects to locations of now missing vehicles (aka dead vehicles).
-
Hi there. The script can add an additional smoke effect to kick off where it detects a specific vehicle has been destroyed. It will show some odd clipping when you look closely, but from a distance you'll see the additional smoke effect more. Right now its only for specific vehicles. For example from the code I adjusted the 2 vehicles:: --[[ flamesize: 1 = small smoke and fire 2 = medium smoke and fire 3 = large smoke and fire 4 = huge smoke and fire 5 = small smoke 6 = medium smoke 7 = large smoke 8 = huge smoke ]]-- --3) Refueler ATZ-10 ["ATZ-10"] = { cargoExplosion = true, cargoExplosionMult = 2, cargoExplosionPower = 200, cargoCookOff = false, cookOffCount = 0, cookOffPower = 0, cookOffDuration = 0, cookOffRandomTiming = false, cookOffPowerRandom = 50, isTanker = true, flameSize = 6, flameDuration = 70, }, --4) Refueler ATZ-5 ["ATZ-5"] = { cargoExplosion = true, cargoExplosionMult = 1.8, cargoExplosionPower = 200, cargoCookOff = false, cookOffCount = 0, cookOffPower = 0, cookOffDuration = 0, cookOffRandomTiming = false, cookOffPowerRandom = 50, isTanker = true, flameSize = 5, flameDuration = 70, }, Left is flamesize 5 (small smoke) and right flamesize 6 (medium smoke). You can also set the duration size. If you need it for a specific vehicle you can adjust the vehicle table in the code as needed. If it's for all vehicles, it's something I can look to add in the future but would want your input on smoke size and duration. If you set the game messages option in the script to true I think you'll then see this message. ["game_messages"] = true, --enable some messages on screen
-
Thanks! Currently no as its set to scan for units only, there are some preexisting building types I've been able to scan before but not all of them. I'll have to do some testing when I'm back from vacation next week. I'll check out the dispatcher script. That said there is a building damage modifier in the script that was in there originally before I made modifications if you're looking to bump damage to the building. Are you looking at making a giant explosion for them or just the regular extra explosions the script applies to units?
-
I've updated the groundordnance branch please take this one https://github.com/stephenpostlethwaite/DCSSplashDamageScript/blob/groundordnance/Splash_Damage_main.lua If you run it with these 2 debug lines set as true I can review the log results to see if they line up with how I understand how the script works, should you want to review anything. ["debug"] = true, --enable debugging messages ["weapon_missing_message"] = false, --false disables messages alerting you to weapons missing from the explTable ["track_pre_explosion_debug"] = false, --Toggle to enable/disable pre-explosion tracking debugging ["track_groundunitordnance_debug"] = true, --Enable detailed debug messages for ground unit ordnance tracking but.. See attached images or this next bit - However it seems like you want some significant explosions happening here so, for that you can use the base script and set this to true: ["always_cascade_explode"] = true, --switch if you want everything to explode like with the original script You could reduce blastwave size (dynamic_blast_radius_modifier) and intensity (groundunitordnance_blastwave_modifier) to restrict this a bit, but yes. Big booms available if you change the right settings in the script. That was one arty round into the fray and decimated all but the tanks
-
There's a number of arty units so I've added some to the script with the below power levels. This wont be all of them im sure. --*** Rocketry *** ["9M22U"] = { explosive = 25, shaped_charge = false, groundordnance = true }, --122mm HE rocket, BM-21 Grad (~20-30 kg TNT equiv) ["M26"] = { explosive = 0, shaped_charge = false, cluster = true, submunition_count = 644, submunition_explosive = 0.1, submunition_name = "M77", groundordnance = true }, --227mm cluster rocket, M270 MLRS (adjusted for cluster) --*** Shells *** ["weapons.shells.M_105mm_HE"] = { explosive = 12, shaped_charge = false, groundordnance = true }, --105mm HE shell, M119/M102 (~10-15 kg TNT equiv) ["weapons.shells.M_155mm_HE"] = { explosive = 60, shaped_charge = false, groundordnance = true }, --155mm HE shell, M777/M109 (~50-70 kg TNT equiv) ["weapons.shells.2A60_120"] = { explosive = 18, shaped_charge = false, groundordnance = true }, --120mm HE shell, 2B11 mortar (~15-20 kg TNT equiv) ["weapons.shells.2A18_122"] = { explosive = 22, shaped_charge = false, groundordnance = true }, --122mm HE shell, D-30 (~20-25 kg TNT equiv) ["weapons.shells.2A33_152"] = { explosive = 50, shaped_charge = false, groundordnance = true }, --152mm HE shell, SAU Akatsia (~40-60 kg TNT equiv) ["weapons.shells.PLZ_155_HE"] = { explosive = 60, shaped_charge = false, groundordnance = true }, --155mm HE shell, PLZ05 (~50-70 kg TNT equiv) ["weapons.shells.M185_155"] = { explosive = 60, shaped_charge = false, groundordnance = true }, --155mm HE shell, M109 (~50-70 kg TNT equiv) ["weapons.shells.2A64_152"] = { explosive = 50, shaped_charge = false, groundordnance = true }, --152mm HE shell, SAU Msta (~40-60 kg TNT equiv) And I've added in these options: --Ground Unit Ordnance ["track_groundunitordnance"] = true, --Enable tracking of ground unit ordnance (shells) ["groundunitordnance_damage_modifier"] = 1.0, --Multiplier for ground unit ordnance explosive power ["groundunitordnance_blastwave_modifier"] = 3.0, --Additional multiplier for blast wave intensity of ground unit ordnance ["track_groundunitordnance_debug"] = false, --Enable detailed debug messages for ground unit ordnance tracking groundunitordnance_damage_modifier" and "groundunitordnance_blastwave_modifier" are ones you can bump up for greater explosions/more damage I tested lightly with a Paladin and it seems to work, so have a try. https://github.com/stephenpostlethwaite/DCSSplashDamageScript/blob/groundordnance/Splash_Damage_main.lua Please do test and let me know how it feels now and maybe what the best settings to have are. My testing time is limited now and I'll be going away for a few weeks soon so if you are able to test it Qnnrad I'd appreciate it. If you want to attach a miz file for any Qs I have Caucuses, Normandy/Channel, Gulf Also available on discord
-
Hey there, thanks. Happy to help continue the work that's been done on it! Below is the relevant code block. It looks like it calculates the current health % of a unit, if a unit has more than 0% health and is infantry - it then checks if the health is less than or equal to the infantry_cant_fire_health %. local health = (unit:getLife() / unit:getDesc().life) * 100 if unit:hasAttribute("Infantry") and health > 0 then if health <= splash_damage_options.infantry_cant_fire_health then unit:getController():setOption(AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.WEAPON_HOLD) So to answer your questions, the "infantry_cant_fire_health" key is the % of health the unit has left, or below, that will cause it to be set to weapon hold. When set at 60 if the unit takes 40% damage or more then the unit holds fire 1) 0 2) 20 Good question, I'll look into this. Any particular unit(s) I should focus on? How do you feel it currently works vs how you'd want it to work? May need to jack that up a bit, you can test to see - I think your bombs are too close and need a larger interval though. You could always change the damage figure for the specific bombs youre dropping to be much smaller as well so that other weapons can still have the script work - if your mission calls for it
-
Ah okay I think I know whats happening there, your bombs are blowing eachother up midair which is a side effect of the script. I think from the screenshot we can see the additional explosion element of the script snapping to the ground (set by ["snap_to_ground_if_destroyed_by_large_explosion"] = true,). I would recommend you try bumping this up "["ordnance_protection_radius"] = 10, --Distance in meters to protect nearby bombs" to increasing amounts i.e 30+. What that will do is prevent the additional script explosion from triggering if its too close to another one of your bombs (not always effective but does often work from my testing). Also, if you can space out the bombs further as well then they wont blow eachother up. Also also, if you set this to false it will prevent the additional explosions: ( ["larger_explosions"] = true), but you will loose some of the fun of the script
-
How many bombs we talking? The script adds an additional large explosion to every bomb that goes off, so if its throwing out a load of 2000lb bombs at the same time around the same place it might make a bit of a cloud. You have a screenshot? You could also test an older version if you think its an issue with a newer script.
-
Splash Damage 3.1 04 April 2025 (Stevey666) - 3.1 - Set default cluster munitions option to false, set this to true in the options if you want it - Added missing radio commands for Cascade Scaling - Adjust default cascading to 2 (from 1) - Adjusted Ural-4320 to be a tanker and ammo carrier for cargo cookoff - Prevent weapons not in the list from being tracked - Moved some logging behind the debug mode flag - Ordnance Protection, added a max height ordnance protection will snap explosion to ground - Ordnance Protection, fixed enable/disable option - Added Giant Explosion feature - Adjusted some hydra70 values on recom. from ETBSmorgan I've released 3.1 which contains a few fixes as well as the giant explosion feature. Splash_Damage_3.1.lua - contains all the changes but keeps giant explosion disabled Splash_Damage_3.1_GiantExplosionEnabled.lua - contains all changes As always, the script is highly configurable so you can enable/disable/adjust a lot of the options on your whim. Giant Explosion I've added the feature for a giant explosion which can be triggered via mission editor or radio command. As mentioned in a previous post I'm using this to help simulate a large munition stockpile explosion. Currently, it triggers several hundred high kg explosions. It's not ideal to use in a crowded area as the damage blastwave is pretty extensive to be able to get it to show a big explosion. Explosion power, number of explosions, scale of the whole effect etc is in the options for someone to adjust if they wish. See this post for how to use the GiantExplosion effects Splash_Damage_3.1.lua Splash_Damage_3.1_GiantExplosionEnabled.lua
-
Hi there, Looks like that was changed between version 2 and 2.05 of the script. Seems like this is pretty much double then? I can change the M229 to 10 if that's what you'd recommend. If you think the MPP needs to be a penetrator we could set this a shaped charge which will reduce the extra explosion the script adds by like 80%, or I can just lower to a value you'd recommend. I've not really used these weapons ingame so cant really comment on how effective they are generally and with the current script. Yep!
-
Yeah, unless you want to test the giant explosion feature? https://github.com/stephenpostlethwaite/DCSSplashDamageScript/blob/giantexplosion/Splash_Damage_main.lua That goes for anyone, feel free to test it and feedback. This creates a big explosion, or well 300 or so big explosions. Caveats: The damage wave is massive for this, but the explosion visual is comparatively smaller so using it near buildings and towns etc can be a bit iffy. It can cause an FPS hit obviously, but I feel the worst thing FPS wise is smoke any destroyed surrounding buildings/scenery (which can be removed via a trigger for a cleaner area). Limited by DCS here sadly I've added this to help simulate a large ammo stockpile going off. To use it you need to name a unit "GiantExplosionTarget[Name]" In the example below I'll use GiantExplosionTargetTruck After that set a Once Trigger for Unit Dead or maybe Unit Damaged against GiantExplosionTargetTruck and have the action Set Flag Value GiantExplosionTargetTruck 1 The script is checking for those triggers to be 1 and if they are set as 1 then it will trigger the explosion The script tracks the location of the unit at the start as if its a static unit (moving can also work but need to change options in the script and ive not tested that part yet). When it sees the flag for the unit go to 1 then it will trigger the boom. There are radio commands to increase/decrease the scale and number of explosions and also one to trigger the boom as many times as you like for testing. It will dynamically review triggers as long as the name is "GiantExplosionTriggerSOMETHING" I wanted to have this as part of a mission im making for some friends. There are only 3 of us who play them so these changes are only really designed and tested for that.