Fired when the player enters a new zone in which the player is not indoors see also ZONE_CHANGED_INDOORS. Zones are the smallest named subdivions of the game world and are contained within areas (also called regions). Whenever the text over the minimap changes, either this event is fired or ZONE_CHANGED_INDOORS or ZONE_CHANGED_NEW_AREA
Fired when a player enters a new zone and enters a location which is inside (Instances appear to be counted as indoors) See also ZONE_CHANGED or ZONE_CHANGED_NEW_AREA as mutually exclusive events
For coding it would be advisable to register for all three events
Fired when the user enters a new zone and a new area. e.g. moving from Duskwood to Stranglethorn Vale. In interface terms, this is anytime you get a new set of channels. The ZONE_CHANGED events are mutually exclusive!
Note: When this event fires, the UI may still think you're in the zone you just left. Don't depend on GetRealZoneText() and similar functions to report the new zone in reaction to ZONE_CHANGED_NEW_AREA. (untested for similar events)