Skip to main content
sh-drugs gives your FiveM server four complete, independent drug production chains — weed, cocaine, meth, and LSD. Each chain follows the same three-stage loop: gather raw materials in the world, buy processing supplies from a vendor, work inside a dedicated interior, and sell the finished product to roaming NPC dealers. Every stage is configurable, from processing speed and sale prices to the chance that an NPC panics and calls the police.

Dependencies

sh-drugs requires the following resources before you start the script:
  • PolyZone — zone detection for farm, processing, and sell areas
  • ox_lib — progress bars, notifications, and UI components
  • bob74_ipl — interior streaming for the Cocaine Lockup and Meth Lab
ox_target is optional but recommended; enabling it reduces per-frame script overhead.
bob74_ipl must be started before sh-drugs in your server.cfg. Without it, the Cocaine Lockup and Meth Lab interiors will not load and players will fall through the map when entering those zones.

Supported Frameworks

ValueFramework
standaloneNo framework — cash handled internally
natNAT2K15 framework
ndND_Core

Drug Workflows

Each drug follows the same gather → process → sell loop, but with unique locations, supplies, and interiors.
DrugGather MethodProcessing SupplyInterior
WeedHarvest weed plants from a farm zoneScissors ($100)Biker DLC interior
CocainePlant and harvest from a farm zoneRazor Blades ($100)Cocaine Lockup
MethCollect materials from an NPC zoneBaking Powder, Soda, Battery Acid, Chloroform, Hydrogen Peroxide ($100 each)Meth Lab
LSDCollect materials from an NPC zoneLysergic Acid, Morning Glory Seeds ($100 each)Custom location

Key Mechanics

Every time a player sells drugs to an NPC, the script rolls against Config.ChanceToCallCops. On a hit, a server-wide police alert fires and broadcasts the GPS coordinates of the sale to all online players. Set this value to 0 to disable alerts entirely.
When a player consumes a drug using a /take* command, the script applies real GTA V screen effects (colour grading, blur, shaking) and temporary stat bonuses for the duration set in Config.EffectTime. Each drug has distinct visual effects to differentiate the experience.
NPC drug buyers only appear between the in-game hours defined by Config.MinimumTime and Config.MaximumTime. Players who arrive outside that window will find no dealers and cannot sell. This encourages active play during peak server hours.

Configuration

Open shared/config.lua to adjust all core settings. The values below are the defaults shipped with the resource.
shared/config.lua
Config.Framework    = 'standalone'  -- 'standalone', 'nat', 'nd'
Config.OxTarget     = false          -- true = use ox_target (better ms)

Config.ChanceToCallCops   = 20    -- % chance an NPC sale calls police
Config.SellToNPCDistance  = 10.0  -- Max distance to sell to an NPC
Config.MinimumTime        = 5     -- Earliest in-game hour dealers appear
Config.MaximumTime        = 22    -- Latest in-game hour dealers appear

Config.AmountToProcess = { Weed = 2, Coke = 4, Meth = 4, LSD = 4 }   -- Raw units per process
Config.ProcessTime     = { Weed = 10, Coke = 10, Meth = 10, LSD = 10 } -- Seconds per process
Config.DrugPrices      = { Weed = 100, Coke = 100, Meth = 100, LSD = 100 } -- $ per unit sold
Config.EffectTime      = { Weed = 100, Coke = 100, Meth = 100, LSD = 100 } -- Effect duration (s)
Lower Config.AmountToProcess values make the operation faster and more accessible for new players. Raise them alongside Config.DrugPrices to create a higher-risk, higher-reward economy on established servers.

Installation

1

Add dependencies to server.cfg

Start all required resources above sh-drugs in your server.cfg:
server.cfg
ensure PolyZone
ensure ox_lib
ensure bob74_ipl
ensure sh-drugs
2

Set your framework

Open shared/config.lua and set Config.Framework to match your server:
Config.Framework = 'nd'  -- change to 'standalone' or 'nat' as needed
3

Enable ox_target (optional)

If you run ox_target on your server, flip the flag and add ox_target above sh-drugs in server.cfg:
Config.OxTarget = true
4

Tune economy values

Adjust prices, processing times, and the cop-call chance to fit your server’s economy before going live.
5

Restart and test

Restart the resource and walk through each drug chain in-game to confirm interiors load and NPC zones are active.

Inventory & Consumption Commands

Players use the following commands to check their inventory and consume drugs. All commands run client-side and require no ACE permissions.
CommandDescription
/weedinventoryShow current weed, processed weed, and scissors count
/cokeinventoryShow current cocaine inventory
/methinventoryShow current meth inventory
/lsdinventoryShow current LSD inventory
/takeweedConsume one weed unit and apply screen effects
/takecokeConsume one cocaine unit and apply screen effects
/takemethConsume one meth unit and apply screen effects
/takelsdConsume one LSD unit and apply screen effects
/selldrugsOpen the NPC sell menu (must be inside a sell zone)
The /selldrugs command only works when you are within Config.SellToNPCDistance of an active NPC dealer and during the configured dealer hours. Outside those conditions the command produces no output.

Tabs by Drug

Gather: head to the farm zone and harvest weed plants directly from the crop rows.Supply: buy Scissors from the supply vendor for $100.Process: enter the Biker DLC interior and begin processing. Two raw weed units yield one processed unit (Config.AmountToProcess.Weed = 2).Sell: find a dealer active between MinimumTime and MaximumTime and use /selldrugs.