1. try something like unit action ["strokegun"]. That should make the unit hit with it's gun... Then it's a matter of placement and timing to get it to look right...
Of course this won't damage the possible target so you need to damage the target 'manually' in the script...
Very very rough example, prolly won't work:
_hitter = _this select 0
_target = _this select 1
_hitter action ["strokegun"]
~2
_target setDamage ((damage _target) + 0.1)
exit
You would call this by [hitterUnitName,targetUnitName] exec "script.sqs"
2. This is simple. Make a trigger, size 0/0.
The in the condition field:
damage wantedUnitName > 0.5And in the activation fiedl: whatever you need
Note that when checking damage, 0 is no damage 1 is full damage...
And as usual, syntaxes are not guaranteed to work in any way...