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

@ -1,5 +1,6 @@
using FFXIVClassic.Common;
using FFXIVClassic_World_Server.DataObjects;
using FFXIVClassic_World_Server.Packets.WorldPackets.Send;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
@ -167,7 +168,13 @@ namespace FFXIVClassic_World_Server
//Moves actor to new zone, and sends packets to spawn at the given coords.
public void DoZoneServerChange(Session session, uint destinationZoneId, string destinationPrivateArea, byte spawnType, float spawnX, float spawnY, float spawnZ, float spawnRotation)
{
session.routing1.SendSessionEnd(session, destinationZoneId, destinationPrivateArea, spawnType, spawnX, spawnY, spawnZ, spawnRotation);
ZoneServer zs = GetZoneServer(destinationZoneId);
if (zs.isConnected)
session.routing1.SendSessionEnd(session, destinationZoneId, destinationPrivateArea, spawnType, spawnX, spawnY, spawnZ, spawnRotation);
else if (zs.Connect())
session.routing1.SendSessionEnd(session, destinationZoneId, destinationPrivateArea, spawnType, spawnX, spawnY, spawnZ, spawnRotation);
else
session.routing1.SendPacket(ErrorPacket.BuildPacket(session, 1));
}
//Login Zone In