diff --git a/FFXIVClassic Map Server/actors/chara/player/Player.cs b/FFXIVClassic Map Server/actors/chara/player/Player.cs index 6cd22cfc..9ef1b188 100644 --- a/FFXIVClassic Map Server/actors/chara/player/Player.cs +++ b/FFXIVClassic Map Server/actors/chara/player/Player.cs @@ -314,20 +314,7 @@ namespace FFXIVClassic_Map_Server.Actors subpackets.Add(SetAchievementPointsPacket.buildPacket(playerActorId, achievementPoints)); subpackets.Add(Database.getLatestAchievements(this)); - subpackets.Add(Database.getAchievementsPacket(this)); - - /* - if (isInn) - { - SetCutsceneBookPacket book = new SetCutsceneBookPacket(); - for (int i = 0; i < book.cutsceneFlags.Length; i++) - book.cutsceneFlags[i] = true; - client.queuePacket(book.buildPacket(player.actorID), true, false); - - // - //subpackets.Add(SetPlayerDreamPacket.buildPacket(playerActorId, ); - } - */ + subpackets.Add(Database.getAchievementsPacket(this)); } return subpackets; @@ -547,10 +534,10 @@ namespace FFXIVClassic_Map_Server.Actors if (zone.isInn) { SetCutsceneBookPacket cutsceneBookPacket = new SetCutsceneBookPacket(); - for (int i = 64; i < 1200; i++) + for (int i = 0; i < 2048; i++) cutsceneBookPacket.cutsceneFlags[i] = true; - SubPacket packet = cutsceneBookPacket.buildPacket(actorId, "Test PathCompanion", 11, 1, 1); + SubPacket packet = cutsceneBookPacket.buildPacket(actorId, "", 11, 1, 1); packet.debugPrintSubPacket(); queuePacket(packet); diff --git a/FFXIVClassic Map Server/packets/send/player/SetCutsceneBookPacket.cs b/FFXIVClassic Map Server/packets/send/player/SetCutsceneBookPacket.cs index 26afad7c..177cc2c3 100644 --- a/FFXIVClassic Map Server/packets/send/player/SetCutsceneBookPacket.cs +++ b/FFXIVClassic Map Server/packets/send/player/SetCutsceneBookPacket.cs @@ -62,7 +62,7 @@ namespace FFXIVClassic_Map_Server.packets.send.player public const ushort OPCODE = 0x01A3; public const uint PACKET_SIZE = 0x150; - public bool[] cutsceneFlags = new bool[2432]; + public bool[] cutsceneFlags = new bool[2048]; public SubPacket buildPacket(uint playerActorID, string sNpcName, short sNpcActorIdOffset, byte sNpcSkin, byte sNpcPersonality) { @@ -73,11 +73,7 @@ namespace FFXIVClassic_Map_Server.packets.send.player using (BinaryWriter binWriter = new BinaryWriter(mem)) { byte[] binStream = Utils.ConvertBoolArrayToBinaryStream(cutsceneFlags); - if (binStream.Length <= PACKET_SIZE - 0x20) - binWriter.Write(binStream); - else - Log.error("Failed making SetCutsceneBook packet. Bin Stream was too big!"); - + //Temp Path Companion SNPC Stuff binWriter.Seek(0x01 ,SeekOrigin.Begin); binWriter.Write((Int16)2); @@ -86,8 +82,14 @@ namespace FFXIVClassic_Map_Server.packets.send.player binWriter.Write((Byte)sNpcSkin); binWriter.Write((Byte)sNpcPersonality); + if (binStream.Length <= PACKET_SIZE - 0x20) + binWriter.Write(binStream); + else + Log.error("Failed making SetCutsceneBook packet. Bin Stream was too big!"); + binWriter.Seek(0x109, SeekOrigin.Begin); binWriter.Write(Encoding.ASCII.GetBytes(sNpcName), 0, Encoding.ASCII.GetByteCount(sNpcName) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(sNpcName)); + } }