Maybe i solved the problem…i noticed that when the actor is been destroyed it spawns two points instead of one like i programmed in the bluprint (i mean the classic shoot em up points to collect)…so it means that it takes damage two time even after the actor is destroyed. This is why this error happens only with radial damage…for what i understand in ue4 the destroy node doesn’t destroy the actor immediately but put it in a garbage collector for stability reasons for some time. I have two kind of weapons that apply radial damage…the first is rocket and the secondo a carpet bombing that releases 6 bombs. With the carpet bombing the bug happens very much because there are at least two radial damage that hit the actor (every bomb has a radial damage)…for the rockets the question is different…it takes 2 rockets to destroy the actor but at the second rocket sometimes the error happen. I checked the assett and i noticed that the meshes were set up with block all collisions…so i thought that the meshes and even the collision box takes the damage. Setting meshes with no collision seems to solve the bug…i forgot to check mesh collisions when i did the bluprint.
For the carpet bombing bug i found two way to solve it…the first is adding a delay before the destroy node with 0,4 seconds…but it’s too long!
The second way is adding a do once node after the branch that checks if the health is below or equal to zero…so the destroy node after it can work only one time.
It’s the first time i needed to use the do once node in the health system of an actor but the problem is caused by the cannon movement and fire loop…too much complicated i think.
Anyway i posted two pictures about fire loop and cannon movement loop…maybe you can understand better why it detect infinite looping.