Overlap Timer

below is three examples of how this could be done. for your purposes i would try using method 2 since its simple and will work well with your current setup.

method 1 relies on a gate opening and closing depending on if the player is overlapping. basically we open the gate and start a countdown on begin overlap, then if the gate is still open after the delay your script is run.

method 2 relies on timers. the idea here is you start a timer on begin overlap, then if the timer is still valid by the time its meant to run then it runs if not nothing happens.

method 3 is sort of a brute force approach. on begin overlap we start a delay then when the delay is done we check to see if the player is still overlapping by checking it against every overlapping actor.