I think that it's working this way :   Ps is 4:00 in the morning ! I can't test this further !   GF_HD_HitPart = { _this addEventHandler ["HitPart", { (_this select 0) params ["_target", "_shooter", "_projectile", "_position", "_velocity", "_selection", "_ammo", "_vector", "_radius", "_surfaceType", "_isDirect"]; // [_target,false]remoteExec["allowDamage",_target]; _damage = damage _target; systemchat format ["_damage %1",_damage]; if!(_target getVariable ["Var_GF_HD_HitPart_EH",false])then{ _new_damage = _damage / 2; _target setDamage _new_damage; systemchat format ["setDamage %1",_new_damage]; _target setVariable ["Var_GF_HD_HitPart_EH",true]; }; }]; }; []spawn{ while{true}do{ waitUntil{uisleep 1; { if( (alive _x) && (!(_x getVariable ["Var_GF_HD_HitPart",false])) )then{ _x spawn GF_HD_HitPart; }; _x setVariable ["Var_GF_HD_HitPart",true]; }forEach vehicles; }; }; };