How to Add Items to a RedM Server

Guide · Updated 19 Sep 2026

How to add items to a RedM server on VORP, RSG Core and QBCore RedM

Almost every RedM script needs items: a fishing rod, a shop deed, a campfire, a crafted knife. The script can only hand out items your framework already knows about, and each framework keeps that list somewhere different. This guide shows where the item list and the icons live on VORP, RSG Core and QBCore RedM, how to add an item to each, and the mistakes behind most "item does not exist" errors.

Where items live

FrameworkItem listIconsIcon file name
VORP CoreThe items table in your databasevorp_inventory/html/img/items/Always the item name: bread.png
RSG Corersg-core/shared/items.luarsg-inventory/html/images/Whatever the item's image field says; usually the name
QBCore RedMqbr-core/shared/items.luaqbr-inventory/html/images/Whatever the image field says; often not the name

The difference that catches people: on VORP the list is data in the database, so a script can add its own items with SQL. On RSG Core and QBCore RedM it is a Lua file inside the framework, so a script cannot add to it and you add the entries by hand.

Adding an item on VORP

Insert a row into the items table. The columns that matter:

  • item: the internal name scripts use. Lowercase, no spaces.
  • label: the name players see.
  • limit: how many one player can carry.
  • can_remove: 1 lets players drop or give it.
  • type: item_standard for ordinary items.
  • usable: 1 if a script registers a use for it (see below).
  • desc and weight: the tooltip text and the weight.
INSERT IGNORE INTO `items` (`item`, `label`, `limit`, `can_remove`, `type`, `usable`, `desc`, `weight`)
VALUES ('campfire', 'Campfire', 5, 1, 'item_standard', 1, 'A fire pit for cooking and warmth.', 0.25);

Use INSERT IGNORE, not a plain insert: if the item already exists it is left alone instead of erroring, and your own label or limit is not overwritten. Then put a PNG named exactly after the item (campfire.png) in vorp_inventory/html/img/items/, the same size as the icons already there, and restart the server.

Weapons are not rows in this table on VORP; they are handled separately by the inventory's weapon system, so a weapon script or shop gives them through that.

Adding an item on RSG Core

Open rsg-core/shared/items.lua and add an entry inside RSGShared.Items, following the entries around it:

campfire = { name = 'campfire', label = 'Campfire', weight = 500, type = 'item',
    image = 'campfire.png', unique = false, useable = true, shouldClose = true,
    description = 'A fire pit for cooking and warmth' },

Put campfire.png in rsg-inventory/html/images/, matching the image field, and restart the server. On RSG Core weapons are items too, with type = 'weapon' and lowercase names such as weapon_revolver_cattleman.

Two habits save an evening: keep the key and the name identical, and check the commas. A missing comma is a Lua syntax error in the framework's own shared file, and that stops the framework, not just one item.

Adding an item on QBCore RedM

The same idea in qbr-core/shared/items.lua, inside QBShared.Items, in the quoted-key style the file already uses:

['campfire'] = {
    ['name'] = 'campfire', ['label'] = 'Campfire', ['weight'] = 500, ['type'] = 'item',
    ['image'] = 'campfire.png', ['unique'] = false, ['useable'] = true,
    ['shouldClose'] = true, ['description'] = 'A fire pit for cooking and warmth'
},

The icon goes in qbr-inventory/html/images/. Watch the image field on existing items: QBR often uses a different file name from the item name (its bread uses consumable_bread_roll.png), so do not assume <name>.png when you look for an icon.

Usable items

Marking an item usable does not make it do anything. A script has to register what happens on use: the fishing script equips the rod, the crafting script lights the campfire. An item flagged usable with nothing registered does nothing when used. An item a script registers but the list marks unusable may not show a Use option, depending on the inventory. If a use does nothing, check that the script that owns the item is started.

How scripts should handle their own items

A well-made script tells you exactly which items it needs and does not overwrite yours. What the Poggy scripts do, as an example of what to look for:

  • On VORP, each script's install SQL adds its items with INSERT IGNORE on the first start, through Poggy Core (Free). Items you already have are never changed.
  • On RSG Core and QBCore RedM, there is no items table, so that step is skipped and the script prints one yellow line at start naming every item your list is missing. Poggy Fishing ($69.99) lists its rods, baits, fish and loot; Poggy Markets ($99) lists catalogue items it cannot buy or sell.
  • Icons ship with the script where it adds new items, in a folder you copy into your inventory's image folder.

Poggy Crafting (Free) goes one step further: with Config.HideRecipesWithoutIcons on, it checks every item's icon at start on VORP, RSG Core and QBCore RedM, hides recipes it cannot draw, and names the missing file in /poggy.

The mistakes behind most item errors

"Item does not exist"
The name in the script's config and the name in the list differ. Bread, bread and bread_roll are three different items. Copy names, do not type them.
The item works but shows a blank or question-mark icon
The PNG is missing or misnamed. VORP wants <item>.png; RSG and QBR want the file named in image.
A player cannot receive an item
On VORP, the limit is reached or the satchel is full. Raise the limit for things players stack, such as fish and ammunition.
The whole framework stopped after an edit
A syntax error in items.lua, usually a missing comma or brace. Check the console for the line number.
A new item is ignored
The server was not restarted. Frameworks read the list at start.

A checklist for every new script

  1. Read the script's README for its item list.
  2. On VORP, let its SQL run (or import it) and restart. On RSG Core or QBCore RedM, add the entries to items.lua by hand.
  3. Copy its icons into your inventory's image folder.
  4. Restart and read the console. No missing-item lines means you are done.

If you are still installing, how to install a RedM script covers start order and dependencies, the other two causes of a script that does nothing.

Questions this guide answers

Where are items stored on a VORP server?

In the items table of your database: one row per item with its name, label, stack limit, type, whether it is usable, a description and a weight. The icon is a PNG named after the item in vorp_inventory/html/img/items/. Weapons are not in this table on VORP.

Where do I add items on RSG Core?

In rsg-core/shared/items.lua, as one Lua table entry per item with name, label, weight, type, image, unique, useable, shouldClose and description. The icon goes in rsg-inventory/html/images/ under the file name in the image field. QBCore RedM works the same way with qbr-core/shared/items.lua and qbr-inventory/html/images/.

Do I need to restart after adding an item?

Yes, restart the server. Frameworks read their item list when they start, so a new row or entry is not seen until then. Do not restart the framework core on its own on a live server; every resource that depends on it breaks.

Why does a script say an item does not exist?

The name in the script's config does not match the item list exactly: a typo, a different case, or an item that was never added. Poggy scripts print the missing names at start, so check the console first.

Scripts mentioned in this guide

Whole store →
Poggy Core — Free RedM Framework Core and Auto-Updater
Free RedM Framework Core and Auto-Updater

Poggy Core

The free, open-source core every Poggy script runs on, for VORP Core, RSG Core and QBCore RedM: automatic updates with config merging, tables created on start, account bans with a shared anti-cheat ban network, and one API for your own scripts.

PriceFree
Poggy Crafting — Free RedM Crafting Script
Free RedM Crafting Script

Poggy Crafting

A free, open-source RedM crafting system whose recipe browser shows the whole chain behind every item, crafted at benches, campfires, ovens and forges, with a shopping list, a gathering tracker and optional skillchecks. GPL v2.

PriceFree
Poggy Fishing — RedM Fishing Script
RedM Fishing Script

Poggy Fishing

Skill-based RedM fishing with 28 fish across 34 waters: a tug game to hook, skillchecks to land, a Pro Rod pull fight, six baits, seasons, bonus loot and a fishing journal of every player's records.

Price$69.99
Join the Discord Discord