public void Teleport(UInt16 ZoneID, UInt32 WorldX, UInt32 WorldY, UInt16 WorldZ, UInt16 WorldO) { Log.Info("Player", "Teleport : " + ZoneID + "," + WorldX + "," + WorldY + "," + WorldZ); Zone_Info Info = WorldMgr.GetZone_Info(ZoneID); if (Info == null) { return; } // Change Region , so change thread and maps if (Zone == null || Zone.Info.Region != Info.Region) { RegionMgr NewRegion = WorldMgr.GetRegion(Info.Region, true); if (NewRegion != null) { ZoneMgr NewZone = NewRegion.GetZoneMgr(Info.ZoneId, true); Teleport(NewZone, WorldX, WorldY, WorldZ, WorldO); } } else // Teleport in current Zone { SafeWorldTeleport(WorldX, WorldY, WorldZ, WorldO); } }
public void Teleport(UInt16 ZoneID, UInt32 WorldX, UInt32 WorldY, UInt16 WorldZ, UInt16 WorldO) { Log.Info("Player", "Teleport : " + ZoneID + "," + WorldX + "," + WorldY + "," + WorldZ); // ADDED THIS TO GIVE ME INFO// also use this kind of thing for portal not open SendLocalizeString("ZoneID=" + ZoneID + "," + WorldX + "," + WorldY + "," + WorldZ + "," + WorldO, GameData.Localized_text.CHAT_TAG_DEFAULT); Zone_Info Info = WorldMgr.GetZone_Info(ZoneID); if (Info == null) { return; } // Change Region , so change thread and maps if (Zone == null || Zone.Info.Region != Info.Region) { RegionMgr NewRegion = WorldMgr.GetRegion(Info.Region, true); if (NewRegion != null) { ZoneMgr NewZone = NewRegion.GetZoneMgr(Info.ZoneId, true); Teleport(NewZone, WorldX, WorldY, WorldZ, WorldO); } } else // Teleport in current Zone { SafeWorldTeleport(WorldX, WorldY, WorldZ, WorldO); } }