looping with event ticks?

Hello! I’m with a problem which I’m not being to solve… Basically I want an object that has a collision box. If the player enter the area, the object follow his direction and shoots.
I managed to make him follow the player and shoot, but it happens only once! and after it shoots, it stops following the player as well. I wanted this action to happen while the player is in the range and it it leaves the actor continues its routine.
Here are the bps I’m using:
5be50e7aab45522c3432f9dcc8247082adbd121d.png

the variable basically checks if it’s ovelapping or not and set the variable, then the event tick calls the first function.

8047b86f3cab2252327da3b703b18cc2de93c300.png

this basically check if it’s true and call the other functions

1c88a881ca63635500cef690b3bb1c768998cb6a.png

this one make the object rotate in the direction of the player

80525c03f994eef55c5f7e4adae6c397aff9aaf4.png

I used this as a delay. shot starts as 0 and adds 1 each time it checks. When it reaches 10 it stops and at this point “shots” = 10.

80b8b72edc6648c806943d436699c9952669db31.png

In the last part, if shots = max shots, it sends a projectile in the direction it’s facing. After that “shots” gets the value 0, to restar the counting.

The thing is, this happens only once, then the enemy freezes his position and doesn’t shoot anymore.
Please give me a insight!