rendered paste bodypackage net.sf.l2j.gameserver.clientpackets;import java.nio.ByteBuffer;import net.sf.l2j.gameserver.ClientThread;import net.sf.l2j.gameserver.ItemTable;import net.sf.l2j.gameserver.model.L2ItemInstance;import net.sf.l2j.gameserver.model.L2Multisell;import net.sf.l2j.gameserver.model.PcInventory;import net.sf.l2j.gameserver.model.L2Multisell.MultiSellEntry;import net.sf.l2j.gameserver.model.L2Multisell.MultiSellIngredient;import net.sf.l2j.gameserver.model.L2Multisell.MultiSellListContainer;import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;public class MultiSellChoose extends ClientBasePacket{ private static final String _C__A7_MULTISELLCHOOSE = "[C] A7 MultiSellChoose"; //private static Logger _log = Logger.getLogger(MultiSellChoose.class.getName()); private int _listId; private int _entryId; private int _amount; public MultiSellChoose(ByteBuffer buf, ClientThread client) { super(buf,client); _listId = readD(); _entryId = readD(); _amount = readD(); } public void runImpl() { if(_amount < 1) return; MultiSellListContainer list = L2Multisell.getInstance().getList(_listId); L2PcInstance player = getClient().getActiveChar(); for(MultiSellEntry entry : list.getEntries()) { if(entry.getEntryId() == _entryId) { doExchange(player,entry); return; } } } private void doExchange(L2PcInstance player, MultiSellEntry entry) { PcInventory inv = player.getInventory(); for(MultiSellIngredient e : entry.getIngredients()) { L2ItemInstance item = inv.getItemByItemId(e.getItemId()); if(item == null || item.getCount() < e.getItemCount() || item.getEnchantLevel() < e.getItemEnchant()) { //TODO: send message "dont have enought items" return; } } /** All ok, remove items and add final product */ for(MultiSellIngredient e : entry.getIngredients()) { inv.destroyItemByItemId(e.getItemId(),e.getItemCount()); } L2ItemInstance product = ItemTable.getInstance().createItem(entry.getProductId()); product.setCount(entry.getProductCount()); product.setEnchantLevel(entry.getProductEnchant()); inv.addItem(product); } public String getType() { return _C__A7_MULTISELLCHOOSE; }}