It should be easy, you only need to make a map like how you make ordinary maps, add an asm routine which forces the player to stay the fly ow and make it only work in the fly maps, then add scripts which checks if player have been to certain places which can fly to(flags can be used to check it like how the original flying points work).