Jump to content

eventHandler hit or handleDamage issue

Recommended Posts

Hello everybody!



I have an object - a wall with steel door - which I want to be only affectable by two kinds of explosive devices and not by any other possible influences.


If it gets hit by DemoCharge ("DemoCharge_Remote_Mag"/"DemoCharge_Remote_Ammo") I want only the door to be breached.

wall setDamage 0.7 or wall setHit ["hit1",1]


If it gets hit by SatchelCharge ("SatchelCharge_Remote_Mag"/"SatchelCharge_Remote_Ammo") I want the wall to experience full damage.


I've searched and tried for a couple hours now, but unforunately without success, so I hope one of you can reach a helping hand.



Maybe it's important too to mention, that I am using ACE3?


I noticed with


this addEventHandler ["handleDamage", { hint parseText format ["Target: %1 <br/> Selection: %2 <br/> Damage: %3 <br/> Source: %4 <br/> Ammo: %5",(_this select 0),(_this select 1),(_this select 2),(_this select 3),(_this select 4)];}];


that there is no (_this select 4) "Ammo", when using the explosives.


Is there any way to solve/workaround the problem?



Kind regards.

Share this post

Link to post
Share on other sites

The explosion from explosives is indirect not direct damage and thus no ammo is penetrating the object and no "ammo" is passed to the EH.


I would solve this in a different approach:


Add two actions with addaction to the door. One has condition "SatchelCharge_Remote_Mag in (magazines player)" and the other one the Democharge mag. The text is something like "Attach explosive/satchel/charge to door".


When the action is executed, a script or function is called that removes one explosive mag from the player, creates a dummy charge object and attaches it to the door. You than either start an automatic timer (with informing the player) or you add another action "Touchoff attached explosive" to the player.


You can than simply set the desired damage state on the door. Maybe with creating a handgrenade or something for the "boom"-effect.

Share this post

Link to post
Share on other sites

Thank you for your response.


In Arma 2 it was just possible with

this addEventHandler ["HandleDamage",{if ((_this select 4) == "ACE_C4Explosion") then {_this select 2}}];


I like your idea for a solution, but it's not what I really want.


For now I decided to check for the amount of damage instead of ammo type with

this addEventHandler ["handleDamage", {_this call fnc_test}];

fnc_test = {

_target = _this select 0;
_damage = _this select 2;

switch (true) do {

	case (_damage >= 2.1): {_target setDamage 1};
	case (_damage >= 1.1): {_target setDamage 0.7};
	default {false};

Kind regards.

Share this post

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now