mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace FFXIVClassic_Lobby_Server.packets.receive
|
|
{
|
|
class CharacterModifyPacket
|
|
{
|
|
public UInt64 sequence;
|
|
public uint characterId;
|
|
public uint personType;
|
|
public byte slot;
|
|
public byte command;
|
|
public ushort worldId;
|
|
public String characterName;
|
|
public String characterInfoEncoded;
|
|
|
|
public bool invalidPacket = false;
|
|
|
|
public CharacterModifyPacket(byte[] data)
|
|
{
|
|
using (MemoryStream mem = new MemoryStream(data))
|
|
{
|
|
using (BinaryReader binReader = new BinaryReader(mem))
|
|
{
|
|
try
|
|
{
|
|
sequence = binReader.ReadUInt64();
|
|
characterId = binReader.ReadUInt32();
|
|
personType = binReader.ReadUInt32();
|
|
slot = binReader.ReadByte();
|
|
command = binReader.ReadByte();
|
|
worldId = binReader.ReadUInt16();
|
|
|
|
characterName = Encoding.ASCII.GetString(binReader.ReadBytes(0x20)).Trim(new[] { '\0' });
|
|
characterInfoEncoded = Encoding.ASCII.GetString(binReader.ReadBytes(0x190)).Trim(new[] { '\0' });
|
|
}
|
|
catch (Exception){
|
|
invalidPacket = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|