How can I ensure my first event finishes before moving on?

ok so imagine in the picture above that each plane (white area) is a separate room. so we will need four triggers total, one for each room. so i made a lighttrigger blueprint and dragged it into the level 4 times.

now the simplest and most reliable solution to get started with would be to use a similar thing to what you did but make it much simpler. as you will see in the picture below i started with begin overlap and checked to make sure it was the player causing the overlap. then i made a variable of the type point light (this could be any kind of actor, i used point light for simplicity), made this variable an array, and made it editable. now comes a for each loop and the logic for the lights operation.

by doing things this way when you drag the trigger into the level you can select it and populate the array with lights in your scene from the details panel. this is an easy and effective way to get the references to specific lights. also by using this method the logic for each trigger will be self contained and wont be overwritten. this should solve the issues youve been having.