I just will update this Post from Time to Time..
0x09
0x05
0x07
0x09
Code:
uint16_t SizeOfPacket = *reinterpret_cast<uint16_t*>(&Packet[0]);
uint8_t PacketHeaderx = *reinterpret_cast<uint8_t*>(&Packet[2]);
uint32_t ItemUniqueID = *reinterpret_cast<uint32_t*>(&Packet[3]);
uint32_t NewItemAmount = *reinterpret_cast<uint32_t*>(&Packet[7]);
uint8_t TypeOfUse = *reinterpret_cast<uint8_t*>(&Packet[11]);
printf("Size[%d] PacketHeader[0x0%x] ItemUniqueID[%d]\nNewItemAmount[%d] TypeOfUse[%d]\n",
SizeOfPacket,
PacketHeaderx,
ItemUniqueID,
NewItemAmount,
TypeOfUse);
/*
TypeOfUse 9 = Item wird im Inventar verbraucht
TypeOfUse 11 = Item wird subtrahiertt vom Vorhandene Item
TypeOfUse 12 = Item wird addiert zum Vorhandenen Item
TypeOfUse 21 = Item wird auf ein anderes gezogen Poli -> Waffe etc.
*/
Code:
uint16_t SizeOfPacket = *reinterpret_cast<uint16_t*>(&Packet[0]);
uint8_t PacketHeaderx = *reinterpret_cast<uint8_t*>(&Packet[2]);
uint32_t PlayerUniqueID = *reinterpret_cast<uint32_t*>(&Packet[3]);
uint32_t ItemUniqueID = *reinterpret_cast<uint32_t*>(&Packet[7]);
uint16_t ItemIndex = *reinterpret_cast<uint16_t*>(&Packet[11]);
printf("Size[%d] PacketHeader[0x0%x] PlayerUniqueID[%d]\nItemUniqueID[%d] ItemIndex[%d]\n",
SizeOfPacket,
PacketHeaderx,
PlayerUniqueID,
ItemUniqueID,
ItemIndex);
Code:
uint16_t SizeOfPacket = *reinterpret_cast<uint16_t*>(&Packet[0]);
uint8_t PacketHeaderx = *reinterpret_cast<uint8_t*>(&Packet[2]);
if(SizeOfPacket <= 18)
{
uint32_t ItemUniqueID = *reinterpret_cast<uint32_t*>(&Packet[3]);
uint16_t ItemIndex = *reinterpret_cast<uint16_t*>(&Packet[7]);
uint8_t Talisman = *reinterpret_cast<uint8_t*>(&Packet[9]);
uint32_t ItemInfo = *reinterpret_cast<uint32_t*>(&Packet[10]);
uint32_t ItemAmount = *reinterpret_cast<uint32_t*>(&Packet[14]);
printf("SizeOfPacket[%d] PacketHeader[0x0%x] ItemUniqueID[%d]\nItemIndex[%d] Talisman[%d] ItemInfo[%d] ItemAmount[%d]\n",
SizeOfPacket,PacketHeaderx,ItemUniqueID,ItemIndex,
Talisman,ItemInfo,ItemAmount);
}
else
{
uint32_t ItemUniqueID = *reinterpret_cast<uint32_t*>(&Packet[3]);
uint16_t ItemIndex = *reinterpret_cast<uint16_t*>(&Packet[7]);
uint8_t Talisman = *reinterpret_cast<uint8_t*>(&Packet[9]);
uint32_t ItemInfo = *reinterpret_cast<uint32_t*>(&Packet[10]);
uint32_t ItemAmount = *reinterpret_cast<uint32_t*>(&Packet[14]);
uint8_t ItemMinEndurance = *reinterpret_cast<uint8_t*>(&Packet[18]);
uint8_t ItemMaxEndurance = *reinterpret_cast<uint8_t*>(&Packet[19]);
uint8_t ItemSetGem = *reinterpret_cast<uint8_t*>(&Packet[20]);
uint8_t ItemXAttack = *reinterpret_cast<uint8_t*>(&Packet[21]);
uint8_t ItemXMagic = *reinterpret_cast<uint8_t*>(&Packet[22]);
uint8_t ItemXDefense = *reinterpret_cast<uint8_t*>(&Packet[23]);
uint8_t ItemXHit = *reinterpret_cast<uint8_t*>(&Packet[24]);
uint8_t ItemXDodge = *reinterpret_cast<uint8_t*>(&Packet[25]);
uint8_t ItemProtect = *reinterpret_cast<uint8_t*>(&Packet[26]);
uint8_t ItemUpgrLevel = *reinterpret_cast<uint8_t*>(&Packet[27]);
uint8_t ItemUpgrRate = *reinterpret_cast<uint8_t*>(&Packet[28]);
printf("SizeOfPacket[%d] PacketHeader[0x0%x] ItemUniqueID[%d]\nItemIndex[%d] Talisman[%d] ItemInfo[%d] ItemAmount[%d]\nItemStats:\n"
"ItemMin/MaxEndurance[%d/%d] Gem[%d] Attack[%d] Magic[%d] Defense[%d] Hit[%d]\nDodge[%d] Protect[%d] UpgrLevel[%d] UpgrRate[%d]\n",
SizeOfPacket,PacketHeaderx,ItemUniqueID,ItemIndex,
Talisman,ItemInfo,ItemAmount,ItemMinEndurance,ItemMaxEndurance,ItemSetGem,ItemXAttack,ItemXMagic,ItemXDefense,ItemXHit,ItemXDodge,ItemProtect,
ItemUpgrLevel,ItemUpgrRate);
}