Example #1
0
        public override void OnUsed(Player player, ItemStack itemStack)
        {
            if (player.User != sender && player.User != recipient)
            {
                ChatManager.ServerMessageToPlayer("You are not allowed to open this", player.User);
                return;
            }


            InventoryChangeSet inventoryChange = new InventoryChangeSet(player.User.Inventory, player.User);

            inventoryChange.ModifyStack(itemStack, contentquantity - 1, content);
            if (inventoryChange.TryApply().Success)
            {
                return;
            }
            else
            {
                ChatManager.ServerMessageToPlayer("Not enough room in inventory", player.User);
            }
        }
Example #2
0
        public static void Seal(User user, string target)
        {
            UserIdType idtype;
            User       targetuser = UserManager.FindUser(target, out idtype);

            if (idtype == UserIdType.Unknown)
            {
                ChatManager.ServerMessageToPlayer("User " + target + " not found", user);
                return;
            }
            if (!(user.Inventory.Toolbar.SelectedItem is NoteItem))
            {
                ChatManager.ServerMessageToPlayer("No Note selected", user);
                return;
            }

            LetterItem letter = (LetterItem)Item.Create <LetterItem>();

            letter.content         = user.Inventory.Toolbar.SelectedItem;
            letter.contentquantity = user.Inventory.Toolbar.SelectedStack.Quantity;
            letter.recipient       = targetuser;
            letter.sender          = user;


            InventoryChangeSet inventoryChange = new InventoryChangeSet(user.Inventory, user);

            inventoryChange.RemoveItem(typeof(EnvelopeItem));
            inventoryChange.ModifyStack(user.Inventory.Toolbar.SelectedStack, 1 - user.Inventory.Toolbar.SelectedStack.Quantity, letter);

            if (inventoryChange.TryApply().Success)
            {
                return;
            }
            else
            {
                ChatManager.ServerMessageToPlayer("Not enough Envelopes found", user);
            }
        }