Install Instructions

Automatic SQL Injection

You'll notice in your lation_meth/install directory a file named lation_meth_*.sql - you do not need to import these files manually into your database. Upon starting your server (or just the resource) it will automatically create and setup the necessary database tables for you if it doesn't exist already.

Step 1 - Install Dependencies

There are only three dependencies (other resources) required to get Advanced Meth Crafting installed properly & working: oxmysql, ox_lib & bob74_ipl. You may already have these installed, but please double check & ensure you have the latest version of each.

Download the latest release version of oxmysql
Download the latest release version of ox_lib
Download the latest release version of bob74_ipl

Important Notice

It is vitally important to ensure you start each resource in the correct order in your server.cfg. To begin, "oxmysql" should be one of, if not, the first resource started, followed by "ox_lib" and lastly "bob74_ipl" - all of these should be started even before your framework (qb-core or es_extended).

Step 2 - Add Items

Next up, simply navigate to lation_meth/install/items directory (or look below this message) and find your respective inventory resource. Open the text file (or expand the drop-down menu) and copy and paste the items into your inventory resource's item directory.

Where do I add items in my inventory?

If you are unsure exactly where and how to add items into your inventory, just expand the drop down menu for your inventory and at the top will tell you where you need to copy the items too!

ox_inventory
-- Add items into ox_inventory/data/items.lua
['ls_meth_table'] = {
	label = 'Meth Table',
	weight = 1000,
	stack = false
},

['ls_gas_mask'] = {
	label = 'Gas Mask',
	weight = 150,
	stack = false
},

['ls_pseudoephedrine'] = {
	label = 'Pseudoephedrine Pills',
	weight = 50
},

['ls_crushed_pseudoephedrine'] = {
	label = 'Crushed Pseudoephedrine',
	weight = 25
},

['ls_ammonia'] = {
	label = 'Ammonia',
	weight = 250,
	stack = false
},

['ls_iodine'] = {
	label = 'Iodine',
	weight = 250,
	stack = false
},

['ls_acetone'] = {
	label = 'Acetone',
	weight = 250,
	stack = false
},

['ls_liquid_meth'] = {
	label = 'Liquid Meth',
	weight = 225
},

['ls_hydrochloric_acid'] = {
	label = 'Hydrochloric Acid',
	weight = 250
},

['ls_meth'] = {
	label = 'Meth',
	weight = 50
},

['ls_supply_crate'] = {
	label = 'Supplies',
	weight = 1000
},

['ls_meth_tray'] = {
	label = 'Meth Tray',
	weight = 50
},

['ls_meth_box'] = {
	label = 'Meth Box',
	weight = 50
},
qb-inventory
-- Add items into [qb]/qb-core/shared/items.lua
ls_meth_table = { name = 'ls_meth_table', label = 'Meth Table', weight = 1000, type = 'item', image = 'ls_meth_table.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = nil },
ls_gas_mask = { name = 'ls_gas_mask', label = 'Gas Mask', weight = 150, type = 'item', image = 'ls_gas_mask.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = nil },
ls_pseudoephedrine = { name = 'ls_pseudoephedrine', label = 'Pseudoephedrine', weight = 50, type = 'item', image = 'ls_pseudoephedrine.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_crushed_pseudoephedrine = { name = 'ls_crushed_pseudoephedrine', label = 'Crushed Pseudoephedrine', weight = 25, type = 'item', image = 'ls_crushed_pseudoephedrine.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_ammonia = { name = 'ls_ammonia', label = 'Ammonia', weight = 250, type = 'item', image = 'ls_ammonia.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_iodine = { name = 'ls_iodine', label = 'Iodine', weight = 250, type = 'item', image = 'ls_iodine.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_acetone = { name = 'ls_acetone', label = 'Acetone', weight = 250, type = 'item', image = 'ls_acetone.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_liquid_meth = { name = 'ls_liquid_meth', label = 'Liquid Meth', weight = 225, type = 'item', image = 'ls_liquid_meth.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = 'I would not recommend drinking this' },
ls_hydrochloric_acid = { name = 'ls_hydrochloric_acid', label = 'Hydrochloric Acid', weight = 250, type = 'item', image = 'ls_hydrochloric_acid.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_meth = { name = 'ls_meth', label = 'Meth', weight = 50, type = 'item', image = 'ls_meth.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_supply_crate = { name = 'ls_supply_crate', label = 'Supplies', weight = 1000, type = 'item', image = 'ls_supply_crate.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = nil },
ls_meth_tray = { name = 'ls_meth_tray', label = 'Meth Tray', weight = 50, type = 'item', image = 'ls_meth_tray.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = nil },
ls_meth_box = { name = 'ls_meth_box', label = 'Meth Box', weight = 50, type = 'item', image = 'ls_meth_box.png', unique = true, useable = false, shouldClose = true, combinable = nil, description = nil },
qs-inventory
-- Add items into [qb]/qb-core/shared/items.lua if on QBCore
-- Add items into qs-inventory/shared/items.lua if on ESX
['ls_meth_table'] = {
    ['name'] = 'ls_meth_table',
    ['label'] = 'Meth Table',
    ['weight'] = 1000,
    ['type'] = 'item',
    ['image'] = 'ls_meth_table.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_gas_mask'] = {
    ['name'] = 'ls_gas_mask',
    ['label'] = 'Gas Mask',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'ls_gas_mask.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_pseudoephedrine'] = {
    ['name'] = 'ls_pseudoephedrine',
    ['label'] = 'Pseudoephedrine',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'ls_pseudoephedrine.png',
    ['unique'] = false,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_crushed_pseudoephedrine'] = {
    ['name'] = 'ls_crushed_pseudoephedrine',
    ['label'] = 'Crushed Peudoephedrine',
    ['weight'] = 25,
    ['type'] = 'item',
    ['image'] = 'ls_crushed_pseudoephedrine.png',
    ['unique'] = false,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_ammonia'] = {
    ['name'] = 'ls_ammonia',
    ['label'] = 'Ammonia',
    ['weight'] = 250,
    ['type'] = 'item',
    ['image'] = 'ls_ammonia.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_iodine'] = {
    ['name'] = 'ls_iodine',
    ['label'] = 'Iodine',
    ['weight'] = 250,
    ['type'] = 'item',
    ['image'] = 'ls_iodine.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_acetone'] = {
    ['name'] = 'ls_acetone',
    ['label'] = 'Acetone',
    ['weight'] = 250,
    ['type'] = 'item',
    ['image'] = 'ls_acetone.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_liquid_meth'] = {
    ['name'] = 'ls_liquid_meth',
    ['label'] = 'Liquid Meth',
    ['weight'] = 225,
    ['type'] = 'item',
    ['image'] = 'ls_liquid_meth.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'I would not recommend drinking this'
},
['ls_hydrochloric_acid'] = {
    ['name'] = 'ls_hydrochloric_acid',
    ['label'] = 'Hydrochloric Acid',
    ['weight'] = 250,
    ['type'] = 'item',
    ['image'] = 'ls_hydrochloric_acid.png',
    ['unique'] = false,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_meth'] = {
    ['name'] = 'ls_meth',
    ['label'] = 'Meth',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'ls_meth.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_supply_crate'] = {
    ['name'] = 'ls_supply_crate',
    ['label'] = 'Meth',
    ['weight'] = 1000,
    ['type'] = 'item',
    ['image'] = 'ls_supply_crate.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_meth_tray'] = {
    ['name'] = 'ls_meth_tray',
    ['label'] = 'Meth Tray',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'ls_meth_tray.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},
['ls_meth_box'] = {
    ['name'] = 'ls_meth_box',
    ['label'] = 'Meth Box',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'ls_meth_box.png',
    ['unique'] = true,
    ['useable'] = false,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = nil
},

Step 3 - Add Images

Very similar to step one, except this time we will be adding the images for each item we added above into our respective inventory directories for images. Navigate to lation_meth/install/images to find all the images or download the ZIP file attached below then follow the instructions.

ox_inventory

Drag and drop the images into ox_inventory/web/images folder.

qb-inventory

Drag and drop the images into [qb]/qb-inventory/html/images folder.

qs-inventory

Drag and drop the images into qs-inventory/html/images folder.

Step 4 - Setup Config

Before you launch your server for the first time with the new resource it is best to ensure you have some general options set to your preferred options. At the top of the config you will find the following:

----------------------------------------------
--        🛠️ Setup the basics below
----------------------------------------------

Config.Setup = {
    -- Use only if needed, directed by support or know what you're doing
    -- Notice: enabling debug features will significantly increase resmon
    -- And should always be disabled in production
    debug = false,
    -- Set your interaction system below
    -- Available options are: 'ox_target', 'qb-target', 'interact', 'textui' & 'custom'
    -- 'custom' needs to be added to client/functions.lua
    interact = 'textui',
    -- Set your notification system below
    -- Available options are: 'ox_lib', 'esx', 'qb', 'okok', 'sd-notify', 'wasabi_notify' & 'custom'
    -- 'custom' needs to be added to client/functions.lua
    notify = 'ox_lib',
    -- Set your progress bar system below
    -- Available options are: 'ox_lib', 'qbcore' & 'custom'
    -- 'custom' needs to be added to client/functions.lua
    -- Any custom progress bar must also support animations
    progress = 'ox_lib',
    -- Set your police dispatch system below
    -- Available options: cd_dispatch, ps-dispatch, qs-dispatch, core_dispatch,
    -- rcore_dispatch, aty_dispatch, op-dispatch, origen_police, emergencydispatch & 'custom'
    -- 'custom' needs to be added manually to client/functions.lua
    dispatch = 'none',
    -- Do you want to be notified via server console if an update is available?
    -- True if yes, false if no
    version = true,
    -- The below is only used if interact = 'textui'
    -- This will be the key used for interactions, default is E
    -- More options here: https://docs.fivem.net/docs/game-references/controls/
    control = 38,
    -- 'request' option below is how long the client should wait for a model/anim to load
    -- Do not edit unless you know what you are doing or directed via support member
    request = 10000,
    -- Render is the number of units (distance) from the closest table a player
    -- Must be within in order for the prop to spawn and be visible
    -- (outside this number/distance the props are deleted until needed again)
    render = 100
}

By default, the Config.Setup.target value will be set to 'textui' which means no target system will be used and instead TextUI interactions will be used. If you wish to use a targeting system instead, you must specify which target system you use from the available options listed.

Furthermore, there are countless other configurations that can be made in the config file to customize the script to your liking and fit your server's specific needs! Every option in the config is detailed with comments explaining the use & effects of each option - so please read diligently and carefully.

Step 5 - Ensure Resource

The final step is simple - drag and drop the lation_meth resource into your main resources directory or even a sub-folder. Open your server.cfg and add "ensure lation_meth" to the bottom. As mentioned above, resource start order is vitally important and you must ensure that lation_meth is started after all dependencies (and your framework).

Lastly - save, restart your server & enjoy the most powerful meth script on FiveM!

Are you having trouble?

If at any point you are struggling to install the script, feel free to contact us for help! You can open a support ticket in our Discord or email us anytime at support@lationscripts.com.

Last updated