Maybe this script might help though its for health, use the entity your hitting to trigger the anim and the health reduction using 'pickobject' rather than the weapon to trigger, if you know what I mean.
;Artificial Intelligence Script
;Header
desc = health base
:state=0:hudreset,hudx=50,hudy=60,hudimagefine=gamecore\text\healthfull.tga,hudname=fullhealth,hudhide=1,hudmake=display,state=10
:state=10,plrdistwithin=80,pickobject=1:hudunshow=prompt,state=1
:state=1,pickobject=0:hudshow=prompt,state=10
:state=1,mousestate=2,plrhealthless=99:setframe=0,sound=audiobank\darkhouse\health.ogg,plraddhealth=5,state=2
:state=1,mousestate=2,plrhealthgreater=99:hudshow=fullhealth,hudfadeout=fullhealth,state=10
:state=2:incframe=0,state=3
:state=3,frameatend=0:state=4
:state=4:hudshow=prompt,state=0
;End of Script
I am sure someone more savvy about scripting and weapons in particular will know exactly what you want, pretty sure it can be done easily enough.
mousestate= is when the button is held.
I don't trip over...I do random gravity checks.