Usage — Drugs Creator | Quasar Store | Quasar Store
Documentation
Usage
How to use Drugs Creator: create weed, meth and cocaine farms in game, build shell and MLO drug labs, process and package drugs, launder money, decorate labs, set up NPC dealers and street selling, and configure every option.
Everything players interact with is built in game by an admin with /drugcreator. There are three kinds of entity:
Type
What it is
Collection
A farming zone where players harvest a raw material: weed plants, chemical barrels, coca plants, or your own.
Laboratory
A property that players buy and process drugs in. An instanced shell or an existing MLO.
Seller
An NPC dealer, or a door to knock on, that buys drugs from a catalogue.
The left panel lists everything already created, with a search box and the filters . Each entry can be teleported to, edited or removed. starts a new one: pick the type, fill in the form, place its points in the world and press . The entity appears for every player at once, with no restart.
All · Collection · Lab · Seller
Create Drug
Save
The name is turned into an id: it is lower-cased and spaces and hyphens become underscores. It must be unique across all three types.
Every type has a Blip Settings section: name, sprite (searchable, with pictures), colour, scale and a Show on Map switch. A lab the player owns shows (Yours) after its name. Turn the blip off to keep a spot secret.
FiveM drug farming zone with weed plants placed by the Drugs Creator
Pick the drug
Create Drug → Collection. Choose a Drug Type card (Weed, Chemicals, Cocaine, or your own from Config.CollectItems) and the Maximum Collection Count: how many props the zone has. The default is 5.
Draw the zone
Zone Points → Select. Click around the field to draw its outline, and use Z / X to set its height. It needs at least 4 points and a perimeter of at least 50 metres (Config.MinPointLength). The outline turns green when it is valid. Zones cannot overlap.
Place the props
Collection Points → Select. Click to drop each plant inside the zone and rotate it with Z / X. Props are placed on the ground and must be at least 0.75 m apart. Enter only finishes when you have placed exactly the Maximum Collection Count.
In game, the props appear when the first player walks into the zone and disappear when it is empty. A player presses E at a prop (or uses the target), kneels to harvest it while a progress bar runs, and receives between quantityMin and quantityMax of the item. Two players cannot harvest the same prop. Harvested props grow back after Config.FarmSpawnTimer (5 minutes).
A drug type with requiredCops = true can only be harvested while at least requiredCopsQuantity police are on duty.
Create Drug → Laboratory. Give it a name and a Price (default 500), then choose the interior:
An instanced interior: every lab has its own private copy, so many labs can share one shell model. The shells ship in K4MB1-QuasarDrugs.
Entry: place the door outside, where players interact.
Shell: the shell appears under the map. Switch between shells with ← / →, raise or lower it with the mouse wheel, rotate it with Z / X and confirm with Enter.
Exit Coords: place the exit inside the shell. It is also where players appear when they enter.
An interior that already exists in the map.
Entry: where players interact outside.
Zone Points: draw the outline of the building, as for a farm. Inside it counts as inside the lab.
Test Coordinates: where players appear when they enter.
MLO Doors: aim at each door and click. It turns green. Key holders can then lock and unlock those doors with E, and the lock is synced to everyone. Doors closer than 3 m are merged into one prompt, for double doors.
FiveM drug laboratory inside a shell and MLO interior
Inspect: a visit inside for Config.TestRemTime minutes (1 by default), with a countdown. Press G again to leave early.
E
View the contract: the price, a bank fee, a broker fee and taxes, the character's name and a signature line. Signing buys the lab. The price is paid in Config.MoneyType.
FiveM drug lab purchase through an illegal contract
E enters a lab you own, hold keys to, that is public, or that is unlocked. Anybody else presses G to ring the doorbell, and someone inside can let them in from the exit. A player who disconnects inside a shell lab is put back inside when they reconnect.
E opens it, G sets a vault code: a 4-digit PIN, up to 5 per lab. Size from Config.DefaultStashData (30 slots).
Wardrobe
Opens your clothing script's outfits.
Exit
Leaves the lab, or opens the door to whoever rang the bell.
Processing tables
E starts the step that table does. See below.
The stash and wardrobe are placed by the owner from the lab menu, with Locate Storage and Locate Wardrobe. Inside a shell, the weather is always clear and the clock is fixed at Config.TimeInterior (23:00) so the lighting does not flicker.
Processing happens at furniture bought in decoration mode. Each table model is bound to one step in Config.DynamicFurnitures. When a player presses E, the script checks the lab level, the ingredients and that nobody else is using the table. The player then walks to it and plays the GTA Online business scene, with its props. At the end, the ingredients are taken, the product is given, and the lab earns experience.
Drug
Step
Takes
Gives
Table
Meth
Cook · 50 s
5 chemicals
30 meth
bkr_prop_meth_table01a
Meth
Package · 38 s
10 meth
10 meth_packaged
apa_mp_h_din_table_01 / _05
Cocaine
Cut · 19 s
1 cocaine
1 cocaine_cut
bkr_prop_coke_table01a
Cocaine
Package · 42 s
1 cocaine_cut
1 cocaine_packaged
bkr_prop_fakeid_table
Weed
Sort · 23 s
5 weed
5 weed_packaged
bkr_prop_weed_table_01a / _01b, prop_table_08
Money
Cut · 32 s
100 black money
100 sorted_money
bkr_prop_fakeid_papercutter
Money
Count · 18 s
100 sorted_money
100 package_money
h4_prop_h4_table_isl_01a
Money
Wash · 20 s
100 package_money
$100 clean cash
Any washer or dryer
Every amount, time and minimum level is set in Config.Process, and the animations in config/scenes.lua.
Each finished step gives the lab between Config.ExpMin and Config.ExpMax experience (1–3). At 100 EXP the lab goes up a level and the bar starts again. A step with level = 3 in Config.Process refuses to start until the lab is level 3, which is how advanced drugs are locked behind progression. All steps ship at level 1. Admins can set a level with /set_lab_level.
Inside a lab you hold keys to, press F9 or type /labDeco. Only one person can decorate a lab at a time. The furniture shop opens with its tabs (Kitchen, Bathroom, Bedroom, Living, Garden), its categories and a search box. Items marked Drug Item are processing tables, and items marked Interactive are stashes, wardrobes, cameras or lights.
FiveM drug lab decoration mode with furniture shop and gizmo
Key
Does
Mouse
Drag the gizmo arrows and rings to move and rotate the piece.
K
Switch between moving and rotating.
M
Switch between the mouse gizmo and keyboard controls.
G
Put the piece on the floor.
F5
Show or hide the cursor.
F3 · F
Free camera, and focus the camera on the piece.
F6
Free mode.
Enter
Buy and place it.
Esc
Leave without saving.
Furniture is paid in Config.MoneyType. The Stash page lists what is already placed: move a piece, put it away in storage, or sell it back for 30% of its price (Config.SellObjectCommision). Each shell limits how many tables of each drug a lab can hold through Config.Shells[n].limits (10 per drug by default).
Admins add their own furniture without touching a file with /drugfurniture: object name, label, description, price, colour variants, an image, and optionally make it a stash (slots and weight) or a wardrobe. A live preview shows the prop, and a category manager creates new categories. These pieces are saved in the database and appear in every lab's shop. The pieces from config/furniture.lua cannot be deleted here.
The creator can take the picture for you with screenshot-basic and upload it to FiveManage. To use it, add your token to config/main.lua:
Create Drug → Seller. Pick the ped model (or turn on Knock Door to use a door and a knock animation with no ped), the Item List it buys from, its working hours, and place it.
Players press E at the dealer and pick a drug from the menu. The dealer buys all of that drug the player carries, at the catalogue price, in the catalogue's currency. Outside its working hours the dealer refuses and says when its shift starts. The working hours follow the in-game clock, and the end hour must be later than the start hour.
The catalogues live in Config.SellerItems. Four ship ready: weeds ($100 a bag), meths ($200), cocaines ($300) and all, all paid in black money.
lua
Config.SellerItems = {
{
id = 'weeds', -- unique; what the creator's Item List selects
label = 'Weed Items',
description = 'All of the Weed items',
items = {
{ label = 'Packaged Weed', description = '...', item = 'weed_packaged', price = 100, moneyType = 'black_money' },
},
},
}
-- moneyType: 'black_money' | 'money' | 'bank' (on QBCore 'black_money' means markedbills)
Items in Config.UseableDrugItems can be used from the inventory. One is taken, the player plays the animation of its effectType, and its effects last effectDuration seconds.
In config/furniture.lua, add the table to Config.DynamicFurnitures and to a furniture category with type = 'drug' and drugType = 'heroine'. Then add heroine = 10 to each shell's limits, the product to Config.DrugsPrice and Config.SellerItems, and the new items to your inventory.
lua
['prop_sink_06'] = {
drugType = 'heroine',
fn = processDrug('heroine', 'process'),
offset = { x = 0.0, y = 0.0, z = 0.0 }, -- where the [E] prompt floats
},
Every option in config/main.lua, grouped. The file tags each one: [EDIT] is safe to change, [ADV] is advanced, [AUTO] is detected for you, and [CORE] should not be touched.
General, money and labs
lua
Config.Locale = 'en'-- file in locales/
Config.MoneyType = 'bank'-- buys labs and furniture: 'money' | 'bank' | 'black_money'
Config.LabMenu = 'labMenu'-- lab menu command
Config.LabDecoration = 'labDeco'-- decoration command
Config.DecorationMappingKey = 'F9'-- decoration key (players can rebind it in GTA settings)
Config.TimeInterior = 23-- clock inside shells
Config.TestRemTime = 1-- minutes of an inspection visit
Config.CreatorAlpha = 200-- ghost transparency in the creator
Config.MinZOffset = 30-- how far under the map the shell is placed
Config.DefaultLightIntensity = 20.0-- spotlight brightness
Config.DefaultStashData = { maxweight = 1000000, slots = 30 } -- lab stash
Config.ExpMin, Config.ExpMax = 1, 3-- EXP per finished step; 100 EXP = 1 level
Config.SellObjectCommision = 0.3-- share of the price refunded when selling furniture
Config.Intl = { locales = 'en-US', options = { style = 'currency', currency = 'USD', minimumFractionDigits = 0 } } -- price format in the UI
Config.BankFee, Config.BrokerFee and Config.Taxes are functions of the price (10 %, 5 % and 5 %) shown on the purchase contract. The buyer is charged the lab's price.
model is a streamed shell; limits is how many processing tables of each drug a lab with that shell can hold. Any shell you stream yourself can be added to the list.
Farming
lua
Config.FarmSpawnTimer = 1000 * 60 * 5-- ms before a harvested prop grows back
Config.MinPointLength = 50.0-- minimum zone perimeter
Config.CollectPropMinDistance = 0.75-- minimum metres between two props; 0 = no limit
Config.CollectPropGroundSnap = true-- drop props onto the ground while placing
Config.CollectPropSpawnSnap = true-- also drop saved props onto the ground when they spawn
Config.CollectItems defines the drug types: weed (prop_weed_01, gives weed), (, gives ) and (, gives ). Each takes 4 seconds and gives 1–5. Weed ships with and a quantity of 0.
Processing
Config.Process[drug][step], where step is process, package or wash:
lua
meth = {
process = {
progText = 'Processing methamphetamine...',
level = 1, -- minimum lab level
requireItems = { { item = 'chemicals', amount = 5 } }, -- or requireMoney = 100 (black money)
notifyname = 'Chemicals',
rewardItem = 'meth',
rewardRate = 30, -- amount giventime = 50000, -- ms
act = 'Meth', -- scene in config/scenes.lua
process = 'process',
headingOffset = -180, -- where the player stands; advanced
coordsOffset = vector3(-1.0, -0.1, 1.0),
},
},
Selling and police
lua
Config.SuccessChance = 50-- % of locals who walk past without buying
Config.ScamChance = 25-- % of lowball offers ($1–5 a bag)
Config.RobberyChance = 15-- % of buyers who rob the seller
Config.RequiredCops = 0-- police needed for corner selling
Config.PoliceCallChance = 15-- % of deals that alert the police
Config.DrugsPrice = { -- price per bag on corners; also which items can be sold there
['weed_packaged'] = { min = 15, max = 24 },
['meth_packaged'] = { min = 15, max = 28 },
['cocaine_packaged'] = { min = 15, max = 31 },
}
Config.SellerNPC = { model = 'a_m_m_farmer_01' } -- default dealer ped
Config.LockpickingItem = 'lockpick'
Config.StormArmItem = 'police_stormram'
Config.EnableRaid = true
Config.PoliceJobs = { 'police' }
Decoration, doors and music
lua
Config.SpawnDistance = 100.0-- distance at which placed furniture appears
Config.DynamicDoors = true-- MLO doors; needs setr game_enableDynamicDoorCreation "true"
Config.DoorDistance = 1.5-- distance to use an MLO door
Config.DoorDuplicateDistance = 3.0-- doors closer than this share one prompt
Config.Music = 'decorate'-- music in the decoration shop; false to turn it off
Config.MusicVolume = 0.05
Config.MusicTracks = { -- lab music; files go in music/
{ label = 'Ghost in the Broadcast', file = 'ghost_in_the_broadcast.mp3' },
{ label = 'Night Voltage', file = 'night_voltage.mp3' },
{ label = 'Horror Show', file = 'horror_show.mp3' },
}
Config.FurniCreatorCommand = 'drugfurniture'
Config.FurniCreator = { interval = 300 } -- ms between thumbnail captures; raise on slow PCs
Config.FiveGuard = false-- your FiveGuard resource name, so decorating is not flagged
Target, detection and debug
lua
Config.UseTarget = false-- ox_target or qb-target
Config.TargetDistance = 5.0
Config.TargetWidth = 5.0
Config.TargetLength = 5.0
Config.Framework -- [AUTO] esx | qb
Config.Inventory -- [AUTO]
Config.Dispatch -- [AUTO]
Config.Wardrobe -- [AUTO]
Config.Debug = true-- console logs; false on a live server
Config.ZoneDebug = true-- draws zones; false on a live server
Optional keys you can add
These are read by the script but are not in the file. Add them to config/main.lua if you need them:
lua
Config.MaxVaultCodes = 5-- vault codes per lab
Config.DisableSounds = true-- mute interface sounds
Config.MaximumDistanceForDecorate = 30.0-- close decoration if the camera goes this far
Config.FiveManageToken = ''-- furniture creator image uploads
config/furniture.lua holds the shop: Config.FurnitureNavigation (the tabs), Config.Furniture (categories and items, with price, colors, and type = 'drug' | 'stash' | 'gardrobe') and Config.DynamicFurnitures (which model does which step). A model used as a stash or wardrobe cannot also be a processing table.
meth
prop_barrel_exp_01a
chemicals
cocaine
prop_plant_cane_02b
cocaine
requiredCops = true
Lab music only plays local files from music/. Internet links are not supported.