Server: Len 2765 [BuyList] | CD 0A 07 C7 55 35 00 // money 3495367 90 00 00 00 // list ID 144 2B 00 // items count 43 04 00 // item type 1 0-weapon/ring/earring/necklace 1-armor/shield 4-item/questitem/adena 00 00 00 00 // objectID 2B 07 00 00 // itemID 1835 Soulshot no grade 00 00 00 00 // current count 05 00 // item type2 0-weapon 1-shield/armor 2-ring/earring/necklace 3-questitem 4-adena 5-item 00 00 // ?? 00 00 00 00 // bodypart (for armor) 00 00 // enchant level 00 00 00 00 // ?? 07 00 00 00 // price (=7) FE FF FF FF // atk attribute type (-2) \\ 00 00 00 00 // atk attribute value \\ 00 00 00 00 // fire def \\ 00 00 00 00 // water def || element attributes 00 00 00 00 // wind def || 00 00 00 00 // earth def // 00 00 00 00 // holy def // 00 00 00 00 // unholy def // protected final void writeImpl() { writeC(0x07); writeD(_money); // current money writeD(_listId); writeH(_list.size()); for (L2TradeItem item : _list) { if (item.getCurrentCount() > 0 || !item.hasLimitedStock()) { writeH(item.getTemplate().getType1()); // item type1 writeD(0x00); //objectId writeD(item.getItemId()); writeD(item.getCurrentCount() <0 ? 0 : item.getCurrentCount()); writeH(item.getTemplate().getType2()); // item type2 writeH(0x00); // ? if (item.getTemplate().getType1() != L2Item.TYPE1_ITEM_QUESTITEM_ADENA) { writeD(item.getTemplate().getBodyPart()); writeH(0x00); // item enchant level writeH(0x00); // ? writeH(0x00); } else { writeD(0x00); writeH(0x00); writeH(0x00); writeH(0x00); } if (item.getItemId() >= 3960 && item.getItemId() <= 4026)//Config.RATE_SIEGE_GUARDS_PRICE-//' writeD((int)(item.getPrice() * Config.RATE_SIEGE_GUARDS_PRICE * (1 + _taxRate))); else writeD((int)(item.getPrice() * (1 + _taxRate))); // T1 for (byte i = 0; i < 8; i++) { writeD(0x00); } } } }