public void ShowList(L2Player player, L2Npc npc, int listId) { if (!Lists.ContainsKey(listId)) { player.SendMessage($"Multsell list #{listId} was not found"); player.SendActionFailed(); return; } MultiSellList list = Lists[listId]; player.LastRequestedMultiSellId = listId; if (list.All == 1) { player.SendPacket(new MultiSellListEx(list)); player.CustomMultiSellList = null; } else { MultiSellList newlist = new MultiSellList { Id = list.Id }; L2Item[] pitems = player.GetAllItems().ToArray(); foreach (MultiSellEntry entry in list.Container) { MultiSellItem msitem = entry.Take[0]; if (msitem.Template == null) { continue; } foreach (L2Item item in pitems) { if (item.IsEquipped == 1) { continue; } if (item.Template.ItemId != msitem.Id) { continue; } MultiSellEntry edentry = new MultiSellEntry(); edentry.Take.AddRange(entry.Take); edentry.Give.AddRange(entry.Give); edentry.Take[0].L2Item = item; edentry.Give[0].L2Item = item; newlist.Container.Add(edentry); } } MultiSellListEx mlist = new MultiSellListEx(newlist); player.CustomMultiSellList = newlist; player.SendPacket(mlist); } }
public void showList(L2Player player, L2Citizen npc, int listId) { if (!lists.ContainsKey(listId)) { player.sendMessage("Multsell list #" + listId + " was not found"); player.sendActionFailed(); return; } MultiSellList list = lists[listId]; player.LastRequestedMultiSellId = listId; if (list.all == 1) { player.sendPacket(new MultiSellListEx(player, list)); if (player.CustomMultiSellList != null) { player.CustomMultiSellList = null; } } else { MultiSellList newlist = new MultiSellList(); newlist.id = list.id; L2Item[] pitems = player.getAllWeaponArmorNonQuestItems(); foreach (MultiSellEntry entry in list.container) { MultiSellItem msitem = entry.take[0]; if (msitem.template == null) { continue; } foreach (L2Item item in pitems) { if (item._isEquipped == 1) { continue; } if (item.Template.ItemID == msitem.id) { MultiSellEntry edentry = new MultiSellEntry(); edentry.take.AddRange(entry.take); edentry.give.AddRange(entry.give); edentry.take[0].l2item = item; edentry.give[0].l2item = item; newlist.container.Add(edentry); } } } MultiSellListEx mlist = new MultiSellListEx(player, newlist); player.CustomMultiSellList = newlist; player.sendPacket(mlist); } }