So this is a confusing one.
The setup is as follows:
The player is inside a house, arbitrary logic is accumulating a value based on which player is getting “spotted”. Once the player is spotted, one of the windows around him starts flickering with a light source. Player can “hide” to decrease this value, and when it drops below certain value - the window should stop flickering.
Here’s the bluepring handling the flickering in the Window actor:
So an external “manager” actor calls StartWarning and StopWarning events based on conditions.
About 3 out 4 times everything works correctly, but SOMETIMES the PrintString node in StopWarning event returns False, so the StopWarning event DOES fire, but the timer reference for some reason ceases to be valid. Yet the window continues flickering, so the timer still works…
What is even more confusing: I’ve made an extra failsafe with a Gate node:
And… nothing changed. The timer still continues firing even after the gate is supposed to be closed, yet it is not.
So obvious checks out of the way:
StopWarning DOES fire, while getting Timer Exists - False;
StartWarning DOES NOT fire after StopWarning because of a mistake, nope, double checked it;
Why timer does not exist while it works?
Why Gate node does not work in this case?
I’m so confused…