bot picket problem packet

03/28/2016 23:36 Trapezun#1
In comparison analysis

vsro gold parse


01 00 00 00 ................
2E 1D 00 00 ................
C8 55 01 00 .U..............
34 5C 4\..............
FC 3C 1E 44 97 C7 AF 44 3A 88 07 44 06 54 .<.D...D:..D.T..
01 ................
63 18 00 00 c...............
00 ................
05 ................
C7 55 01 00 .U..............


my old server gold parse drop


01 00 00 00 ................
55 00 00 00 U...............
4D 47 01 00 MG..............
A8 60 .`..............
14 4A 31 43 E9 2C 27 C2 74 6A 28 44 08 CA .J1C.,'.tj(D....
01 ................
0D 00 00 00 ................
00 ................
05 ................
4C 47 01 00 LG..............


my source item gold vs parse source

packet.data.ReadDWORD(); // Ammount

}
if (type.StartsWith("ITEM_QSP"))
{
packet.data.ReadSTRING(enumStringType.ASCII); // Name
}
if (type.StartsWith("ITEM_CH") || type.StartsWith("ITEM_EU"))
{
packet.data.ReadBYTE(); // Plus
}
uint id = packet.data.ReadDWORD(); // ID
packet.data.ReadBYTE(); //XSEC
packet.data.ReadBYTE(); //YSEC
packet.data.ReadSINGLE(); //X
packet.data.ReadSINGLE(); //Z
packet.data.ReadSINGLE(); //Y
packet.data.ReadWORD(); //POS
byte owner = packet.data.ReadBYTE();
if (owner == 1) // Owner exist
{
if (packet.data.ReadDWORD() == Character.AccountID) // Owner ID
------------------------------------------------------------------------------------------------------------------
It does not in any way collection and then

I noticed that

if (packet.data.ReadDWORD() == Character.AccountID) // Owner ID

char data source

Character.ID = packet.data.ReadDWORD();
byte xsec = packet.data.ReadBYTE();
byte ysec = packet.data.ReadBYTE();
float xcoord = packet.data.ReadSINGLE();
float zcoord = packet.data.ReadSINGLE();
float ycoord = packet.data.ReadSINGLE();
if (ysec == 0x80)
{
cave.char_incave = true;
cave.xsector = xsec;
cave.zcoord = zcoord;
cave.xcoord = xcoord;
}
else
{
cave.char_incave = false;
}
Character.X = Action.CalculatePositionX(xsec, xcoord);
Character.Y = Action.CalculatePositionY(ysec, ycoord);
Character.GZ = packet.data.ReadWORD(); // Position
if (packet.data.ReadBYTE() == 0x01)
packet.data.ReadBYTE(); //walk flag
packet.data.ReadBYTE(); //DeathFlag
packet.data.ReadBYTE(); //Movement Flag
packet.data.ReadWORD();
packet.data.ReadWORD();
packet.data.ReadWORD();
Character.speed = packet.data.ReadSINGLE(); //Running Speed
packet.data.ReadDWORD(); //Berserker Speed
packet.data.ReadDWORD(); //Berserker Speed
Character.PlayerName = packet.data.ReadSTRING(enumStringType.ASCII);
packet.data.ReadSTRING(enumStringType.ASCII); // ALIAS
packet.data.ReadBYTE(); // Job Level
packet.data.ReadBYTE(); // Job Type
packet.data.ReadDWORD(); // Trader Exp
packet.data.ReadDWORD(); // Thief Exp
packet.data.ReadDWORD(); // Hunter Exp
packet.data.ReadBYTE(); // Trader LV
packet.data.ReadBYTE(); // Thief LV
packet.data.ReadBYTE(); // Hunter LV
packet.data.ReadBYTE(); // PK Flag
-----------) AccountID = packet.data.ReadDWORD(); // Account ID

place until the part marked

where is the problem chardata ? or Parseİtems Problem ?

thx