OrigenNetwork
Docs

Items · origen_ilegalv2

origen_ilegalv2 requires 18 unique items to be registered in your inventory before the resource can operate correctly. Copy the block that matches your inventory system and paste it in the appropriate file.

empty_weed_bag is shared between the Meth Lab and the Coke Lab. Register it only once.

The graffiti_spray and graffiti_eraser items are only required when Config.Graffiti.Enable = true.


Item map by lab

ItemLabRole
ephedrineMethCooking input
acetoneMethCooking input
empty_weed_bagMeth / CokeBagging input (shared)
methbagsMethFinal output
coca_leafCokeProcessing input
cokeCokeIntermediate (output of make_powder, input of cut_coke)
bakingsodaCokeCutting agent input
loosecokeCokeIntermediate (output of cut_coke, input of bag_coke)
cokebaggyCokeFinal output
wetcannabisWeedPlant harvest output · drying input
drycannabisWeedDrying output · grinding input
weedgrinderWeedRequired tool — not consumed
grindedweedWeedGrinding output · bagging input
bluntwrapWeedBagging input
bluntWeedFinal output
ilegal_cadGangGang panel credential — not consumed on use
graffiti_sprayGraffitiSpray can — consumed on tag placement
graffiti_eraserGraffitiCleaning rag — consumed on graffiti removal

ox_inventory

Add the following entries to ox_inventory/data/items.lua:

luaox_inventory/data/items.lua
-- ── METH LAB ──────────────────────────────────────────────────────────────────
 
['ephedrine'] = {
    label       = 'Ephedrine',
    weight      = 100,
    stack       = true,
    close       = true,
    description = 'Chemical precursor for methamphetamine production.',
    image       = 'ephedrine.png',
},
 
['acetone'] = {
    label       = 'Acetone',
    weight      = 200,
    stack       = true,
    close       = true,
    description = 'Chemical solvent. Required for the cooking process.',
    image       = 'acetone.png',
},
 
['empty_weed_bag'] = {
    label       = 'Empty Bag',
    weight      = 10,
    stack       = true,
    close       = true,
    description = 'Empty plastic bag. Used for packaging products.',
    image       = 'empty_weed_bag.png',
},
 
['methbags'] = {
    label       = 'Meth Bags',
    weight      = 150,
    stack       = true,
    close       = true,
    description = 'Crystallized methamphetamine ready for distribution.',
    image       = 'methbags.png',
},
 
-- ── COKE LAB ──────────────────────────────────────────────────────────────────
 
['coca_leaf'] = {
    label       = 'Coca Leaf',
    weight      = 50,
    stack       = true,
    close       = true,
    description = 'Raw coca leaf. Primary raw material for processing.',
    image       = 'coca_leaf.png',
},
 
['coke'] = {
    label       = 'Base Powder',
    weight      = 80,
    stack       = true,
    close       = true,
    description = 'Unprocessed cocaine powder. Intermediate product.',
    image       = 'coke.png',
},
 
['bakingsoda'] = {
    label       = 'Baking Soda',
    weight      = 50,
    stack       = true,
    close       = true,
    description = 'Sodium bicarbonate. Cutting agent for cocaine.',
    image       = 'bakingsoda.png',
},
 
['loosecoke'] = {
    label       = 'Cut Cocaine',
    weight      = 80,
    stack       = true,
    close       = true,
    description = 'Cut cocaine ready for bagging.',
    image       = 'loosecoke.png',
},
 
['cokebaggy'] = {
    label       = 'Cocaine Baggy',
    weight      = 100,
    stack       = true,
    close       = true,
    description = 'Bagged cocaine ready for distribution.',
    image       = 'cokebaggy.png',
},
 
-- ── WEED LAB ──────────────────────────────────────────────────────────────────
 
['wetcannabis'] = {
    label       = 'Wet Cannabis',
    weight      = 100,
    stack       = true,
    close       = true,
    description = 'Freshly harvested cannabis flower. Must be dried.',
    image       = 'wetcannabis.png',
},
 
['drycannabis'] = {
    label       = 'Dry Cannabis',
    weight      = 60,
    stack       = true,
    close       = true,
    description = 'Dried cannabis ready for grinding.',
    image       = 'drycannabis.png',
},
 
['weedgrinder'] = {
    label       = 'Grinder',
    weight      = 200,
    stack       = false,
    close       = true,
    description = 'Herb grinder. Not consumed on use.',
    image       = 'weedgrinder.png',
},
 
['grindedweed'] = {
    label       = 'Ground Cannabis',
    weight      = 40,
    stack       = true,
    close       = true,
    description = 'Ground cannabis ready for bagging.',
    image       = 'grindedweed.png',
},
 
['bluntwrap'] = {
    label       = 'Blunt Wrap',
    weight      = 10,
    stack       = true,
    close       = true,
    description = 'Rolling paper for blunts.',
    image       = 'bluntwrap.png',
},
 
['blunt'] = {
    label       = 'Blunt',
    weight      = 30,
    stack       = true,
    close       = true,
    description = 'Rolled blunt ready for sale.',
    image       = 'blunt.png',
},
 
-- ── GANG CAD ──────────────────────────────────────────────────────────────────
 
['ilegal_cad'] = {
    label       = 'Gang CAD',
    weight      = 0,
    stack       = true,
    close       = false,
    description = 'Gang panel access credential. Not consumed on use.',
    image       = 'ilegal_cad.png',
},
 
-- ── GRAFFITI ──────────────────────────────────────────────────────────────────
 
['graffiti_spray'] = {
    label       = 'Spray Can',
    weight      = 300,
    stack       = true,
    close       = true,
    description = 'Aerosol spray can. Used to tag gang graffiti. Consumed on placement.',
    image       = 'graffiti_spray.png',
},
 
['graffiti_eraser'] = {
    label       = 'Cleaning Rag',
    weight      = 100,
    stack       = true,
    close       = true,
    description = 'Solvent-soaked rag. Used to clean graffiti tags. Consumed on use.',
    image       = 'graffiti_eraser.png',
},

QBCore

Add the following entries to qb-core/shared/items.lua:

luaqb-core/shared/items.lua
-- ── METH LAB ──────────────────────────────────────────────────────────────────
['ephedrine']      = { name = 'ephedrine',      label = 'Ephedrine',       weight = 100,  type = 'item', image = 'ephedrine.png',      unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Chemical precursor for methamphetamine production.' },
['acetone']        = { name = 'acetone',        label = 'Acetone',         weight = 200,  type = 'item', image = 'acetone.png',        unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Chemical solvent. Required for the cooking process.' },
['empty_weed_bag'] = { name = 'empty_weed_bag', label = 'Empty Bag',       weight = 10,   type = 'item', image = 'empty_weed_bag.png', unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Empty plastic bag. Used for packaging products.' },
['methbags']       = { name = 'methbags',       label = 'Meth Bags',       weight = 150,  type = 'item', image = 'methbags.png',       unique = false, useable = true,  shouldClose = true,  combinable = nil, description = 'Crystallized methamphetamine ready for distribution.' },
 
-- ── COKE LAB ──────────────────────────────────────────────────────────────────
['coca_leaf']      = { name = 'coca_leaf',      label = 'Coca Leaf',       weight = 50,   type = 'item', image = 'coca_leaf.png',      unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Raw coca leaf. Primary raw material for processing.' },
['coke']           = { name = 'coke',           label = 'Base Powder',     weight = 80,   type = 'item', image = 'coke.png',           unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Unprocessed cocaine powder. Intermediate product.' },
['bakingsoda']     = { name = 'bakingsoda',     label = 'Baking Soda',     weight = 50,   type = 'item', image = 'bakingsoda.png',     unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Sodium bicarbonate. Cutting agent for cocaine.' },
['loosecoke']      = { name = 'loosecoke',      label = 'Cut Cocaine',     weight = 80,   type = 'item', image = 'loosecoke.png',      unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Cut cocaine ready for bagging.' },
['cokebaggy']      = { name = 'cokebaggy',      label = 'Cocaine Baggy',   weight = 100,  type = 'item', image = 'cokebaggy.png',      unique = false, useable = true,  shouldClose = true,  combinable = nil, description = 'Bagged cocaine ready for distribution.' },
 
-- ── WEED LAB ──────────────────────────────────────────────────────────────────
['wetcannabis']    = { name = 'wetcannabis',    label = 'Wet Cannabis',    weight = 100,  type = 'item', image = 'wetcannabis.png',    unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Freshly harvested cannabis flower. Must be dried.' },
['drycannabis']    = { name = 'drycannabis',    label = 'Dry Cannabis',    weight = 60,   type = 'item', image = 'drycannabis.png',    unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Dried cannabis ready for grinding.' },
['weedgrinder']    = { name = 'weedgrinder',    label = 'Grinder',         weight = 200,  type = 'item', image = 'weedgrinder.png',    unique = true,  useable = true,  shouldClose = true,  combinable = nil, description = 'Herb grinder. Not consumed on use.' },
['grindedweed']    = { name = 'grindedweed',    label = 'Ground Cannabis', weight = 40,   type = 'item', image = 'grindedweed.png',    unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Ground cannabis ready for bagging.' },
['bluntwrap']      = { name = 'bluntwrap',      label = 'Blunt Wrap',      weight = 10,   type = 'item', image = 'bluntwrap.png',      unique = false, useable = false, shouldClose = true,  combinable = nil, description = 'Rolling paper for blunts.' },
['blunt']          = { name = 'blunt',          label = 'Blunt',           weight = 30,   type = 'item', image = 'blunt.png',          unique = false, useable = true,  shouldClose = true,  combinable = nil, description = 'Rolled blunt ready for sale.' },
 
-- ── GANG CAD ──────────────────────────────────────────────────────────────────
['ilegal_cad']     = { name = 'ilegal_cad',     label = 'Gang CAD',        weight = 0,    type = 'item', image = 'ilegal_cad.png',     unique = false, useable = true,  shouldClose = false, combinable = nil, description = 'Gang panel access credential. Not consumed on use.' },
 
-- ── GRAFFITI ──────────────────────────────────────────────────────────────────
['graffiti_spray']  = { name = 'graffiti_spray',  label = 'Spray Can',      weight = 300,  type = 'item', image = 'graffiti_spray.png',  unique = false, useable = true,  shouldClose = true,  combinable = nil, description = 'Aerosol spray can. Used to tag gang graffiti. Consumed on placement.' },
['graffiti_eraser'] = { name = 'graffiti_eraser', label = 'Cleaning Rag',   weight = 100,  type = 'item', image = 'graffiti_eraser.png', unique = false, useable = true,  shouldClose = true,  combinable = nil, description = 'Solvent-soaked rag. Used to clean graffiti tags. Consumed on use.' },

ESX

Run the following SQL against your database (or paste it into HeidiSQL / phpMyAdmin):

sqlESX — INSERT INTO items
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
-- METH LAB
('ephedrine',      'Ephedrine',       100,  0, 1),
('acetone',        'Acetone',         200,  0, 1),
('empty_weed_bag', 'Empty Bag',       10,   0, 1),
('methbags',       'Meth Bags',       150,  0, 1),
-- COKE LAB
('coca_leaf',      'Coca Leaf',       50,   0, 1),
('coke',           'Base Powder',     80,   0, 1),
('bakingsoda',     'Baking Soda',     50,   0, 1),
('loosecoke',      'Cut Cocaine',     80,   0, 1),
('cokebaggy',      'Cocaine Baggy',   100,  0, 1),
-- WEED LAB
('wetcannabis',    'Wet Cannabis',    100,  0, 1),
('drycannabis',    'Dry Cannabis',    60,   0, 1),
('weedgrinder',    'Grinder',         200,  1, 1),
('grindedweed',    'Ground Cannabis', 40,   0, 1),
('bluntwrap',      'Blunt Wrap',      10,   0, 1),
('blunt',          'Blunt',           30,   0, 1),
-- GANG CAD
('ilegal_cad',     'Gang CAD',        0,    0, 1),
-- GRAFFITI
('graffiti_spray',  'Spray Can',      300,  0, 1),
('graffiti_eraser', 'Cleaning Rag',   100,  0, 1);

For ESX, rare = 1 marks an item as non-stackable in some legacy UI implementations. Only weedgrinder and ilegal_cad are marked rare/unique across formats because they are tools — not consumables.


Item images

Place the .png image files in the images folder of your inventory resource:

The file names must match the image field exactly (case-sensitive on Linux servers):

text
ephedrine.png      acetone.png        empty_weed_bag.png  methbags.png
coca_leaf.png      coke.png           bakingsoda.png      loosecoke.png
cokebaggy.png      wetcannabis.png    drycannabis.png     weedgrinder.png
grindedweed.png    bluntwrap.png      blunt.png           ilegal_cad.png
graffiti_spray.png graffiti_eraser.png