TonsFun Написал:L2j информация об инвентаре 603 протокол
Код:protected void writeItem(ItemInfo item)
{
int check_Augmentation = 0;
check_ElementType = 0;
check_EnchantOption = 0;
if (item.getAugmentationBonus() > 0)
{
check_Augmentation = 1;
}
if (item.getAttackElementPower() > 0)
{
check_ElementType = 2;
}
else
{
for (byte i = 0; i < 6; i++)
{
if (item.getElementDefAttr(i) > 0)
{
check_ElementType = 2;
}
}
}
for (int op : item.getEnchantOptions())
{
if (op > 0)
{
check_EnchantOption = 4;
}
}
writeC(check_Augmentation + check_ElementType + check_EnchantOption + 0);
writeD(item.getObjectId()); // ObjectId
writeD(item.getItem().getDisplayId()); // ItemId
writeC(item.getLocation()); // 603
writeQ(item.getCount()); // Quantity
writeC(item.getItem().getType2()); // 603 // Item Type 2 : 00-weapon, 01-shield/armor, 02-ring/earring/necklace, 03-questitem, 04-adena, 05-item
writeC(item.getCustomType1()); // 603 Filler (always 0)
writeH(item.getEquipped()); // Equipped : 00-No, 01-yes
writeQ(item.getItem().getBodyPart()); // 603 // Slot : 0006-lr.ear, 0008-neck, 0030-lr.finger, 0040-head, 0100-l.hand, 0200-gloves, 0400-chest, 0800-pants, 1000-feet, 4000-r.hand, 8000-r.hand
writeC(item.getEnchant()); // 603 // Enchant level (pet level shown in control item)
writeC(item.getCustomType2()); // 603 // Pet name exists or not shown in control item
writeD(item.getMana());
writeD(item.getTime());
writeC(0x01); // 603
if (check_Augmentation > 0) // 603
{
writeD(item.getAugmentationBonus());
}
writeItemElementalAndEnchant(item);
}
protected void writeItemElementalAndEnchant(ItemInfo item)
{
if (check_ElementType > 0) // 603
{
writeH(item.getAttackElementType());
writeH(item.getAttackElementPower());
for (byte i = 0; i < 6; i++)
{
writeH(item.getElementDefAttr(i));
}
}
if (check_EnchantOption > 0) // 603
{
for (int op : item.getEnchantOptions())
{
writeH(op);
}
}
}
protected void writeInventoryBlock(PcInventory inventory)
{
if (inventory.hasInventoryBlock())
{
writeH(inventory.getBlockItems().length);
writeC(inventory.getBlockMode());
for (int i : inventory.getBlockItems())
{
writeD(i);
}
}
else
{
writeH(0x00);
}
}
Я разве не выкладывал? Темболее у меня полностью и правильно разобранный.
Добавлено через 1 минуту
Тут можно немного интересного найти...
http://svn.l2jfree.com/l2jtw_server/L2JT...r_Ertheia/
http://svn.l2jfree.com/l2jtw_dp/L2JTW_DataPack_Ertheia/