The image on your last post has a "do after" outside the loop. And in your previous image, you are also setting the animation and immediately checking for the current animation, that seems redundant. If your actor is only firing once, that means one of the if statements above are failing, either "Shoot" is not being set to false, or your actor value "In Range" is being set to false for some reason.
You should use the print block to print relevant information on the log viewer (the value of "shoot" and the actor's animation and current frame") to see exactly what parts of the code are executing and what a values you are working with, that should help you debug your issue.