> For the complete documentation index, see [llms.txt](https://docs.rainmad.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rainmad.com/resources/gta-dual-wield-two-handed-weapons/configuration/items.md).

# Items

`rm_dualgun` ships **39 weapon items** and **10 ammo items**. All three formats live in the `[items]` folder. Copy the one matching your inventory.

***

### Where each file goes

| Your inventory                    | File                       | Destination                   |
| --------------------------------- | -------------------------- | ----------------------------- |
| ox\_inventory                     | `items - ox_inventory.lua` | `ox_inventory/data/items.lua` |
| qb-inventory / qs / origen / ak47 | `items - qb shared.lua`    | `qb-core/shared/items.lua`    |
| Database-backed inventories       | `items.sql`                | Run against your database     |

***

### Weapon items

The item name and the `cfg.weapons` key are always identical. Adding a weapon to the config without adding the matching item means players can never obtain it.

#### ox\_inventory format

```lua
['rm_appistol_dual'] = {
    label = 'Dual AP Pistol', weight = 2000, stack = false, consume = 0,
    client = { event = 'rm_dualgun:client:useItem' },
},
```

{% hint style="warning" %}
`consume = 0` and `stack = false` are both required. `consume = 0` makes the item a toggle instead of being eaten on use; `stack = false` keeps each gun's ammo metadata separate.
{% endhint %}

#### qb-core format

```lua
['rm_appistol_dual'] = {
    name = 'rm_appistol_dual', label = 'Dual AP Pistol', weight = 2000,
    type = 'item', image = 'rm_appistol_dual.png',
    unique = false, useable = true, shouldClose = true,
    description = 'Two AP Pistols, one in each hand',
},
```

***

### Ammo items

Ten ammo items cover all weapon families:

| Item                | Reloads                            |
| ------------------- | ---------------------------------- |
| `dual_pistol_ammo`  | Pistols, revolvers, heavy pistols  |
| `dual_smg_ammo`     | SMGs, micro SMGs, machine pistols  |
| `dual_rifle_ammo`   | Assault rifles, carbines, bullpups |
| `dual_shotgun_ammo` | All shotguns                       |
| `dual_stungun_ammo` | Stun gun                           |
| `dual_grenade_ammo` | Grenade / compact launchers        |
| `dual_rocket_ammo`  | RPG, homing launcher, firework     |
| `dual_mg_ammo`      | MG                                 |
| `dual_minigun_ammo` | Minigun                            |
| `dual_railgun_ammo` | Railgun                            |

Which item reloads which weapon is set by the `ammo` field in `cfg.weapons`, so you can freely regroup them.

Ammo items **are** consumed, and only the rounds actually loaded are taken. See Ammo System.

***

### Images

Every item needs an icon named after the item, in your inventory's image folder:

```
ox_inventory/web/images/rm_appistol_dual.png
qb-inventory/html/images/rm_appistol_dual.png
```

Missing images do not break anything; the slot just renders blank.

***

### Combined weapon items

The six combined duals follow the same pattern, with heavier weights reflecting what they carry:

| Item                   | Label                                  | Weight |
| ---------------------- | -------------------------------------- | ------ |
| `rm_microassault_dual` | Micro SMG + Assault Rifle              | 4500   |
| `rm_desperado_dual`    | Desperado (Revolver + Sawed-Off)       | 4000   |
| `rm_chaos_dual`        | Chaos (RPG + Minigun)                  | 18000  |
| `rm_breacher_dual`     | Breacher (SMG + Pump Shotgun)          | 5000   |
| `rm_pyro_dual`         | Pyro (Firework + Grenade Launcher)     | 6000   |
| `rm_akimbo_dual`       | Classic Akimbo (AP Pistol + Micro SMG) | 3000   |

***

### Adding your own

1. Add the entry to `cfg.weapons`. See Weapons.
2. Add an item with the **same name** to your inventory.
3. Drop in an image.
4. Restart both resources.

{% hint style="info" %}
Item name, config key and image name must all match exactly. Almost every "my new dual gun does nothing" report comes down to a typo across these three.
{% endhint %}
