Party invite done, as well as chat. Fixed double output of say packets. Note: Still need to implement name version of invite!!!

This commit is contained in:
Filip Maj 2017-01-02 14:35:11 -05:00
parent 5af1f6dba6
commit 5d494255ad
16 changed files with 231 additions and 23 deletions

View file

@ -0,0 +1,42 @@
using System;
using System.IO;
using System.Text;
namespace FFXIVClassic_World_Server.Packets.Receive.Subpackets
{
class ChatMessagePacket
{
public float posX;
public float posY;
public float posZ;
public float posRot;
public uint logType;
public string message;
public bool invalidPacket = false;
public ChatMessagePacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
binReader.ReadUInt64();
posX = binReader.ReadSingle();
posY = binReader.ReadSingle();
posZ = binReader.ReadSingle();
posRot = binReader.ReadSingle();
logType = binReader.ReadUInt32();
message = Encoding.ASCII.GetString(binReader.ReadBytes(0x200)).Trim(new [] { '\0' });
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.IO;
using System.Text;
namespace FFXIVClassic_World_Server.Packets.Receive.Subpackets
{
class PartyChatMessagePacket
{
public uint actorId;
public string message;
public bool invalidPacket = false;
public PartyChatMessagePacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
using (BinaryReader binReader = new BinaryReader(mem))
{
try{
actorId = binReader.ReadUInt32();
message = Encoding.ASCII.GetString(binReader.ReadBytes(0x200)).Trim(new [] { '\0' });
}
catch (Exception){
invalidPacket = true;
}
}
}
}
}
}

View file

@ -46,6 +46,7 @@ namespace FFXIVClassic_World_Server.Packets.Send.Subpackets.Groups
binWriter.Seek(0x64, SeekOrigin.Begin);
//Does this change chat????
binWriter.Write((UInt32)0x6D);
binWriter.Write((UInt32)0x6D);
binWriter.Write((UInt32)0x6D);

View file

@ -5,13 +5,14 @@ using System.Text;
namespace FFXIVClassic_World_Server.Packets.WorldPackets.Receive.Group
{
class PartyInviteResultPacket
class GroupInviteResultPacket
{
public bool invalidPacket = false;
public uint groupType;
public uint result;
public PartyInviteResultPacket(byte[] data)
public GroupInviteResultPacket(byte[] data)
{
using (MemoryStream mem = new MemoryStream(data))
{
@ -19,6 +20,7 @@ namespace FFXIVClassic_World_Server.Packets.WorldPackets.Receive.Group
{
try
{
groupType = binReader.ReadUInt32();
result = binReader.ReadUInt32();
}
catch (Exception)

View file

@ -23,7 +23,7 @@ namespace FFXIVClassic_World_Server.Packets.WorldPackets.Receive.Group
{
command = binReader.ReadUInt16();
if (command == 0)
if (command == 1)
actorId = binReader.ReadUInt32();
else
name = Encoding.ASCII.GetString(binReader.ReadBytes(0x20)).Trim(new[] { '\0' });