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); } }
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); } }