Here are some inventory functions (Presetup to use the latest QB-Inventory. You can make it work with any inventory)
-- These will all return true or false if the check has been passed
HapticLib.HasItem(src, item, amount)
HapticLib.HasItemsTable(src, data)
HapticLib.RemoveItem(src, item, amount, reason)
HapticLib.AddItem(src, item, amount, reason)
HapticLib.GetItemsByname(src, data) -- returns boolean
HapticLib.RemoveItemBySlot(src, item, amount, slot, reason) -- Raw Function
HapticLib.GetItemBySlot(src, slot)
HapticLib.AddItemMeta(src, item, amount, info, reason) -- Info must be a lua table