This page covers the setup parts you should finish before editing jobs: dependencies, server.cfg order, database behavior, localization, item installation, image path setup, and optional helper resources.
Required Dependencies#
Optional Resources Used By Some Jobs#
These are not hard dependencies in fxmanifest.lua, but the real source references them in some jobs:
object_gizmo3fe_woodbox
Example:
- Moonshine uses
object_gizmoif you keep the still placement flow - Some source checks in
gun_smugglingandmoonshinelook for3fe_woodbox
Recommended server.cfg Start Order#
start oxmysql
start ox_lib
start framework -- es_extended, qb-core, or qbx_core
start object_gizmo -- optional
-- other resources
start 0r_lib
start 0r-illegalpack
Database#
You do not need to import SQL manually for this script.
The real resource creates the profile table automatically in modules/mysql/server.lua:
CREATE TABLE `0resmon_illegal_profiles`
Localization#
This script uses ox_lib locale files.
Set your server language in server.cfg:
set ox:locale "en"
Then make sure the matching file exists inside:
locales/
Required Menu Item#
If you keep item-based menu access enabled, this item must exist:
illegal_tablet
The real source defines this under:
Config.IllegalMenu.openWithItem.itemName
Ready To Paste Item Tables#
If you want to install the items fast, use the blocks below directly in your inventory files.
Pay attention to weapon naming. The source uses weapon_digiscanner in the market list, while one job config also references WEAPON_DIGISCANNER. Your inventory and weapon integration must use the correct format for your framework.
OX Inventory#
{% tabs fullWidth="false" %}
['WEAPON_DIGISCANNER'] = {
label = 'Digiscanner',
weight = 1000,
durability = 0.0,
},
['WEAPON_CROWBAR'] = {
label = 'Crowbar',
weight = 2500,
durability = 0.1,
},
--- # start 0r-illegalpack
['illegal_tablet'] = { label = 'Illegal Tablet', weight = 1000, stack = false },
['lockpick'] = { label = 'Lockpick', weight = 0, stack = true },
['powdered_milk'] = { label = 'Powdered Milk', weight = 100, stack = true },
['money_sheet'] = { label = 'Money Sheet', weight = 100, stack = true },
['anchor'] = { label = 'Anchor', weight = 100, stack = true },
['plant_spray'] = { label = 'Plant Spray', weight = 100, stack = true },
['ammonia'] = { label = 'Ammonia', weight = 100, stack = true },
['sacid'] = { label = 'Sacid', weight = 100, stack = true },
['atm_hack_device'] = { label = 'ATM Hack Device', weight = 100, stack = true },
['blank_card'] = { label = 'Blank Card', weight = 100, stack = true },
['moonshine_still'] = { label = 'Moonshine Still', weight = 1000, stack = true },
['moonshine_pack'] = { label = 'Moonshine Pack', weight = 100, stack = true },
['stolen_bag'] = { label = 'Stolen Bag', weight = 1000, stack = true },
['scrapmetal'] = { label = 'Scrap Metal', weight = 100, stack = true },
['plastic'] = { label = 'Plastic', weight = 100, stack = true },
['glass'] = { label = 'Glass', weight = 100, stack = true },
['copperwire'] = { label = 'Copper Wire', weight = 100, stack = true },
['bandage'] = { label = 'Bandage', weight = 100, stack = true },
['painkiller'] = { label = 'Painkiller', weight = 100, stack = true },
['medkit'] = { label = 'Medkit', weight = 100, stack = true },
['adrenaline'] = { label = 'Adrenaline', weight = 100, stack = true },
['unpacked_coke'] = { label = 'Unpacked Coke', weight = 1000, stack = true },
['cutted_coke'] = { label = 'Cutted Coke', weight = 1000, stack = true },
['packed_coke'] = { label = 'Packed Coke', weight = 1000, stack = true },
['uncutted_money'] = { label = 'Uncutted Money', weight = 100, stack = true },
['cutted_money'] = { label = 'Cutted Money', weight = 100, stack = true },
['fake_credit_card'] = { label = 'Fake Credit Card', weight = 100, stack = true },
['cooked_meth'] = { label = 'Cooked Meth', weight = 100, stack = true },
['breaked_meth'] = { label = 'Breaked Meth', weight = 100, stack = true },
['packed_meth'] = { label = 'Packed Meth', weight = 100, stack = true },
['old_corn'] = { label = 'Old Corn', weight = 100, stack = true },
['old_fruit'] = { label = 'Old Fruit', weight = 100, stack = true },
['tap_water'] = { label = 'Tap Water', weight = 100, stack = true },
['crushed_ingredients'] = { label = 'Crushed Ingredients', weight = 100, stack = true },
['blended_ingredients'] = { label = 'Blended Ingredients', weight = 100, stack = true },
['moonshine'] = { label = 'Moonshine', weight = 100, stack = true },
['unpacked_weed'] = { label = 'Unpacked Weed', weight = 100, stack = true },
['packed_weed'] = { label = 'Packed Weed', weight = 1000, stack = true },
['rolled_weed'] = { label = 'Rolled Weed', weight = 100, stack = true },
--- # end 0r-illegalpack
QB Core#
{% tabs fullWidth="false" %}
[`WEAPON_DIGISCANNER`] = { name = 'weapon_digiscanner', label = 'Digiscanner', weapontype = 'Miscellaneous', ammotype = nil, damagereason = 'Miscellaneous' },
illegal_tablet = { name = 'illegal_tablet', label = 'Illegal Tablet', weight = 100, type = 'item', image = 'illegal_tablet.png', unique = false, useable = true, shouldClose = false, description = 'Illegal Tablet' },
lockpick = { name = 'lockpick', label = 'Lockpick', weight = 100, type = 'item', image = 'lockpick.png', unique = false, useable = false, shouldClose = false, description = 'Lockpick' },
powdered_milk = { name = 'powdered_milk', label = 'Powdered Milk', weight = 100, type = 'item', image = 'powdered_milk.png', unique = false, useable = false, shouldClose = false, description = 'Powdered Milk' },
money_sheet = { name = 'money_sheet', label = 'Money Sheet', weight = 100, type = 'item', image = 'money_sheet.png', unique = false, useable = false, shouldClose = false, description = 'Money Sheet' },
anchor = { name = 'anchor', label = 'Anchor', weight = 100, type = 'item', image = 'anchor.png', unique = false, useable = false, shouldClose = false, description = 'Anchor' },
plant_spray = { name = 'plant_spray', label = 'Plant Spray', weight = 100, type = 'item', image = 'plant_spray.png', unique = false, useable = false, shouldClose = false, description = 'Plant Spray' },
ammonia = { name = 'ammonia', label = 'Ammonia', weight = 100, type = 'item', image = 'ammonia.png', unique = false, useable = false, shouldClose = false, description = 'Ammonia' },
sacid = { name = 'sacid', label = 'Sacid', weight = 100, type = 'item', image = 'sacid.png', unique = false, useable = false, shouldClose = false, description = 'Sacid' },
atm_hack_device = { name = 'atm_hack_device', label = 'ATM Hack Device', weight = 100, type = 'item', image = 'atm_hack_device.png', unique = false, useable = false, shouldClose = false, description = 'ATM Hack Device' },
blank_card = { name = 'blank_card', label = 'Blank Card', weight = 100, type = 'item', image = 'blank_card.png', unique = false, useable = false, shouldClose = false, description = 'Blank Card' },
moonshine_still = { name = 'moonshine_still', label = 'Moonshine Still', weight = 100, type = 'item', image = 'moonshine_still.png', unique = false, useable = false, shouldClose = false, description = 'Moonshine Still' },
moonshine_pack = { name = 'moonshine_pack', label = 'Moonshine Pack', weight = 100, type = 'item', image = 'moonshine_pack.png', unique = false, useable = false, shouldClose = false, description = 'Moonshine Pack' },
stolen_bag = { name = 'stolen_bag', label = 'Stolen Bag', weight = 100, type = 'item', image = 'stolen_bag.png', unique = false, useable = false, shouldClose = false, description = 'Stolen Bag' },
scrapmetal = { name = 'scrapmetal', label = 'Scrap Metal', weight = 100, type = 'item', image = 'scrapmetal.png', unique = false, useable = false, shouldClose = false, description = 'Scrap Metal' },
plastic = { name = 'plastic', label = 'Plastic', weight = 100, type = 'item', image = 'plastic.png', unique = false, useable = false, shouldClose = false, description = 'Plastic' },
glass = { name = 'glass', label = 'Glass', weight = 100, type = 'item', image = 'glass.png', unique = false, useable = false, shouldClose = false, description = 'Glass' },
copperwire = { name = 'copperwire', label = 'Copper Wire', weight = 100, type = 'item', image = 'copperwire.png', unique = false, useable = false, shouldClose = false, description = 'Copper Wire' },
bandage = { name = 'bandage', label = 'Bandage', weight = 100, type = 'item', image = 'bandage.png', unique = false, useable = false, shouldClose = false, description = 'Bandage' },
painkiller = { name = 'painkiller', label = 'Painkiller', weight = 100, type = 'item', image = 'painkiller.png', unique = false, useable = false, shouldClose = false, description = 'Painkiller' },
medkit = { name = 'medkit', label = 'Medkit', weight = 100, type = 'item', image = 'medkit.png', unique = false, useable = false, shouldClose = false, description = 'Medkit' },
adrenaline = { name = 'adrenaline', label = 'Adrenaline', weight = 100, type = 'item', image = 'adrenaline.png', unique = false, useable = false, shouldClose = false, description = 'Adrenaline' },
unpacked_coke = { name = 'unpacked_coke', label = 'Unpacked Coke', weight = 100, type = 'item', image = 'unpacked_coke.png', unique = false, useable = false, shouldClose = false, description = 'Unpacked Coke' },
cutted_coke = { name = 'cutted_coke', label = 'Cutted Coke', weight = 100, type = 'item', image = 'cutted_coke.png', unique = false, useable = false, shouldClose = false, description = 'Cutted Coke' },
packed_coke = { name = 'packed_coke', label = 'Packed Coke', weight = 100, type = 'item', image = 'packed_coke.png', unique = false, useable = false, shouldClose = false, description = 'Packed Coke' },
uncutted_money = { name = 'uncutted_money', label = 'Uncutted Money', weight = 100, type = 'item', image = 'uncutted_money.png', unique = false, useable = false, shouldClose = false, description = 'Uncutted Money' },
cutted_money = { name = 'cutted_money', label = 'Cutted Money', weight = 100, type = 'item', image = 'cutted_money.png', unique = false, useable = false, shouldClose = false, description = 'Cutted Money' },
fake_credit_card = { name = 'fake_credit_card', label = 'Fake Credit Card', weight = 100, type = 'item', image = 'fake_credit_card.png', unique = false, useable = false, shouldClose = false, description = 'Fake Credit Card' },
cooked_meth = { name = 'cooked_meth', label = 'Cooked Meth', weight = 100, type = 'item', image = 'cooked_meth.png', unique = false, useable = false, shouldClose = false, description = 'Cooked Meth' },
breaked_meth = { name = 'breaked_meth', label = 'Breaked Meth', weight = 100, type = 'item', image = 'breaked_meth.png', unique = false, useable = false, shouldClose = false, description = 'Breaked Meth' },
packed_meth = { name = 'packed_meth', label = 'Packed Meth', weight = 100, type = 'item', image = 'packed_meth.png', unique = false, useable = false, shouldClose = false, description = 'Packed Meth' },
old_corn = { name = 'old_corn', label = 'Old Corn', weight = 100, type = 'item', image = 'old_corn.png', unique = false, useable = false, shouldClose = false, description = 'Old Corn' },
old_fruit = { name = 'old_fruit', label = 'Old Fruit', weight = 100, type = 'item', image = 'old_fruit.png', unique = false, useable = false, shouldClose = false, description = 'Old Fruit' },
tap_water = { name = 'tap_water', label = 'Tap Water', weight = 100, type = 'item', image = 'tap_water.png', unique = false, useable = false, shouldClose = false, description = 'Tap Water' },
crushed_ingredients = { name = 'crushed_ingredients', label = 'Crushed Ingredients', weight = 100, type = 'item', image = 'crushed_ingredients.png', unique = false, useable = false, shouldClose = false, description = 'Crushed Ingredients' },
blended_ingredients = { name = 'blended_ingredients', label = 'Blended Ingredients', weight = 100, type = 'item', image = 'blended_ingredients.png', unique = false, useable = false, shouldClose = false, description = 'Blended Ingredients' },
moonshine = { name = 'moonshine', label = 'Moonshine', weight = 100, type = 'item', image = 'moonshine.png', unique = false, useable = false, shouldClose = false, description = 'Moonshine' },
unpacked_weed = { name = 'unpacked_weed', label = 'Unpacked Weed', weight = 100, type = 'item', image = 'unpacked_weed.png', unique = false, useable = false, shouldClose = false, description = 'Unpacked Weed' },
packed_weed = { name = 'packed_weed', label = 'Packed Weed', weight = 100, type = 'item', image = 'packed_weed.png', unique = false, useable = false, shouldClose = false, description = 'Packed Weed' },
rolled_weed = { name = 'rolled_weed', label = 'Rolled Weed', weight = 100, type = 'item', image = 'rolled_weed.png', unique = false, useable = false, shouldClose = false, description = 'Rolled Weed' },
Item images should be copied into the folder used by your inventory, and the path should match:
Config.InventoryImagesFolder
Final Checklist#
0r_libstarts without errors0r-illegalpackstarts without errorsillegal_tabletexists ifopenWithItem.active = true- Your market items exist in the inventory system
- Your item images load from the folder set in
Config.InventoryImagesFolder - The profile table is created automatically in MySQL