If you search on your own topic name you will find multiple answers.
Events 2 & 3 don't do anything. You are Waiting 1 second, which is exactly what you told it to do with 'Set Wait to 1'.
Add 'Trigger once while true' to events 3 & 4.
tutorial
Your logic is wrong: fix
You need to only search in 'Y', not 'XY'.
have a look here
I'd say you are abusing 'Trigger once'. Looks like you should be using 'On start of layout' for your 'For each' events, and set an instance variable indicating that green is dying and check that rather than Trigger once.
You should post a link to your CAPX. It should work.
Make a fourth layout with all of your dynamic sprites in it. They don't need to be on any other layout at design time.
This is your own bug. You are waiting 5 seconds to set Health > 0 so you are running the Health <= 0 condition every tick for 5 seconds! Add Reload=0 to that same condition, and it works as expected.
The standard is to either call Delete on your sprite in 'On start of layout' to clean-up the sprites you added at design time, or make a separate layout only to collect elements, and then you add the ones you need to your actual layout with Create.
System:Create object
Sample:SpriteFontEffects.capx
Develop games in your browser. Powerful, performant & highly capable.
Right-click your event:Add:Add else
Right-click your condition:Invert
Try this:
RandomArraySample.capx