If a player tries to zone to a offline server they will see a standard error message. Also a reconnection attempt will be made on a disconnected server.

This commit is contained in:
Filip Maj 2016-12-03 14:00:24 -05:00
parent 260878df38
commit 4ce4647a75
9 changed files with 112 additions and 24 deletions

View file

@ -360,14 +360,7 @@ namespace FFXIVClassic_Map_Server
//Moves actor to new zone, and sends packets to spawn at the given coords.
public void DoZoneChange(Player player, uint destinationZoneId, string destinationPrivateArea, byte spawnType, float spawnX, float spawnY, float spawnZ, float spawnRotation)
{
Area oldZone = player.zone;
//Remove player from currentZone if transfer else it's login
if (player.zone != null)
{
oldZone.RemoveActorFromZone(player);
}
{
//Add player to new zone and update
Area newArea;
@ -379,16 +372,18 @@ namespace FFXIVClassic_Map_Server
//This server does not contain that zoneId
if (newArea == null)
{
if (oldZone != null)
{
oldZone.AddActorToZone(player);
}
Program.Log.Debug("Request to change to zone not on this server by: {0}.", player.customDisplayName);
RequestWorldServerZoneChange(player, destinationZoneId, spawnType, spawnX, spawnY, spawnZ, spawnRotation);
return;
}
Area oldZone = player.zone;
//Remove player from currentZone if transfer else it's login
if (player.zone != null)
{
oldZone.RemoveActorFromZone(player);
}
newArea.AddActorToZone(player);
//Update player actor's properties