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






