Envi-MethVan
Envi-MethVan Official Documentation
Last updated
Envi-MethVan Official Documentation
Last updated
A working FiveM Server
Basic understanding of FiveM server setup and resource management
An up-to-date version of ox_lib
This documentation provides a comprehensive guide to the configuration options available in the Envi-DrugLabs script. The script simulates a detailed and interactive drug manufacturing process, specifically focused on methamphetamine production. It offers a wide range of customizable features to create a realistic and immersive drug lab experience.
qb-target is known for having issues where zones cannot overlap and you are likely seeing an option like 'Push Vehicle' from qb-smallresources taking priority.
Config.Debug = false -- Debug mode displays target zones and other debug information.
--WARNING: Do not leave this enabled on a live server!
Config.DebugCooking = false --Debug mode for the cooking process.
--Displays debug information during cooking.
--WARNING: This also enables a testing command to give all items (/testMethItems).
--Do not leave this enabled on a live server!
Config.RefreshTime = 5 --Time in seconds that zones will refresh.
--Lower values (not recommended below 2) provide more accuracy but are heavier on performance.
--Higher values are more optimized but less accurate.
Config.VanCooldown = 20 -- Time in minutes the van will be on cooldown after finishing a cook.
Config.SnitchChance = 100 -- Percentage chance that a nearby NPC will snitch on you while cooking.
Config.PestleAndMortarItem = 'pestle_and_mortar' -- item name for Pestle And Mortar
Config.BeakerItem = 'beaker' -- item name for Beaker
Config.MethLabItem = 'methlab' -- item name for Methlab
Config.TestKitItem = 'meth_testkit' -- item name for Meth test kit
Config.EggTimerItem = 'eggtimer' -- item name for Egg Timer
These settings define the item names for various equipment used in the meth cooking process.
Config.EquipmentBreakChance = 30 -- Default 30
Percentage chance that equipment will break when used.
Config.ChemicalMix = {
{label = 'Hydrochloric Acid', item = 'hydrochloricacid'},
{label = 'Red Phosphorus', item = 'red_phos'},
{label = 'Lithium', item = 'lithium'},
{label = 'Crushed Pseudoephedrin', item = 'crushed_pseudo'},
}
Defines the chemicals required for the meth cooking process.
Config.ChemicalAmount = 1
Amount of each chemical needed to cook meth.
Config.AcetoneItem = 'acetone'
Config.FoodColoringItem = 'food_coloring'
Config.PillsItem = 'pseudoephedrine'
Config.CrushedPillsItem = 'crushed_pseudo'
Defines item names for additional chemicals used in the process.
Config.GasMaskItem = 'gasmask'
Config.GasMaskMale = 175
Config.GasMaskFemale = 46
Defines the item name and clothing menu numbers for gas masks.
Config.UseMethMetadata = true
Enables the use of metadata for meth items, providing quality ratings. Only for use with metadata-compatible inventories.
Config.MethItem = 'meth'
Item name for meth when not using metadata. The amount received is based on the final quality rating.
Config.MethMetadataAmount = math.random(10, 20)
Config.MethMetadataItem = 'meth'
Settings for meth rewards when using metadata.
Config.CancelAnimationWithMenu = true
Allows cancellation of animations with a menu, useful for those without built-in cancellation in their hands-up or emote scripts.
The script provides several customizable functions for advanced users:
: Function to open the wardrobe menu.
canCook(): Client-side function to check if cooking is allowed.
callTheFuzz(): Client-side function to alert authorities.
useSink(), useBed(): Customizable functions for using sinks and beds.
onExplosion(), onFireStarted(), onGasLeak(): Event handlers for various incidents.
Config.CustomRandomEvents = false
When enabled, the script will use custom-defined random events instead of pre-made ones.
The script includes detailed functions for meth effects, both with and without metadata:
methEffects(): Handles meth effects without metadata.
methEffectsMetadata(methQuality): Handles meth effects with metadata.
These functions simulate various physical and visual effects based on the quality of the meth consumed.
['acetone'] = {
label = 'Acetone',
weight = 1000,
stack = true,
close = true,
description = 'A highly volatile chemical...',
},
['lithium'] = {
label = 'Lithium',
weight = 500,
stack = true,
close = true,
description = 'Lithium, commonly found in batteries.',
},
['meth_testkit'] = {
label = 'Meth Test Kit',
weight = 500,
stack = true,
close = true,
description = 'Meth Test Kit',
},
['eggtimer'] = {
label = 'Egg Timer',
weight = 500,
stack = true,
close = true,
description = 'Egg Timer',
},
['meth'] = {
label = '1g of Meth',
weight = 100,
stack = true,
close = true,
description = 'A gram of the finest teeth rotting goodness!',
},
['meth_1oz'] = {
label = 'Ounce of Meth',
weight = 280,
stack = true,
close = true,
description = 'A ounce of the finest teeth rotting goodness!',
},
['gasmask'] = {
label = 'Gas Mask',
weight = 3000,
stack = false,
close = true,
description = 'One size fits all!',
},
['hydrochloricacid'] = {
label = 'Hydrochloric Acid',
weight = 500,
stack = true,
close = true,
description = 'Highly acidic.',
},
['red_phos'] = {
label = 'Red Phosphorus',
weight = 500,
stack = true,
close = true,
description = 'A component used in match-sticks.',
},
['pseudoephedrine'] = {
label = 'Pseudoephedrine',
weight = 500,
stack = true,
close = true,
description = 'Over-The-Counter medication.',
},
['crushed_pseudo'] = {
label = 'Crushed Pseudo',
weight = 500,
stack = true,
close = true,
description = 'Over-The-Counter medication crushed into a fine powder.',
},
['pestle_and_mortar'] = {
label = 'Pestle and Mortar',
weight = 2000,
stack = true,
close = true,
description = 'Used for crushing ingredients.',
},
['methlab'] = {
label = 'Portable Meth-Lab',
weight = 10000,
stack = true,
close = true,
description = 'Meth equipment for on-the-go!',
},
['beaker'] = {
label = 'Chemical Beaker',
weight = 1500,
stack = true,
close = true,
description = 'Pyrex beaker for mixing chemicals!',
},
['food_coloring'] = {
label = 'Food Coloring (Blue)',
weight = 500,
stack = true,
close = true,
description = 'Give your food that "Jesse Special"',
},
['acetone'] = {['name'] = 'acetone', ['label'] = 'Acetone', ['weight'] = 1000, ['type'] = 'item', ['image'] = 'acetone.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'A highly volitile chemical..'},
['lithium'] = {['name'] = 'lithium', ['label'] = 'Lithium', ['weight'] = 500, ['type'] = 'item', ['image'] = 'lithium.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Lithium, commonly found in batteries.'},
['meth_testkit'] = {['name'] = 'meth_testkit', ['label'] = 'Meth Test Kit', ['weight'] = 500, ['type'] = 'item', ['image'] = 'meth_testkit.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Meth Test Kit.'},
['eggtimer'] = {['name'] = 'eggtimer', ['label'] = 'Egg Timer', ['weight'] = 500, ['type'] = 'item', ['image'] = 'eggtimer.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Egg Timer.'},
['meth'] = {['name'] = 'meth', ['label'] = '1g of Meth', ['weight'] = 100, ['type'] = 'item', ['image'] = 'meth.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A gram of the finest teeth rotting goodness!'},
['meth_1oz'] = {['name'] = 'meth_1oz', ['label'] = 'Ounce of Meth', ['weight'] = 280, ['type'] = 'item', ['image'] = 'meth_1oz.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A ounce of the finest teeth rotting goodness!'},
['gasmask'] = {['name'] = 'gasmask', ['label'] = 'Gas Mask', ['weight'] = 3000, ['type'] = 'item', ['image'] = 'gasmask.png', ['unique'] = true, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'One size fits all!'},
['hydrochloricacid'] = {['name'] = 'hydrochloricacid', ['label'] = 'Hydrochloric Acid', ['weight'] = 500, ['type'] = 'item', ['image'] = 'hydrochloricacid.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Highly acidic.'},
['red_phos'] = {['name'] = 'red_phos', ['label'] = 'Red Phosphorus', ['weight'] = 500, ['type'] = 'item', ['image'] = 'red_phos.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A componant used in match-sticks.'},
['pseudoephedrine'] = {['name'] = 'pseudoephedrine', ['label'] = 'Pseudoephedrine', ['weight'] = 500, ['type'] = 'item', ['image'] = 'pseudoephedrine.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Over-The-Counter medication.'},
['crushed_pseudo'] = {['name'] = 'crushed_pseudo', ['label'] = 'Crushed Pseudo', ['weight'] = 500, ['type'] = 'item', ['image'] = 'crushed_pseudo.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Over-The-Counter medication crushed into a fine powder.'},
['pestle_and_mortar'] = {['name'] = 'pestle_and_mortar', ['label'] = 'Pestle and Mortar', ['weight'] = 2000, ['type'] = 'item', ['image'] = 'pestle_and_mortar.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Used for crushing ingredients.'},
['methlab'] = {['name'] = 'methlab', ['label'] = 'Portable Meth-Lab', ['weight'] = 10000, ['type'] = 'item', ['image'] = 'methlab.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Meth equipment for on-the-go!'},
['beaker'] = {['name'] = 'beaker', ['label'] = 'Chemical Beaker', ['weight'] = 1500, ['type'] = 'item', ['image'] = 'beaker.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Pyrex beaker for mixing chemicals!'},
['food_coloring'] = {['name'] = 'food_coloring', ['label'] = 'Food Coloring (Blue)', ['weight'] = 500, ['type'] = 'item', ['image'] = 'food_coloring.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Give your food that "Jesse Special"'},
acetone = {name = 'acetone', label = 'Acetone', weight = 1000, type = 'item', image = 'acetone.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'A highly volitile chemical..'},
lithium = {name = 'lithium', label = 'Lithium', weight = 500, type = 'item', image = 'lithium.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Lithium, commonly found in batteries.'},
meth_testkit = {name = 'meth_testkit', label = 'Meth Test Kit', weight = 500, type = 'item', image = 'meth_testkit.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Meth Test Kit.'},
eggtimer = {name = 'eggtimer', label = 'Egg Timer', weight = 500, type = 'item', image = 'eggtimer.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Egg Timer.'},
meth = {name = 'meth', label = '1g of Meth', weight = 100, type = 'item', image = 'meth.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'A gram of the finest teeth rotting goodness!'},
meth_1oz = {name = 'meth_1oz', label = 'Ounce of Meth', weight = 280, type = 'item', image = 'meth_1oz.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'A ounce of the finest teeth rotting goodness!'},
gasmask = {name = 'gasmask', label = 'Gas Mask', weight = 3000, type = 'item', image = 'gasmask.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'One size fits all!'},
hydrochloricacid = {name = 'hydrochloricacid', label = 'Hydrochloric Acid', weight = 500, type = 'item', image = 'hydrochloricacid.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Highly acidic.'},
red_phos = {name = 'red_phos', label = 'Red Phosphorus', weight = 500, type = 'item', image = 'red_phos.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'A componant used in match-sticks.'},
pseudoephedrine = {name = 'pseudoephedrine', label = 'Pseudoephedrine', weight = 500, type = 'item', image = 'pseudoephedrine.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Over-The-Counter medication.'},
crushed_pseudo = {name = 'crushed_pseudo', label = 'Crushed Pseudo', weight = 500, type = 'item', image = 'crushed_pseudo.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Over-The-Counter medication crushed into a fine powder.'},
pestle_and_mortar = {name = 'pestle_and_mortar', label = 'Pestle and Mortar', weight = 2000, type = 'item', image = 'pestle_and_mortar.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Used for crushing ingredients.'},
methlab = {name = 'methlab', label = 'Portable Meth-Lab', weight = 10000, type = 'item', image = 'methlab.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Meth equipment for on-the-go!'},
beaker = {name = 'beaker', label = 'Chemical Beaker', weight = 1500, type = 'item', image = 'beaker.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Pyrex beaker for mixing chemicals!'},
food_coloring = {name = 'food_coloring', label = 'Food Coloring (Blue)', weight = 500, type = 'item', image = 'food_coloring.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Give your food that "Jesse Special"'},
acetone = {name = 'acetone', label = 'Acetone', weight = 1000, type = 'item', image = 'acetone.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'A highly volitile chemical..'},
lithium = {name = 'lithium', label = 'Lithium', weight = 500, type = 'item', image = 'lithium.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Lithium, commonly found in batteries.'},
meth_testkit = {name = 'meth_testkit', label = 'Meth Test Kit', weight = 500, type = 'item', image = 'meth_testkit.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Meth Test Kit.'},
eggtimer = {name = 'eggtimer', label = 'Egg Timer', weight = 500, type = 'item', image = 'eggtimer.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Egg Timer.'},
meth = {name = 'meth', label = '1g of Meth', weight = 100, type = 'item', image = 'meth.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'A gram of the finest teeth rotting goodness!'},
meth_1oz = {name = 'meth_1oz', label = 'Ounce of Meth', weight = 280, type = 'item', image = 'meth_1oz.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'A ounce of the finest teeth rotting goodness!'},
gasmask = {name = 'gasmask', label = 'Gas Mask', weight = 3000, type = 'item', image = 'gasmask.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'One size fits all!'},
hydrochloricacid = {name = 'hydrochloricacid', label = 'Hydrochloric Acid', weight = 500, type = 'item', image = 'hydrochloricacid.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Highly acidic.'},
red_phos = {name = 'red_phos', label = 'Red Phosphorus', weight = 500, type = 'item', image = 'red_phos.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'A componant used in match-sticks.'},
pseudoephedrine = {name = 'pseudoephedrine', label = 'Pseudoephedrine', weight = 500, type = 'item', image = 'pseudoephedrine.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Over-The-Counter medication.'},
crushed_pseudo = {name = 'crushed_pseudo', label = 'Crushed Pseudo', weight = 500, type = 'item', image = 'crushed_pseudo.png', unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Over-The-Counter medication crushed into a fine powder.'},
pestle_and_mortar = {name = 'pestle_and_mortar', label = 'Pestle and Mortar', weight = 2000, type = 'item', image = 'pestle_and_mortar.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Used for crushing ingredients.'},
methlab = {name = 'methlab', label = 'Portable Meth-Lab', weight = 10000, type = 'item', image = 'methlab.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Meth equipment for on-the-go!'},
beaker = {name = 'beaker', label = 'Chemical Beaker', weight = 1500, type = 'item', image = 'beaker.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Pyrex beaker for mixing chemicals!'},
food_coloring = {name = 'food_coloring', label = 'Food Coloring (Blue)', weight = 500, type = 'item', image = 'food_coloring.png', unique = false, useable = false, shouldClose = false, combinable = nil, description = 'Give your food that "Jesse Special"'},
The script supports custom vehicle configurations for meth labs:
Each vehicle entry includes detailed configurations for:
Door positions
Cooking areas
Equipment placement
Sitting positions
Bed positions
Sink, wardrobe, and storage locations
Config.Vehicles = {
[-800979823] = { -- vehicle hash
modelname = 'envimethvan', -- model name
door = {offset = vector3(1.15, -1.65, 0.9), id = 5, boneIndex = 5},
cooking = {offset = vector3(-0.7,-2.8,1.0 ), id = 6},
equipment = {offset = vector3(0.6,-2.9,1.0 ), id = 7},
equipment2 = {offset = vector3(0.6,-4.3,1.0 ), id = 8},
sitOffsets = {
{offset = vector3(0.7, -4.9, 0.8), pitch = -15.0, heading = 0.0, dict = "amb@code_human_in_car_idles@van@ds@idle_a", anim = "idle_a"},
{offset = vector3(0.7, -3.7, 0.8), pitch = -15.0, heading = 180.0, dict = "amb@code_human_in_car_idles@van@ds@idle_a", anim = "idle_a"},
{offset = vector3(-0.75, -4.3, 0.75),pitch = -25.5, heading = -90.0, dict = "amb@code_human_in_car_idles@generic@ps@idle_e", anim = "idle_m"},
},
bedOffsets = {
{offset = vector3(0.0, -1.15, 1.55),pitch = 0.0, heading = 90.0, dict = 'savem_default@', anim = 'm_sleep_r_loop'},
},
sinkOffsets = {
{offset = vector3(-0.7, -3.45, 1.00)},
},
wardrobeOffsets = {
{offset = vector3(-0.3, -5.15, 1.55)},
},
storageOffsets = {
{offset = vector3(0.0, -1.15, 0.80)},
},
cookingOffsets = {
{offset = vector3(-0.7, -3.00, 2.00)},
},
},
[2140716337] = { -- vehicle hash
modelname = 'cararv', -- model name
door = {offset = vector3(1.15, -1.65, 0.9), id = 5, boneIndex = 5},
cooking = {offset = vector3(-0.7,-2.8,1.0 ), id = 6},
equipment = {offset = vector3(0.6,-2.9,1.0 ), id = 7},
equipment2 = {offset = vector3(0.6,-4.3,1.0 ), id = 8},
sitOffsets = {
{offset = vector3(0.7, -4.9, 0.8), pitch = -15.0, heading = 0.0, dict = "amb@code_human_in_car_idles@van@ds@idle_a", anim = "idle_a"},
{offset = vector3(0.7, -3.7, 0.8), pitch = -15.0, heading = 180.0, dict = "amb@code_human_in_car_idles@van@ds@idle_a", anim = "idle_a"},
{offset = vector3(-0.75, -4.3, 0.75),pitch = -25.5, heading = -90.0, dict = "amb@code_human_in_car_idles@generic@ps@idle_e", anim = "idle_m"},
},
bedOffsets = {
{offset = vector3(0.0, -1.15, 1.55),pitch = 0.0, heading = 90.0, dict = 'savem_default@', anim = 'm_sleep_r_loop'},
},
sinkOffsets = {
{offset = vector3(-0.7, -3.45, 1.00)},
},
wardrobeOffsets = {
{offset = vector3(-0.3, -5.15, 1.55)},
},
storageOffsets = {
{offset = vector3(0.0, -1.15, 0.80)},
},
cookingOffsets = {
{offset = vector3(-0.7, -3.00, 2.00)},
},
},
}
Interactions are performed using a '3rd eye' target system like Ox Target or QB-Target. Turn on Config.DebugCooking for a detailed guide in the F8 console. It is recommended to turn debug off when in a live setting after testing is completed.
Start Cook: Interact with the Envi Meth Van and select "Start Cook".
Set Up Equipment: Interact with the equipment station to spawn necessary props. One on each table and one on the stove. Ensure you have the required items in your inventory.
Mix Chemicals: Adjust the chemical ratios for your unique mix. This is all based on ratios. If someone does over 125 total or under 50 total - the mix is randomized.
Turn on Stove: Use the provided option to turn on the stove.
Add Chemical Mixture: Once the stove is on, add the chemical mixture to begin cooking.
Maintain Pressure and Temperature: Keep pressure above 70 but below 100 and pressure at a medium to high level for best results.
Avoid Extremes: Avoid letting pressure and temperature get too high, as this may lead to fire or explosion.
Additional Chemicals: Adding the correct chemicals at specific times enhances cook quality.
Chemical 1: Add between 30% and 60% of the cook.
Chemical 2: Add between 60% and 80% of the cook.
Chemical 3: Can be used between 10% and 70% progress.
Chemical 4: Must be added at the start, before 15%.
Acetone: Add between 50% and 85%.
Food Coloring: Add at the end, after 85%.
The Config.Lang table provides extensive language customization options, including:
Debug messages
Notifications and menu text
Equipment and action labels
Event descriptions and choices
Config.Lang = {
-- DEBUG PRINTS --
stoppedBecauseNotExists = "stopping because not DoesEntityExist(methLabVeh)",
stoppedBecauseNotStarted = "stopping because not isStarted",
stoppedBecauseNotMixCooking = "stopping because not mixCooking",
stoppedBecauseStopCounter = "stopped because StopCounter > 5",
stoppedBecauseFailCounter = "stopped because failCounter > 10",
stoppedBecauseQuality = "stopped because qualityScore <= 0",
stoppedBecauseDead = "stopped because you are dead",
-- NOTIFICATIONS AND MENUS --
abandonedCook = "You abandoned the cook!!",
failedCook = "You failed the cook! Pay more attention next time!",
diedCookAbandoned = "You died! Cook abandoned!",
MixtureBoiling = "The mixture is starting to boil over and the pressure is rising fast! - Lower the pressure immediately!",
StoveOut = "The stove has almost gone out! Turn it up before we ruin the mixture!",
DecisionsHeader = 'Decisions, Decisions...',
MixtureSettling = 'The mixture is starting to settle, do you want to stir it?',
StirItUp = 'Stir it up!',
BetterNot = 'Better not..',
MixtureStirred = "The mixture has been stirred!",
MixtureSettled = "The mixture has settled!",
ToxicSpillAlert = 'Toxic Spill Alert!',
ToxicSpillContent = 'There is a toxic spill in the cooking area. Do you want to neutralize the spill with a chemical or ventilate the area?',
Neutralize = 'Neutralize with chemical',
Ventilate = 'Ventilate area',
NeutralizedSpill = "You neutralized the spill, but the chemical reaction affected the quality.",
VentilatedArea = "You ventilated the area, reducing the pressure.",
ChemicalReactionChain = 'Chemical Reaction Chain!',
ChemicalReactionContent = 'A chain of chemical reactions is starting to occur. Do you want to introduce a stabilizer or adjust the mixture composition?',
IntroduceStabilizer = 'Introduce a stabilizer',
StabilizerIntroduced = "You introduced a stabilizer..",
powerOutage = "The power has gone out! Check the engine bay and investigate the problem!",
inspectPowerHeader = "Decisions, Decisions...",
inspectPowerContent = "Could be the fuse or the battery connection. What do you want to do?",
secureConnection = "Secure the connection!",
switchFuse = "Switch the fuse!",
adjustingPowerCable = "Adjusting power cable!",
foundLooseConnection = "Found a loose connection - Attempting to repair!",
connectionSecured = "The connection has been secured!",
shockedYourself = "The connection has been secured but you shocked yourself!!",
installingFreshFuse = "Installing a fresh fuse!",
powerRestored = "The power has been restored!",
UnusualNoise = 'Unusual Noise!',
NoiseContent = 'A strange noise is coming from the equipment. Do you want to investigate the noise or continue the process?',
InvestigateNoise = 'Investigate the noise',
ContinueProcess = 'Continue the process',
ValveTightened = "You discovered a loose valve and tightened it. Pressure stabilized.",
WaterLeak = "Ignoring the noise led to a small water leak.",
TemperatureDrop = "Temperature Drop",
TemperatureDropContent = "The temperature in the lab has dropped significantly. You need to take action.",
SealWindows = "Seal Windows",
AddInsulation = "Add Insulation",
WindowsSealed = "Windows Sealed Successfully",
InsulationFailed = "Insulation Attempt Failed",
TemperatureSpike = 'Temperature Spike!',
TemperatureSpikeContent = 'The temperature is rising rapidly. Do you want to add cold water or adjust the mixture composition?',
AddColdWater = 'Add cold water',
AdjustMixture = 'Adjust Mixture Composition',
FireStarted = "Water and Chemicals don't mix well. You started a fire!",
PressureSpike = "Adjusting the mixture led to a pressure spike.",
CookingAreaFire = "A fire has started in the cooking area!",
ToxicFumes = "You are inhaling toxic fumes!",
CallingCops = "Looks like someone is calling the cops!",
PressToGetUp = "Press E to get up",
MissingItems = "You are missing some items!",
CantUsePowerOut = "You can't use this while the power is out. Check the engine bay to investigate the problem!",
RaisedTemperature = "You raised the temperature to Level: ",
LoweredTemperature = "You lowered the temperature to Level: ",
LoweredPressure = "You turn the release valve, lowering the pressure.",
AlreadyStartedCooking = "You have already started cooking.",
CantUseThis = "You can't use this!",
cookingComplete = "Cooking Complete! Final Quality: ",
Attention = "Attention!",
MysteriousSmell = "What's that smell?",
SmellContent = "There is a mysterious smell coming from the equipment. Do you want to investigate the smell or continue on?",
InvestigateSmell = "Investigate",
IgnoreSmell = "Continue",
LeakStopped = "You found a small leak coming from the gas pipe! Good thing you stopped it before it got worse.",
LeakIgnored = "You ignored the smell and a leak started in the gas pipe!",
CurrentQualityScore = "Current Quality Rating: ",
Broken = "Your equipment broke!",
-- EQUIPMENT MENU --
EquipmentGauges = "Equipment Gauges",
EquipmentGaugesProgress = "Equipment Gauges - Progress: ",
CheckThermometer = "Check Thermometer",
ViewCurrentTemperature = "View the current temperature of the equipment",
CheckPressureGauge = "Check Pressure Gauge",
AddChemicals = "Add Chemicals",
AddAdditionalChemicals = "Add additional chemicals to the mixture",
TestKit = "Use Testing Kit",
TestMixtureQuality = "Test the current quality of the mixture",
ReleasePressure = "Release Pressure",
TurnPressureReleaseValve = "Turn the pressure release valve to lower the pressure",
StopCooking = "Stop Cooking",
StopCookingDrugs = "Stop cooking the drugs",
Temperature = "Temperature",
TemperatureLevel = "Temperature Level",
Pressure = "Pressure",
-- TARGET LABELS --
Sit = "Sit",
LayDown = "Lay Down",
OpenDoor = "Open Door",
CloseDoor = "Close Door",
StartCooking = "Start Cooking",
TurnUpTemperature = "Turn Up Temperature",
TurnDownTemperature = "Turn Down Temperature",
SwitchOn = "Switch On",
AddChemicalMixture = "Add Chemical Mixture",
SetUpEquipment = "Set-Up Equipment",
SetUpChemicalBeaker = "Set-Up Chemical Beaker",
MixChemicals = "Mix Chemicals",
RemoveChemicalBeaker = "Remove Chemical Beaker",
SetUpPestleAndMortar = "Set-Up Pestle and Mortar",
CrushPsuedoephedrine = "Crush Psuedoephedrine",
PickUpPestleAndMortar = "Pick Up Pestle and Mortar",
UseSink = "Use Sink",
OpenWardrobe = "Open Wardrobe",
OpenStorage = "Open Storage",
CheckEquipment = "Check Equipment",
inspectPower = "Inspect Power",
PressureOFF = "OFF",
Pressure1 = "1 BAR - (LOW)",
Pressure2 = "2 BAR - (MEDIUM)",
Pressure3 = "3 BAR - (HIGH)",
Pressure4 = "4 BAR - (VERY HIGH)",
-- SEATS/ BEDS --
BedBusy = "This bed is currently occupied!",
SeatBusy = "This seat is currently occupied!",
}
This allows for easy localization and customization of all text elements in the script.
This configuration file offers a high degree of customization for the Envi-DrugLabs script, allowing server administrators to fine-tune the meth cooking experience to their specific needs. From adjusting item names and chances to customizing vehicle layouts and language settings, the script provides a comprehensive and flexible system for simulating drug manufacturing in a FiveM environment.