Analytics runs only if you accept. No names, codes or payment details are sent, and shopping works the same either way. Details: privacy and cookies.

  • Necessary Keeps your cart and this choice in your browser so the store works. We ask again after 12 months.
    Always on
  • Analytics (PostHog) Counts pages, clicks and store actions with your device type and rough location, and may record your visit with typed text hidden. Its cookie lasts 365 days. Data is stored in the EU.
    Off
  • Videos Product videos load from YouTube (Google) only when you press Play. YouTube may store data on your device. If you reject, Play opens the video on youtube.com in a new tab instead.
    When you press Play

With analytics on, the site keeps this visit's campaign source in this tab until you close it.

Change your choice any time with Cookie settings at the bottom of the page.

How to add items to ox_inventory in FiveM

To add the items of one of our scripts to ox_inventory on ESX or Qbox, paste the item list from its README into ox_inventory/data/items.lua and copy its PNG images into ox_inventory/web/images. On QBCore with qb-inventory, the list and the images go into qb-core/shared/items.lua and qb-inventory/html/images. Our All-in-One Drug System V2 and Advanced Ambulance Job ship both lists; our Crafting ships none, so you add the items its recipes name.

Restart the server after each change; items load when it starts.

Before you start

Find which inventory your server runs. Current ox_inventory (2.48.0, checked 19 October 2026) has framework bridges for ESX, Qbox, ox_core and ND, not QBCore. So this guide uses ox_inventory on ESX and Qbox, and qb-inventory on QBCore.

Then look at what the script ships:

Script Item list Images Config.Inventory values Config.ImagePath form
All-in-One Drug System V2 (tk_drugs) 133 items in README.txt, ox_inventory and qb-inventory format images/ 'default', 'ox', 'qs' Full file pattern ending in /%s.png
Advanced Ambulance Job (tk_ambulancejob) 20 items in README.txt, both formats images/ 'default', 'ox', 'qs', 'qb_old', 'qb_new' Folder only
Crafting (tk_crafting) None web/images/default_table.png No setting; it uses the framework’s item functions Folder only

Copy your item file before editing it. If the server fails to start after a paste, put the copy back.

Add items to ox_inventory (ESX and Qbox)

  1. Open ox_inventory/data/items.lua. It is one table, return { ... }, with one entry per item name.

  2. Paste the script’s ox_inventory block from its README before the closing }. Each entry has this shape:

    ['og_kush_seed'] = {
        label = 'OG Kush Seed',
        weight = 1,
        stack = true,
    },
    
  3. Search the file for each name you paste. ox_inventory already ships a bandage, which Advanced Ambulance Job also defines; keep one ['bandage'] entry.

  4. Copy the PNGs from the script’s images folder into ox_inventory/web/images. Each file is named after its item, such as og_kush_seed.png.

  5. In the script’s config.lua, set Config.Inventory = 'ox'. The shipped Config.ImagePath already points at nui://ox_inventory/web/images.

  6. Restart the server. The console shows no error from ox_inventory.

On Qbox, server.cfg needs setr inventory:framework "qbx", with ox_inventory started right after qbx_core (ox docs). Qbox’s FAQ says items added to qbx_core/shared/items.lua are added to ox_inventory automatically, and that the file is only needed for scripts that read items through its QBCore bridge. In the script’s config, set Config.Framework = 'qb' and Config.Inventory = 'ox'.

On ESX with ox_inventory, ox_inventory moves every item from the ESX items table into its own item data (ox docs). Restart again after that migration.

Add items to qb-inventory (QBCore)

  1. Open qb-core/shared/items.lua. Items sit inside QBCore.Shared.Items = { ... }.

  2. Paste the script’s qb-inventory block from its README inside that table. Each line has this shape:

    og_kush_seed = {name = 'og_kush_seed', label = 'OG Kush Seed', weight = 1, type = 'item', image = 'og_kush_seed.png', unique = false, useable = true},
    
  3. Search the file for each name. QBCore ships bandage, water_bottle and meth. The drug script also defines water_bottle and meth, and the ambulance job defines bandage. Keep one entry per name.

  4. Copy the PNGs into qb-inventory/html/images. The image field names the file (QBCore docs).

  5. In All-in-One Drug System V2’s config.lua, set Config.Inventory = 'default' and Config.ImagePath = 'nui://qb-inventory/html/images/%s.png'.

  6. In Advanced Ambulance Job’s config.lua, set Config.ImagePath = 'nui://qb-inventory/html/images' and Config.Inventory = 'qb_new' if your qb-inventory has the CreateShop export, as version 2.2.3 does (checked 19 October 2026); use 'qb_old' for an older qb-inventory.

  7. Restart the server.

The useable = true flag alone does not make an item usable; our scripts register their own usable items when they start.

Add items on ESX without ox_inventory

ESX reads items from the items database table when it starts. The table has name, label, weight, rare and can_remove, and only name and label have no default. The READMEs give no ESX list, so write one row per item from the ox_inventory list, in the form Ownable Drug Labs uses in its own SQL file:

INSERT INTO items (name, label, weight) VALUES
	('darkweb_tablet', 'Dark Web Tablet', 1),
	('bolt_cutters', 'Bolt Cutters', 1)
;

Keep weights on ESX’s scale. The default carry limit is Config.MaxWeight = 24 in es_extended, so the ox_inventory weights in the READMEs, up to 2500, would make items too heavy to carry. In the script’s config, leave Config.Inventory = 'default'.

Advanced Ambulance Job’s storages do not open on ESX’s own inventory: they need ox_inventory, qs-inventory or qb-inventory, and otherwise print Storage not set correctly in config!. Its hospital shop opens in the script’s own menu instead of an inventory shop.

Add the items Crafting recipes name

Crafting gives and takes items through ESX or QBCore and has no item list of its own. Every name in sv_config.lua must exist in your inventory: crafted items, ingredients and table items.

  1. In sv_config.lua, list every name under items and neededItems, and every item under tableItems. The default recipes use lockpick, iron, copper, rubber, screw, lighter, screwdriverset, gold, plastic, leather, three weapons and the default_table item.
  2. Add each one your inventory lacks, or change the recipe to an item it has. ox_inventory and QBCore already ship lockpick.
  3. For a recipe with needBlueprint = true, add an item named blueprint_ plus the crafted item’s name in lower case: WEAPON_PISTOL needs blueprint_weapon_pistol.
  4. Copy web/images/default_table.png into your inventory’s image folder, and set Config.ImagePath to the folder: nui://ox_inventory/web/images or nui://qb-inventory/html/images.
  5. Where an ingredient’s picture has another name, set image on that ingredient, as the default iron line does.

Check it works

Give yourself an item as an admin, using the command of the resource that owns your items:

  • ox_inventory: /giveitem 1 og_kush_seed 1 (target, item, count; group.admin only).
  • qb-inventory: /giveitem 1 og_kush_seed 1 (id, item, amount; admin only).
  • ESX without ox_inventory: /giveitem 1 og_kush_seed 1 (player id, item, count).

The item lands in the inventory with its label and picture. Then open a menu of the script that lists items, such as the drug shop or the Advanced Ambulance Job hospital shop, and check that the pictures load there too.

If it still fails

  • The server stops with a Lua error in items.lua: the paste broke the table, often a missing comma or a block pasted after the closing }. Restore your copy and paste again inside the table.
  • /giveitem does not find the item: the name is not in the item file or table, or the server has not restarted since.
  • The item has no picture in the inventory: the PNG is missing from the image folder, or its file name differs from the item name.
  • The item has a picture in the inventory but not in the script’s menus: Config.ImagePath is wrong. All-in-One Drug System V2 needs the full pattern ending in /%s.png; Advanced Ambulance Job and Crafting need the folder only.

For how the drug items fit into growing, processing and selling, read how to add drugs to your FiveM server.

Scripts in this guide

  • Grow weed and coca, cook meth, staff labs with NPC workers and sell to phone customers.

    Supports ESX, QBCore and Qbox

    Top 3 paid drug script on FiveM

    800+ servers (5Metrics, checked 11 October 2026)

    €19.99+ VAT at checkout, one-off

  • Skeletal injury system with 13 treatment items, last stand revival and hospitals.

    Supports ESX, QBCore and Qbox

    300+ servers (5Metrics, checked 11 October 2026)

    €24.99+ VAT at checkout, one-off

  • Crafting

    • In Ultimate

    Blueprint and XP-gated recipes, job-only tables and player-placed tables that save over restarts.

    Supports ESX, QBCore and Qbox

    €14.99+ VAT at checkout, one-off

Server counts: 5Metrics, checked 11 October 2026. Detected servers running each script, rounded down.