Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }