Exemple #1
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            switch (info.ButtonID)
            {
                case 0: break;
                default: // Buy Map
                    VendorItem item = Items[info.ButtonID - 100];
                    PlayerVendor vendor = item.Item.RootParentEntity as PlayerVendor;

                    if(vendor != null)
                    {
                        if (_GivenTo == null)
                            _GivenTo = new Dictionary<VendorItem, List<PlayerMobile>>();

                        if (!_GivenTo.ContainsKey(item))
                            _GivenTo[item] = new List<PlayerMobile>();

                        if (!_GivenTo[item].Contains(User))
                        {
                            VendorSearchMap map = new VendorSearchMap(vendor, item.Item);

                            if (User.Backpack == null || !User.Backpack.TryDropItem(User, map, false))
                                map.Delete();
                            else
                            {
                                User.SendLocalizedMessage(1154690); // The vendor map has been placed in your backpack.
                                _GivenTo[item].Add(User);
                            }
                        }
                    }
                    else
                        User.SendLocalizedMessage(1154700); // Item no longer for sale.
                    break;
                case 2: // Next Page
                    Index += PerPage;
                    Refresh();
                    break;
                case 3: // Prev Page
                    Index -= PerPage;
                    Refresh();
                    break;
            }
        }