Usage
Farming
Players place pots in designated farming zones, plant seeds, tend to the crops, and harvest them when mature. Pots and crop states persist between server restarts.
Step by step
- Obtain a pot - small, medium or large. Each pot size supports a different number of plants.
- Place the pot in a valid planting zone.
- Plant seeds - interact with the pot and select a seed from your inventory.
- Water the pot regularly using a water can.
- (Optional) Fertilize the pot to speed up growth.
- (Optional) Scan the pot to monitor the stats of the plant, to get the best quality.
- Harvest once crops reach their final growth stage.
Zone Requirements
Each planting zone has minimum humidity and sun values required for crops to grow. Zones may also restrict which seed types can be planted via a seedsAllowlist.
Crop types
The following seeds and crops are used. All item names can be remapped in Config.Items.
| Crop | Seed item | Harvest item | Use item |
|---|---|---|---|
| Grape Ape | seeds_weed_1a | weed_1a | joint_1a |
| Cherry Kush | seeds_weed_1b | weed_1b | joint_1b |
| Martian Candy | seeds_weed_2a | weed_2a | joint_2a |
| Exodus | seeds_weed_2b | weed_2b | joint_2b |
| Headband | seeds_weed_2c | weed_2c | joint_2c |
| Coca Leaf | seeds_cocaine | cocaine_leaf | cocaine |
Additional required items: drugs_pot_small, drugs_pot_medium, drugs_pot_large, farm_water_can, farm_fertilizer.
Weed
Players use harvested weed crops with rolling paper to create joints, that reduce stress and players VFX.
Step by step
- Make sure you have the correct items to roll a joint, the crop of weed itself and required items found in
SvConfig.Pots.jointCrafting.requiredAdditionalItems, by default it isrolling_paper. - Use the crop of weed and you will start rolling a joint.
- Congrats! You've just rolled a joint.
Item Uses
Note: You can add your own item use logic in server/editable.lua.
Cocaine
Players dry harvested coca leaves, mix into paste and burn into powder, ready to be wrapped into bricks. All stage objects are placeable in the world and persist across server restarts.
Step by step
- Place dry rack - Put down a dry rack in the world.
- Use the dry rack - Target the dry rack and place harvested coca leaves into it, until they're fully dry. (Their image will update in real time and durability will be 100% when they're ready to extract).
- Remove dry leaves - Remove all dry leaves from the drying rack.
- Use mixing container - Place the configured about of dry leaves, limestone dust and solvent into a mixing container and shake it.
- Shake minigame - Perform the container shaking minigame, to mix the contents inside and get coca paste.
- Place smelting furnace - Put down a smelting furnace in the world.
- Use smelting furnace - Put the coca paste into a smelting furnace, to smelt them into cocaine paste.
- Wrap the brick - Use the cocaine powder with plastic in your inventory to wrap it into a brick.
- Use the brick - Use the cocaine brick to split it into 20 baggies.
- Use a baggie - You can now use one of the baggies to get high.
Item Uses
Note: You can add your own item use logic in server/editable.lua.
Meth
Players set up mobile outdoor cook sites by placing portable meth kits, cookers and ammonia barrels, linking them and then loading ingredients to run a multi‑stage cook (prep → react → refine → pack).
Cookers consume ammonia, degrade over cycles, need their temperature stablizing after time and can be sabotaged or explode on failure. All items are placeable in the world and persist across server restarts.
Step by step
- Go to outdoor spot - Drive one of the configured RV's to the outdoors county zones.
- Use meth kit - Target the RV to attach a meth kit to it. (Your vehicle will be frozen until it's removed)
- Place meth cooker - Put down a meth cooker near the kit, the bigger the cooker the longer you will have, until the temperature needs stabilizing.
- (Optional - Meth cooler) - Attach a meth cooler to the meth cooker to extend how long until the temperature needs stabilizing.
- Place ammonia barrel - Put down an ammonia barrel near the kit & cooker, then attach a hose to the barrel and to the cooker.
- Configure ingredients - Open the meth cooker and input the required materials found in
Config.Meth.startingItems. - Tune the recipe - Target the cooker and tune the burning rates for each material, these numbers correlate each players unique recipe, the closer 1:1 they match to the recipe, the better the quality of the batch.
- Start cooking - Target the cooker and start cooking the meth, after naming the batch.
- Cooking - Do what you need to whilst cooking the meth, stabilizing the temperature, being present, etc.
- Meth cooked - Once the meth is cooked, you can remove your hose and pickup your objects (ammonia, cooker & kit).
- Kit removal - Once the meth kit is removed, the vehicle will be unfrozen.
- Use the meth - You can now use the meth item to get high.
Item Uses
Note: You can add your own item use logic in server/editable.lua.
Meth Lab (MLO)
Players placing down ammonia barrels, linking them and then loading ingredients to run a multi‑stage cook (prep → react → refine → pack).
Access
Players will need the meth_lab_card item in order to access the MLO.
Step by step
- Go to the lab MLO - Head towards the MLO and use the above item to get access to the MLO's interior.
- Place ammonia barrel - Put down an ammonia barrel near one of the interiors cookers, then attach a hose to the barrel and to the cooker.
- Configure ingredients - Open the meth cooker and input the required materials found in
Config.Meth.startingItems. - Tune the recipe - Target the cooker and tune the burning rates for each material, these numbers correlate each players unique recipe, the closer 1:1 they match to the recipe, the better the quality of the batch.
- Start cooking - Target the cooker and start cooking the meth, after naming the batch.
- Wait - Now just wait until the meth is cooked.
- Meth cooked - Once the meth is cooked, you can remove your hose and pickup your objects (ammonia, cooker & kit).
- Kit removal - Once the meth kit is removed, the vehicle will be unfrozen.
- Use the meth - You can now use the meth item to get high.
Item Uses
Note: You can add your own item use logic in server/editable.lua.
Configuration
config/client.lua
| Option | Description |
|---|---|
Config.UseBridgeAllowlist | Should the allowlist functions in server & client editable.lua use the bridge allowlist system, if not automatically returns true |
Config.PercentTickInterval | How often it takes for percents to be incremented |
Config.Items | All items used in our drugs resource |
Config.Pots.placementMaxDist | How far ahead you can place a pot |
Config.Pots.items.prop | The prop of each pot item |
Config.Pots.items.maxPlants | The max plants that can be placed in a pot |
Config.Pots.items.offsets | The offsets to the pot object for each crop |
Config.Pots.progress | All the progress bars |
Config.Pots.tick | |
Config.Pots.water.addWaterOnPotSpawn | Should a pot be watered by default when it's placed down |
Config.Pots.water.removeFromCan | How much water to remove from a watering can, everytime you water a pot |
Config.Pots.water.removeDurability | How much durability to remove from a watering can, everytime you water a pot |
Config.Pots.water.duration | How long until a pot can be watered again (seconds) |
Config.Pots.water.dieAfter | How long it takes crops in a pot to die after not being watered (seconds) |
Config.Pots.water.protectCropFor | How long a crop should be protected from dying for after being placed into a pot (seconds) |
Config.Pots.fertilizer.speedModifier | The growth speed modifier when a pot is fertilized |
Config.Pots.fertilizer.duration | How long until a pot can be fertilized again (seconds) |
Config.Pots.harvesting.chanceForSeeds | The chance you get seeds when harvesting crops |
Config.Pots.harvesting.seedsAmount | The amount min and max seeds you can get when harvesting crops |
Config.Pots.harvesting.rep | If rep is enabled and what rep you get when harvesting crops |
Config.Pots.seeds.crop.item | The item you get when you harvest its seed |
Config.Pots.seeds.crop.harvestCount | The amount you get when you harvest its seed |
Config.Pots.seeds.crop.metaChange | Metadata changes applied when a crops joint is used |
Config.Pots.seeds.crop.vfx | VFX applied when a crops joint is used |
Config.Pots.seeds.addGrowthPerTick | How much growth is added per tick |
Config.Pots.seeds.stages | The props of each stage of growth for the crop |
Config.Pots.seeds.humidity | The seeds humidity required in the zone in order for the crop to grow |
Config.Pots.seeds.sun | The seeds sun required in the zone for the crop to grow |
Config.Pots.deadCropModels | The props of each stage of growth when the plant died |
Config.Pots.allowedSurfaceMaterials | Allowed materials where pots can be placed down in the world |
Config.Pots.zones | The open world zones for open world drug farming |
Config.Cocaine.dryRacks.ownerOnlyAccess | Should using dry racks be restricted to the player who placed them down or everyone |
Config.Cocaine.smeltingFurnace.ownerOnlyAccess | Should using smelters be restricted to the player who placed them down or everyone |
Config.Meth.vehicleObjects | Objects that attach to vehicles |
Config.Meth.startingItems | The items and amount required to start cooking meth |
Config.Meth.lab.interior | The coords of the lab interior |
Config.Meth.lab.type | The type of cookers spawned in the interior |
Config.Meth.lab.cookers | Positions of cookers using offsets in the interior |
Config.Meth.lab.cookersRealPositions | The actual coords of all cookers to spawn |
Config.Meth.lab.door.coords | The coords of the interiors entrance door |
Config.Meth.lab.door.model | The model of the interiors entrance door |
Config.Meth.lab.door.name | The name of the interiors entrance door |
config/server.lua
| Option | Description |
|---|---|
SvConfig.Logs.pots.webhook | Discord webhook for pot/crop action logging |
SvConfig.Logs.cocaineRacks.webhook | Discord webhook for cocaine rack action logging |
SvConfig.Logs.cocaineSmelters.webhook | Discord webhook for cocaine smelters action logging |
SvConfig.Logs.meth.webhook | Discord webhook for meth action logging |
SvConfig.Shop.label | The label of the drug shop |
SvConfig.Shop.items | List of items available in the drug shop and their prices |
SvConfig.Pots.tpCommand | All command data for tping to openworld drug farming zones |
SvConfig.Pots.joingCrafting.enabled | Is weed joint crafting enabled in script |
SvConfig.Pots.joingCrafting.requiredAdditionalItems | Required items other than the weed crop itself, in order to craft a joint |
SvConfig.Cocaine.dryingRacks.leafDryInterval | How often the leaf drying tick occurs (seconds) |
SvConfig.Cocaine.dryingRacks.dryTimePerPercentage | How much of a leaf is dried per new percentage increase on tick (seconds) |
SvConfig.Cocaine.dryingRacks.stashSlots | The amount of slots a cocaine drying rack has in total |
SvConfig.Cocaine.dryingRacks.stashMaxWeight | The amount of weight a cocaine drying rack can hold in total |
SvConfig.Cocaine.dryingRacks.modelUpdateRate | How long after stashes being updated that the model will update if changed (milliseconds) |
SvConfig.Cocaine.dryingRacks.placementProp | The prop for placing a dry rack down |
SvConfig.Cocaine.dryingRacks.propThresholds | The different props based on how full a rack stash is |
SvConfig.Cocaine.mixingContainer.maxShakes | How many shakes a cocaine container can do before it's broken |
SvConfig.Cocaine.mixingContainer.itemRequired | The items and counts required in order to mix the contents into cocaine paste |
SvConfig.Cocaine.mixingContainer.stashSlots | The amount of slots a cocaine mixing container has in total |
SvConfig.Cocaine.mixingContainer.stashMaxWeight | The amount of weight a cocaine mixing container can hold in total |
SvConfig.Cocaine.mixingContainer.rewardItem | What item you get after shaking the container |
SvConfig.Cocaine.mixingContainer.rewardCount | How much of the rewardItem you get after shaking the container |
SvConfig.smeltingFurnace.smeltInterval | How often the furnance smelt tick occurs (seconds) |
SvConfig.smeltingFurnace.smeltTime | How often smelting occurs (seconds) |
SvConfig.smeltingFurnace.smeltAmount | How many cocaine powder will be given every smeltTime |
SvConfig.smeltingFurnace.logRemovalChance | how likely it is that a log will be removed after smelting |
SvConfig.smeltingFurnace.stashSlots | The amount of slots a cocaine smelter has in total |
SvConfig.smeltingFurnace.stashMaxWeight | The amount of weight a cocaine smelter can hold in total |
SvConfig.smeltingFurnace.modelUpdateRate | How long after stashes being updated that the model will update if changed (milliseconds) |
SvConfig.smeltingFurnace.initialProp | The prop for placing a smelter down |
SvConfig.smeltingFurnace.propThresholds | The different props based on how full a smelter is |
SvConfig.smeltingFurnace.allowedItems | The allowed items that can be placed into a smelter |
SvConfig.smeltingFurnace.fuelItems | What items are classified as fuel for the smelter |
SvConfig.brick.wrapping.requiredItems | Required items in order to wrap cocaine powder into a brick |
SvConfig.brick.wrapping.progress | The progress bar for wrapping a cocaine brick |
SvConfig.bag.use.metaChange | What metadata is changed when using a cocaine baggy, can use custom logic in server/editable.lua -> (UsedDrugItem) |
SvConfig.bag.progress | The progress bar for using a cocaine baggy |
SvConfig.Meth.commands.menu | Command data for opening the meth admin menu |
SvConfig.Meth.commands.yield | Command data for manually triggering the meth yield process |
SvConfig.Meth.commands.temp | Command data for manually triggered the meth temperature process |
SvConfig.Meth.cookerTempInterval | How often a cookers temperature increases (seconds) |
SvConfig.Meth.cookerYieldInterval | How often a cookers yield increases (seconds) |
SvConfig.Meth.stabilizeMinigame | The minigame for stabilizing a meth cook |
SvConfig.Meth.explosion | The explosion type and model to replace a cooker with, when it explodes due to being unstable, tampering, etc |
SvConfig.Meth.vehicleModels | The vehicle models a meth kit can be attached to |
SvConfig.Meth.cookerTypes.model | The model of the meth cooker |
SvConfig.Meth.cookerTypes.cyclesRequired | How many cycles are required for the meth to be cooked |
SvConfig.Meth.cookerTypes.stabilizeTempIn | How long until a cookers temperature needs stabilizing (minutes) |
SvConfig.Meth.cookerTypes.explodeIn | How long it takes a meth cooker to explode after the temperature has not been stabilized in sufficient time (minutes) |
SvConfig.Meth.cookerTypes.canExplode | If a meth cooker can explode or not |
SvConfig.Meth.cookerTypes.ammoniaBurnRate | How much ammonia is used every yield |
SvConfig.Meth.cookerTypes.methPerCycle | How much meth is given every successful cycle (cycleTimer * cyclesRequired) |
SvConfig.Meth.coolerTypes.extraMinutes | How much extra time it adds to stabilizeTempIn (minutes) |
SvConfig.Meth.ammonia.model | The model of ammonia world objects |
SvConfig.Meth.ammonia.initialAmount | How much ammonia a barrel is created with |
SvConfig.Meth.stashes | The max slots and weight cookers & coolers have |
SvConfig.Meth.methZoneRadius | The radius of vehicle meth kit zones |
SvConfig.Meth.maxCookersPerZone | How many cookers can be placed in each of the open world meth zones |
SvConfig.Meth.cycleTimer | How long is each cycle (minutes) |
SvConfig.Meth.formulaWeightLimits | The minimum and max of all players for their formula changing this will negatively affect any current players formulas |
SvConfig.Meth.labCookedMultipler | A multipler for meth output when cooking in the lab MLO |
SvConfig.Meth.tiers | The tiers of meth based no your total quality on cooking finish |
SvConfig.Meth.effects | The effects of the meth based on its tier |
SvConfig.Meth.lab.zone | The polyzone data for the lab MLO |
SvConfig.Meth.progress | All the different progress bars |
SvConfig.Meth.allowZones | All the open world meth zones |