I tried to use client 5018 as base , every thing works well
else Name , it's doesn't show with any of shit :D
It's my code
[Only registered and activated users can see links. Click Here To Register...]
else Name , it's doesn't show with any of shit :D
It's my code
[Only registered and activated users can see links. Click Here To Register...]
Code:
public static implicit operator byte[](HeroInformationPacket packet)
{
var buffer = new byte[70 + packet.Strings.Length];
fixed (byte* ptr = buffer)
{
PacketBuilder.AppendHeader(ptr, buffer.Length, Constants.MSG_HERO_INFORMATION);
*((ushort*)(ptr + 2)) = 0x3EE;
*((uint*)(ptr + 4)) = packet.Id;
*((uint*)(ptr + 8)) = packet.Lookface;
*((ushort*)(ptr + 12)) = packet.Hair;
*((uint*)(ptr + 14)) = packet.Money;
*((uint*)(ptr + 18)) = packet.CP;
*((ulong*)(ptr + 22)) = packet.Experience;
//30-46 unknown
//46 ushort a0 40
//48 ushort dd 00
*((ushort*)(ptr + 46)) = packet.Strength;
*((ushort*)(ptr + 48)) = packet.Agility;
*((ushort*)(ptr + 50)) = packet.Vitality;
*((ushort*)(ptr + 52)) = packet.Spirit;
*((ushort*)(ptr + 54)) = packet.Stats;
*((ushort*)(ptr + 56)) = packet.Life;
*((ushort*)(ptr + 58)) = packet.Mana;
*((short*)(ptr + 60)) = packet.PKPoints;
//*((byte*)(ptr + 62)) = packet.Level;
//*((byte*)(ptr + 53)) = packet.Class;
//*((byte*)(ptr + 65)) = packet.Reborn;
*((byte*)(ptr + 68)) = packet.ShowName;
ptr[62] = packet.Level;
ptr[63] = packet.Class;
ptr[65] = packet.Reborn;
//ptr[68] = packet.ShowName;
PacketBuilder.AppendNetStringPacker(ptr + 69, packet.Strings);
}
return buffer;
}