---
description: >-
  All of the items are defined in the items.lua file with key, value pairs. Key
  is the name (not the label) of an item and the value is a table containing the
  options for the item.
---

# Creating Items

{% hint style="warning" %}
You can edits items in the <mark style="color:yellow;">tgiann-inventory/items</mark> folder
{% endhint %}

{% hint style="success" %}
Many features work exactly the same as in [ox\_inventory](https://overextended.dev/ox_inventory/Guides/creatingItems), the most popular free inventory system.
{% endhint %}

{% hint style="info" %}
question(?) marks are not mandatory.
{% endhint %}

* Item Options
  * name?: `string` (Item spawn name)
  * label: `string`
  * weight: `int`
  * type: `item` | `weapon`&#x20;
  * image?: `string` ([docs](https://docs.tgiann.com/scripts/tgiann-inventory/guides/item-images))
  * unique?: `boolen`
  * shouldClose?: `boolen`
  * description: `string`
  * server?: `table`
    * export?: `string`
  * consume?: `number`
    * Item count needed and removed use.
  * client?: `table`
    * export?: `string` (Export to be triggered after item use)
    * event?: `string` (Client event to be triggered after item use)
    * status?: `table` (Adjust esx\_status/qb values after use)
    * anim?: `table` (Animation that will be played during the progress bar)
      * dict: `string`
      * clip: `string`
    * prop?: `table` (Attached prop that will be displayed during the progress bar)
      * model: `string` or `hash`
      * pos: `table` (x, y, z)
      * rot: `table` (x, y, z)
      * bone?: `number`
      * rotOrder?: `number`
    * disable?: `table` (Actions to be disabled during the progress bar)
      * move?: `boolean`
      * car?: `boolean`
      * combat?: `boolean`
      * mouse?: `boolean`
    * usetime?: `number` (Progress bar duration)
    * cancel?: `boolean` (If set to true the player canc cancel item use)
    * notification?: `string` (Notification to be sent when the item is used)
    * add?: `function`(total: `number`)
      * Function that triggers when receiving an item
      * Returns total item count as `total`
    * remove?: `function`(total: `number`)
      * Function that triggers when removing an item
      * Returns total item count as `total`
  * buttons?: `table`
    * label: `string`
    * action: `function`(slot: `number`)
      * Callback function when button is clicked in context menu, returns item slot.

```lua
testburger = {
    label = 'Test Burger',
    weight = 220,
    type = "item", 
    image = "testburger.png",
    unique = false,
    useable = true,
    shouldClose = false, 
    description = "It's a Burger"
    client = {
        image = 'burger_chicken.png',
        status = { hunger = 200000, thirst = 10000 },
        anim = { dict = 'missheistdockssetup1clipboard@idle_a', clip = 'idle_a', flag = 49 },
        prop = { model = `prop_rolled_sock_02`, pos = vec3(-0.14, -0.14, -0.08), rot = vec3(-50.0, -50.0, 0.0) },
        usetime = 2500,
        notification = 'You used the burger'
        event = "tgiann-food-job:useBurger",
        export = 'tgiann-food-job.testburger' -- Script Name . Function name
    },
    server = {
        export = 'tgiann-food-job.testburger', -- Script Name . Function name
    },
}
```

{% hint style="success" %}
more examples are in the items/items.lua file
{% endhint %}
