So I'm trying to update hellmouth to 5509, however I am having some problems. When I attempt to login, it gets stuck at "logging into game server". I assume something is wrong with char info packet.
Can someone take a look and see if they see anything wrong?
Thanks
Can someone take a look and see if they see anything wrong?
Code:
public static byte[] SpawnChar(Client C)
{
int Len = 8 + 114+ C.Name.Length + C.Spouse.Length;
int Offset = 0;
byte[] Packet = new byte[Len];
try
{
WriteUInt16(Convert.ToUInt16(Len - 8), 0, Packet);
WriteUInt16(1006, 2, Packet);
WriteUInt32(C.UID, 4, Packet);
WriteUInt32(C.Mesh, 10, Packet);
WriteUInt16(C.Hair, 14, Packet);
WriteUInt32(C.Money, 16, Packet);
WriteUInt32(C.CP, 20, Packet);
WriteUInt64(C.Exp, 24, Packet);
WriteUInt16(C.Str, 52, Packet);
WriteUInt16(C.Agi, 54, Packet);
WriteUInt16(C.Vit, 56, Packet);
WriteUInt16(C.Spi, 58, Packet);
WriteUInt16(C.Stats, 60, Packet);
WriteUInt16(C.Hp, 62, Packet);
WriteUInt16(C.Mana, 64, Packet);
WriteUInt16(C.Pk, 66, Packet);
WriteByte(C.Level, 68, Packet);
WriteByte(C.Job, 69, Packet);//job
WriteByte(0, 70, Packet);//reb
WriteByte(1, 71, Packet);//show name
WriteUInt32(1, 72, Packet);//quiz
//WriteUInt32(11, 74, Packet);//enlighten
//WriteUInt16(6, 78, Packet);
//WriteUInt32(8040, 80, Packet);
WriteByte(3, 110, Packet);
WriteByte((byte)C.Name.Length, 111, Packet);
//WriteString(C.Name, 110, Packet);
Offset += C.Name.Length;
WriteByte(0, 112 + Offset, Packet);
WriteByte((byte)C.Spouse.Length, 113 + Offset, Packet);
WriteString(C.Spouse, 114 + Offset, Packet);
}
catch (Exception P)
{ Console.WriteLine(P); }
return Packet;
}