https://www.dropbox.com/s/r2lgciwcvi6hi ... .capx?dl=0
Issue 1 - The added condition to the direction will let it run only if it is above, below, left, or right of the center of your boundary box.
I'm not sure I understand what you are going for your function, but remember, ELSE will only run if the event directly before it on the same level did NOT run.
It should work as all events do - The function will go through each event until it finds conditions that match, then it will run those actions in that event.