mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-08-05 17:18:07 +02:00
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:
parent
5af1f6dba6
commit
5d494255ad
16 changed files with 231 additions and 23 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
|
@ -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' });
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue