1. make two regions
2. create a boolean variable (if you have more players, then make it an array)
3. create a trigger: if player owned unit enters region, and has a false value for you desired boolean (completing a quest, acquiring item, killing a monster...), then move unit instantly to center of first region
4. of course if your boolean is true, the player will pass the area
Note: of course the unit has to encounter the first region first then the second, so it can be always moved instantly back to the first, thus it will never pass until you boolean is true...(make your boolean an array, depending on the number of players you want to get checked by your trigger...)
I hope this helps! Have a nice day!...RESPECT!!!