public InventoryManager(Server.Server server) : base(server) { server.RegisterEventHandler("Inventory.AddInvItem", new Action <Player, string, int, string>(AddInvItem)); server.RegisterEventHandler("Inventory.RequestInventory", new Action <Player, string>(RequestInventory)); server.RegisterEventHandler("Inventory.UseInvItem", new Action <Player, string, int>(UseInvItem)); server.RegisterEventHandler("Inventory.TakeVehInvItem", new Action <Player, string, int, string>(TakeVehInvItem)); server.RegisterEventHandler("Inventory.GetInvStats", new Action <Player, string>(GetInvStats)); CommandRegister.RegisterCommand("use", cmd => { var item = string.Join(" ", cmd.Args).ToLower(); var playerSession = Server.Instances.Session.GetPlayer(cmd.Player); var invItem = inventoryItems.FirstOrDefault(o => o.Key.ToLower().Equals(item) || o.Value.itemName.ToLower().Equals(item) || o.Value.itemCode.ToLower().Equals(item)); if (invItem.Key == null) { invItem = inventoryItems.FirstOrDefault(o => o.Key.ToLower().Contains(item) || o.Value.itemName.ToLower().Contains(item) || o.Value.itemCode.ToLower().Contains(item)); } if (invItem.Key != null) { PlayerInventory playerInv = GetPlayerInventory(playerSession); if (playerInv.HasItem(invItem.Value.itemCode)) { playerInv.UseItem(invItem.Value.itemCode, 1); } else { Log.ToClient("[Inventory]", $"You don't have any {invItem.Value.itemName}(s) to use", ConstantColours.Inventory, cmd.Player); } } }); }