diff --git a/FFXIVClassic Map Server/Server.cs b/FFXIVClassic Map Server/Server.cs index edcee854..c87f47a1 100644 --- a/FFXIVClassic Map Server/Server.cs +++ b/FFXIVClassic Map Server/Server.cs @@ -658,10 +658,10 @@ namespace FFXIVClassic_Lobby_Server } } else if (split[0].Equals("resetzone")) - { - Log.info(String.Format("Got request to reset zone: {0}", client.getActor().zoneId)); + { if (client != null) { + Log.info(String.Format("Got request to reset zone: {0}", client.getActor().zoneId)); client.getActor().zone.clear(); client.getActor().zone.addActorToZone(client.getActor()); client.getActor().sendInstanceUpdate(); diff --git a/FFXIVClassic Map Server/actors/Actor.cs b/FFXIVClassic Map Server/actors/Actor.cs index 4b9fea09..ac5fc8a0 100644 --- a/FFXIVClassic Map Server/actors/Actor.cs +++ b/FFXIVClassic Map Server/actors/Actor.cs @@ -67,8 +67,8 @@ namespace FFXIVClassic_Map_Server.Actors } public SubPacket createNamePacket(uint playerActorId) - { - return SetActorNamePacket.buildPacket(actorId, playerActorId, displayNameId, displayNameId == 0xFFFFFFFF ? customDisplayName : ""); + { + return SetActorNamePacket.buildPacket(actorId, playerActorId, displayNameId, displayNameId == 0xFFFFFFFF | displayNameId == 0x0 ? customDisplayName : ""); } public SubPacket createSpeedPacket(uint playerActorId) diff --git a/FFXIVClassic Map Server/actors/chara/player/Player.cs b/FFXIVClassic Map Server/actors/chara/player/Player.cs index 8f137ac6..611209ae 100644 --- a/FFXIVClassic Map Server/actors/chara/player/Player.cs +++ b/FFXIVClassic Map Server/actors/chara/player/Player.cs @@ -534,7 +534,10 @@ namespace FFXIVClassic_Map_Server.Actors if (directorSpawn != null) { directorSpawn.debugPrintPacket(); + currentDirector.getInitPackets(actorId).debugPrintPacket(); queuePacket(directorSpawn); + queuePacket(currentDirector.getInitPackets(actorId)); + //queuePacket(currentDirector.getSetEventStatusPackets(actorId)); } playerSession.queuePacket(worldMasterSpawn); @@ -555,10 +558,11 @@ namespace FFXIVClassic_Map_Server.Actors BasePacket reply11 = new BasePacket("./packets/login/login11.bin"); //NPC Create ??? Final init reply10.replaceActorID(actorId); reply11.replaceActorID(actorId); - playerSession.queuePacket(reply10); - playerSession.queuePacket(reply11); + //playerSession.queuePacket(reply10); + // playerSession.queuePacket(reply11); #endregion - + + kickEvent(currentDirector, "noticeEvent", "noticeEvent"); } private void sendRemoveInventoryPackets(List slots) diff --git a/FFXIVClassic Map Server/actors/director/OpeningDirector.cs b/FFXIVClassic Map Server/actors/director/OpeningDirector.cs index c1fa0592..6c45066b 100644 --- a/FFXIVClassic Map Server/actors/director/OpeningDirector.cs +++ b/FFXIVClassic Map Server/actors/director/OpeningDirector.cs @@ -14,9 +14,9 @@ namespace FFXIVClassic_Map_Server.actors.director public OpeningDirector(uint id) : base(id) { this.displayNameId = 0; - this.customDisplayName = "openingDire_ocn0Btl02_0h"; + this.customDisplayName = "openingDire"; - this.actorName = "openingDire_ocn0Btl02_0h@0C100"; + this.actorName = "openingDire"; this.className = "OpeningDirector"; this.eventConditions = new EventList(); diff --git a/FFXIVClassic Map Server/packets/send/Actor/ActorInstantiatePacket.cs b/FFXIVClassic Map Server/packets/send/Actor/ActorInstantiatePacket.cs index 4b0a0d29..f79e5f70 100644 --- a/FFXIVClassic Map Server/packets/send/Actor/ActorInstantiatePacket.cs +++ b/FFXIVClassic Map Server/packets/send/Actor/ActorInstantiatePacket.cs @@ -22,8 +22,8 @@ namespace FFXIVClassic_Map_Server.packets.send.actor { using (BinaryWriter binWriter = new BinaryWriter(mem)) { - int value1 = 0x02; //Instance ID? - int value2 = 0x2bc0; + int value1 = 0x00; //Instance ID? + int value2 = 0x3040; binWriter.Write((Int16)value1); binWriter.Write((Int16)value2); binWriter.Write(Encoding.ASCII.GetBytes(objectName), 0, Encoding.ASCII.GetByteCount(objectName) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(objectName)); diff --git a/FFXIVClassic Map Server/packets/send/Actor/SetActorNamePacket.cs b/FFXIVClassic Map Server/packets/send/Actor/SetActorNamePacket.cs index a26a4dd3..c41005ef 100644 --- a/FFXIVClassic Map Server/packets/send/Actor/SetActorNamePacket.cs +++ b/FFXIVClassic Map Server/packets/send/Actor/SetActorNamePacket.cs @@ -23,7 +23,7 @@ namespace FFXIVClassic_Map_Server.packets.send.actor { binWriter.Write((UInt32)displayNameID); - if (displayNameID == 0 || displayNameID == 0xFFFFFFFF) + if (customName != null && (displayNameID == 0 || displayNameID == 0xFFFFFFFF)) { binWriter.Write(Encoding.ASCII.GetBytes(customName), 0, Encoding.ASCII.GetByteCount(customName) >= 0x20 ? 0x19 : Encoding.ASCII.GetByteCount(customName)); } diff --git a/FFXIVClassic Map Server/packets/send/events/KickEventPacket.cs b/FFXIVClassic Map Server/packets/send/events/KickEventPacket.cs index 741c8e2e..3bbef23b 100644 --- a/FFXIVClassic Map Server/packets/send/events/KickEventPacket.cs +++ b/FFXIVClassic Map Server/packets/send/events/KickEventPacket.cs @@ -25,13 +25,9 @@ namespace FFXIVClassic_Map_Server.packets.send.events binWriter.Write((UInt32)playerActorId); binWriter.Write((UInt32)targetActorId); binWriter.Write((Byte)0x5); - binWriter.Write((UInt32)0x0175DC87); - binWriter.Write((Byte)0x0); - binWriter.Write((Byte)0x0); - binWriter.Write((Byte)0x3c); binWriter.Write(Encoding.ASCII.GetBytes(conditionName), 0, Encoding.ASCII.GetByteCount(conditionName) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(conditionName)); - binWriter.Seek(0x30, SeekOrigin.Begin); + binWriter.Seek(0x29, SeekOrigin.Begin); LuaUtils.writeLuaParams(binWriter, luaParams); }