> For the complete documentation index, see [llms.txt](https://mi-store.gitbook.io/mistore-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mi-store.gitbook.io/mistore-docs/resources/mi-paleto-heist/items.md).

# Items

## Items Setup

This page includes item examples for `ox_inventory`, `QBCore / Qbox / QBX`, and `ESX`.

Use the section that matches the server inventory system.

### Required / Reward Items

Default item list:

```txt
thermite
hack_usb
electronickit
security_card_01
advancedlockpick
laserdrill
crowbar
empty_bag
black_money
goldbar
diamond
rolex
phone
uv_filter
```

Some items are used as required items.\
Some items are used as rewards.

### ox\_inventory Items

Add the items inside the ox\_inventory item file.

```lua
['thermite'] = {
    label = 'Thermite',
    weight = 500,
    stack = true,
    close = true,
    description = 'Thermite charge used for heavy doors.'
},

['hack_usb'] = {
    label = 'Hack USB',
    weight = 100,
    stack = true,
    close = true,
    description = 'USB device used for hacking systems.'
},

['electronickit'] = {
    label = 'Electronic Kit',
    weight = 300,
    stack = true,
    close = true,
    description = 'Electronic kit used for security systems.'
},

['security_card_01'] = {
    label = 'Security Card',
    weight = 100,
    stack = true,
    close = true,
    description = 'Security card used for restricted access.'
},

['uv_filter'] = {
    label = 'UV Filter',
    weight = 100,
    stack = true,
    close = true,
    description = 'A small violet filter used with a normal flashlight.'
},

['advancedlockpick'] = {
    label = 'Advanced Lockpick',
    weight = 150,
    stack = true,
    close = true,
    description = 'Advanced lockpick used for secured locks.'
},

['laserdrill'] = {
    label = 'Laser Drill',
    weight = 2500,
    stack = false,
    close = true,
    description = 'Laser drill used for locked deposit areas.'
},

['crowbar'] = {
    label = 'Crowbar',
    weight = 1200,
    stack = false,
    close = true,
    description = 'Crowbar used to force open deposit boxes.'
},

['empty_bag'] = {
    label = 'Empty Bag',
    weight = 200,
    stack = true,
    close = true,
    description = 'Empty bag used to carry stolen goods.'
},

['black_money'] = {
    label = 'Dirty Money',
    weight = 0,
    stack = true,
    close = true,
    description = 'Unmarked cash.'
},

['goldbar'] = {
    label = 'Gold Bar',
    weight = 1000,
    stack = true,
    close = true,
    description = 'Stolen gold bar.'
},

['diamond'] = {
    label = 'Diamond',
    weight = 300,
    stack = true,
    close = true,
    description = 'Valuable diamond.'
},

['rolex'] = {
    label = 'Rolex',
    weight = 250,
    stack = true,
    close = true,
    description = 'Luxury watch.'
},

['phone'] = {
    label = 'Phone',
    weight = 300,
    stack = false,
    close = true,
    description = 'Stolen phone.'
},
['reddiamond'] = {
    label = 'Red Diamond',
    weight = 300,
    stack = true,
    close = true,
    description = 'A rare red diamond stolen from a secured display.'
},

['bracelet'] = {
    label = 'Bracelet',
    weight = 250,
    stack = true,
    close = true,
    description = 'A valuable stolen bracelet.'
},

['necklace'] = {
    label = 'Necklace',
    weight = 300,
    stack = true,
    close = true,
    description = 'A valuable stolen necklace.'
},

['phone_17propmax'] = {
    label = 'Stolen Phone',
    weight = 300,
    stack = true,
    close = true,
    description = 'A stolen phone taken from the bank.'
},
```

### QBCore Items

Add the items inside:

```txt
qb-core/shared/items.lua
```

```lua
thermite = {
    name = 'thermite',
    label = 'Thermite',
    weight = 500,
    type = 'item',
    image = 'thermite.png',
    unique = false,
    useable = true,
    shouldClose = true,
    combinable = nil,
    description = 'Thermite charge used for heavy doors.'
},

hack_usb = {
    name = 'hack_usb',
    label = 'Hack USB',
    weight = 100,
    type = 'item',
    image = 'hack_usb.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'USB device used for hacking systems.'
},

electronickit = {
    name = 'electronickit',
    label = 'Electronic Kit',
    weight = 300,
    type = 'item',
    image = 'electronickit.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Electronic kit used for security systems.'
},

security_card_01 = {
    name = 'security_card_01',
    label = 'Security Card',
    weight = 100,
    type = 'item',
    image = 'security_card_01.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Security card used for restricted access.'
},

advancedlockpick = {
    name = 'advancedlockpick',
    label = 'Advanced Lockpick',
    weight = 150,
    type = 'item',
    image = 'advancedlockpick.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Advanced lockpick used for secured locks.'
},

laserdrill = {
    name = 'laserdrill',
    label = 'Laser Drill',
    weight = 2500,
    type = 'item',
    image = 'laserdrill.png',
    unique = true,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Laser drill used for locked deposit areas.'
},

crowbar = {
    name = 'crowbar',
    label = 'Crowbar',
    weight = 1200,
    type = 'item',
    image = 'crowbar.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Crowbar used to force open deposit boxes.'
},

empty_bag = {
    name = 'empty_bag',
    label = 'Empty Bag',
    weight = 200,
    type = 'item',
    image = 'empty_bag.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Empty bag used to carry stolen goods.'
},

black_money = {
    name = 'black_money',
    label = 'Dirty Money',
    weight = 0,
    type = 'item',
    image = 'black_money.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Unmarked cash.'
},

goldbar = {
    name = 'goldbar',
    label = 'Gold Bar',
    weight = 1000,
    type = 'item',
    image = 'goldbar.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Stolen gold bar.'
},

diamond = {
    name = 'diamond',
    label = 'Diamond',
    weight = 300,
    type = 'item',
    image = 'diamond.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Valuable diamond.'
},

rolex = {
    name = 'rolex',
    label = 'Rolex',
    weight = 250,
    type = 'item',
    image = 'rolex.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Luxury watch.'
},

phone = {
    name = 'phone',
    label = 'Phone',
    weight = 300,
    type = 'item',
    image = 'phone.png',
    unique = true,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'Stolen phone.'
},
uv_filter = {
    name = 'uv_filter',
    label = 'UV Filter',
    weight = 100,
    type = 'item',
    image = 'uv_filter.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'A small violet filter used with a normal flashlight.'
},
reddiamond = {
    name = 'reddiamond',
    label = 'Red Diamond',
    weight = 300,
    type = 'item',
    image = 'reddiamond.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'A rare red diamond stolen from a secured display.'
},

bracelet = {
    name = 'bracelet',
    label = 'Bracelet',
    weight = 250,
    type = 'item',
    image = 'bracelet.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'A valuable stolen bracelet.'
},

necklace = {
    name = 'necklace',
    label = 'Necklace',
    weight = 300,
    type = 'item',
    image = 'necklace.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'A valuable stolen necklace.'
},

phone_17propmax= {
    name = 'phone_17propmax',
    label = 'Stolen Phone',
    weight = 300,
    type = 'item',
    image = 'phone_prop.png',
    unique = false,
    useable = false,
    shouldClose = true,
    combinable = nil,
    description = 'A stolen phone taken from the bank.'
},
```

After editing QBCore items, restart the server or restart `qb-core`.

### Qbox / QBX Items

Most Qbox / QBX servers use `ox_inventory`.

For Qbox / QBX with `ox_inventory`, use the **ox\_inventory Items** section above.

Recommended configuration:

```lua
Config.Framework = 'qb'

Config.QBCore = {
    resource = 'qbx_core'
}

Config.Inventory = 'ox'
```

If the server uses a QBCore-style shared item file, use the **QBCore Items** section instead.

### ESX Items

Add these items to the ESX database.

```sql
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('thermite', 'Thermite', 1, 0, 1),
('hack_usb', 'Hack USB', 1, 0, 1),
('electronickit', 'Electronic Kit', 1, 0, 1),
('security_card_01', 'Security Card', 1, 0, 1),
('advancedlockpick', 'Advanced Lockpick', 1, 0, 1),
('laserdrill', 'Laser Drill', 1, 0, 1),
('crowbar', 'Crowbar', 1, 0, 1),
('empty_bag', 'Empty Bag', 1, 0, 1),
('goldbar', 'Gold Bar', 1, 0, 1),
('diamond', 'Diamond', 1, 0, 1),
('uv_filter', 'UV Filter', 1, 0, 1),
('rolex', 'Rolex', 1, 0, 1),
('reddiamond', 'Red Diamond', 1, 0, 1),
('bracelet', 'Bracelet', 1, 0, 1),
('necklace', 'Necklace', 1, 0, 1),
('phone_17propmax', 'Stolen Phone', 1, 0, 1)
('phone', 'Phone', 1, 0, 1);
```

`black_money` is usually handled as an ESX account.

Recommended ESX black money configuration:

```lua
Config.BlackMoney = {
    esxAccount = true,
    qbAsItem = false,
    accountName = 'black_money'
}
```

If the ESX server uses black money as an item instead of an account, add it to the items table and set the configuration accordingly.

```sql
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('black_money', 'Dirty Money', 0, 0, 1);
```

### Item Configuration

Required items can be enabled or disabled in:

```txt
config.lua
```

Example:

```lua
Config.RequiredItems.thermite = {
    enabled = true,
    item = 'thermite',
    amount = 1,
    remove = true
}
```

Reward items can be changed in:

```lua
Config.Rewards
```

Example:

```lua
Config.Rewards.looseGold = {
    item = 'goldbar',
    min = 1,
    max = 2
}
```

### Custom Inventory

Custom inventory systems can be added in:

```txt
open/server.lua
```

Built-in inventory support can be left enabled for:

```txt
ox_inventory
QBCore
Qbox / QBX with ox_inventory
ESX
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mi-store.gitbook.io/mistore-docs/resources/mi-paleto-heist/items.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
