when running example 1 , it waits 1 second and then the impulse is applied constantly, with no 1 second gap in between.
So according to example 1 when running example 2 the trigger once should not matter.
But when running example 2 it waits 1 second and then there’s only one impulse.
Can someone explain how the conditions and events are read and applied?
Not sure if this helps but have you tried moving the trigger once and impulse to a subevent of the wait command. That might apply impulse once per second.
Event 1 will keep being executed (around 60 times/sec), after waiting 1 sec then impulse is applied and after that another impulse is applied again because there is around 60 times of waiting for 1 sec and around 60 times impulse is applied, it looks like after the first 1 sec there is no 1 sec gap again but there is a 1 sec gap actually and the next timer is also waiting for 1 sec its just that they are too close to each other, while the first timer/(waiting for 1 sec) not even finished they are already other (waiting for 1 sec) already in queue thus resulted in looks like constant and no gap.
Event 2, well for the whole time the game run it will only be triggered once.
Try using a key press for both of events, using no trigger once and the other using it.
The wait action literally just waits from the moment of its execution the amount of time you tell it before running the event following it. An event that triggers a “wait 1 second” unconditionally (every frame) will, every frame, start a timer that, 1 second from now, will add an impulse. Hence why there is an impulse every frame after a second - the first timer has elapsed, and there will be one elapsing every next frame then.
The trigger once makes the event trigger, well, once. It waits a single time and executes the impulse a single time.