I haven't asked a question in a while. I am trying to convert the CharacterInfo packet to work on a 4267. I attempted to convert but I am still failing! So if anyone can help, it will be well appreciated thank you. Here is my attempt below.
Code:
public static byte[] CharacterInfo(GameClient Client)
{
byte[] Packet = new byte[((66 + Client.Spouse.Length) + Client.Entity.Name.Length)];
WriteUInt16((ushort)Packet.Length, Packet, 0);
WriteUInt16(1006, Packet, 2);
WriteUInt32(Client.Entity.UID, Packet, 4);
WriteUInt32(Client.Entity.Model, Packet, 8);
WriteUInt16(Client.Entity.HairStyle, Packet, 12);
WriteUInt32((uint)Client.Money, Packet, 14);
WriteUInt64(Client.Experience, Packet, 16);
WriteUInt16(Client.Strength, Packet, 20);
WriteUInt16(Client.Agility, Packet, 28);
WriteUInt16(Client.Vitality, Packet, 32);
WriteUInt16(Client.Spirit, Packet, 36);
WriteUInt16(Client.StatPoints, Packet, 40);
WriteUInt16((ushort)Client.Entity.Hitpoints, Packet, 42);
WriteUInt16(Client.Mana, Packet, 44);
WriteUInt16(Client.PKPoints, Packet, 46);
Packet[48] = Client.Entity.Level;
Packet[50] = Client.Job;
Packet[52] = (byte)Client.Entity.Reborn;
Packet[54] = 1;
Packet[56] = 2;
WriteStringWithLength(Client.Entity.Name, Packet, 57);
WriteStringWithLength(Client.Spouse, Packet, (ushort)(58 + Packet[59]));
return Packet;
}