Features
Production line, cooking, cutting, purity, bagging, pressing, usage, and progression in oxide-cocaine.
What oxide-cocaine does and how each part works. Every number shown here is a default — all of them can be changed (see Configuration).
The Production Line
Cocaine production is a chain of stations. Each station is an item the player places in the world, then walks up to and works. The purity grade is decided at the cook and carried onto every item after it — so it survives trading, storage, and server restarts.
Harvest -> Stomp -> Soak -> Cook -> (Bag for the street) or (Press into bricks)
\-> Cook again -> Crack -> Bag for the street| Stage | What goes in | What comes out | Where | How long |
|---|---|---|---|---|
| Harvest | nothing | 2-5 Coca Leaves | Wild coca bush | ~6 seconds |
| Stomp | 5 Coca Leaves | 1 Coca Mash | Coca Pool | Interactive |
| Soak | 3 Coca Mash + 1 Kerosene | 1 Coca Extract | Coca Extractor | Passive (timer; can walk away) |
| Cook cocaine | 2 Coca Extract + 1 Acetone | 1 Cocaine | Cook Table | ~20 seconds of active play |
| Cook crack | 1 Cocaine + 1-2 cuts | 1 or more Crack | Cook Table | ~20 seconds of active play |
| Bag | 1 Cocaine (or Crack) + 1 Baggy, per bag | 1 Bag of Cocaine (or Crack) per bag | Cook Table | Interactive |
| Press | 10 Cocaine | 1 Cocaine Brick | Brick Press | Interactive |
Harvesting Coca
Everything starts with the leaf. Wild coca bushes spawn in marked areas around the map. A player walks up to one, plays a short harvest animation with a progress bar, and collects coca leaves. There's no minigame — just the wait.
| Setting | Default |
|---|---|
| Yield per bush | 2-5 Coca Leaves (always) |
| Harvest time | 6 seconds |
| XP per harvest | 10 |
| Bush respawn | 30-60 minutes after it's harvested |
Two spawn zones ship by default, both out in the countryside. You can add, move, or remove zones — or turn the whole wild-bush system off — from the in-game settings menu (/cocaine settings → World → Wild Plants); zones are drawn right in the world. Wild bushes are the built-in way to source leaves; if you'd rather players buy leaves from a dealer or another script, turn the bushes off and supply leaves your own way.
Stomping the Mash
At a placed Coca Pool, the player climbs in and stomps the leaves down into a wet mash. The pool holds one batch of mash at a time.
How a stomp plays out
- Walk up to the pool and choose Stomp Coca Leaves (needs 5 Coca Leaves).
- The player drops into the pool. Two additives are poured in first — Alkali, then Water. Hold the pour key (
Gby default) to pour each one; you can walk around the pool while pouring, and the meter only climbs while you're actually pouring inside the pool. - Once both are poured, the player stomps — walk around inside the pool to mash the leaves. The on-screen progress only climbs while you're moving. The leaf pile visibly breaks down as you go.
- When the bar fills, the mash is ready. It now sits in the pool until collected.
- Choose Collect Mash to take the finished Coca Mash.
The leaves are only spent when the mash is finished — if a player bails mid-stomp, they keep their leaves. The mash, once made, stays in the pool even through a server restart until someone collects it.
| Setting | Default |
|---|---|
| Leaves per batch | 5 Coca Leaves |
| Mash per batch | 1 Coca Mash |
| Distance to stomp | 35 metres walked inside the pool |
| XP on collect | 10 |
Coca Mash comes out at the server's default purity (Mid grade) — the cook is where purity is really decided.
Soaking the Extract
A placed Coca Extractor is a passive station: load it and walk away. The player pours in mash and kerosene, the solvent slowly draws the crude extract out of the paste, and the player comes back later to collect it.
How a soak plays out
- Walk up to the extractor and choose Load Mash & Kerosene (needs 3 Coca Mash and 1 Kerosene). A short pour animation plays, and the inputs are consumed.
- The soak runs on its own timer — no need to stay. A status label over the extractor (hold
H) shows how long is left. - When the timer is up, choose Collect Extract to take 1 Coca Extract.
The batch is saved to the database, so the timer keeps counting even if the player logs off or the server restarts.
| Setting | Default |
|---|---|
| Mash per batch | 3 Coca Mash |
| Kerosene per batch | 1 Kerosene |
| Extract per batch | 1 Coca Extract |
| Soak time | 30 minutes (Config.Container.processTime) |
| XP on collect | 15 |
The soak runs 30 minutes by default, which makes the extractor a "load it and come back later" station. Lower Config.Container.processTime (in the settings menu under Production → Extraction) if you want a faster chain (or a quick value while testing). Coca Extract also comes out at the default Mid purity.
Cooking Cocaine and Crack
The Cook Table is where powder is made — and where crack is made from that powder. Cooking is an interactive scene with a temperature minigame. The same table is also your bagging bench.
How a cook plays out
- Walk up to the table and choose Use Stove, then pick what to make:
- Cocaine — cooks 2 Coca Extract, pouring in 1 Acetone.
- Crack — cooks 1 Cocaine. (Crack is just cocaine cooked a second time.) After the cocaine goes in, the player must cut the batch with at least one cutting agent — see Cutting Crack.
- The scene frames the stove. The player pours each reagent into the pot in turn — scroll to tilt the container; tipping it past level runs the stream and fills the pour bar.
- Once everything's poured, the player hits Start Cooking and manages the heat.
- The temperature rises on its own. A key flashes on screen — pressing it cools the pot. The key changes every few seconds, so the player has to stay alert.
- Pressing the wrong key bumps the temperature up.
- The goal is to keep the temperature in the sweet spot (35°C-65°C) for as much of the cook as possible — that's what decides purity.
- After about 20 seconds the cook completes and the player receives the product.
Temperature numbers
| Setting | Default |
|---|---|
| Cook length | 20 seconds |
| Starting temperature | 30°C |
| Heat climb | 0.13°C per frame (the burner, always on) |
| Correct key press | -15°C instantly |
| Wrong key press | +3°C |
| Key changes | Every 4 seconds, or whenever the correct key is pressed |
| Possible keys | E, Q, R, G, X, H |
| Best range for purity | 35-65°C |
| XP per cook | 25 |
Ways to fail
| What happens | Result |
|---|---|
Temperature hits 100°C | The batch explodes — a real explosion at the table. The reagents are lost, no output. |
Temperature stays under 15°C for ~5 seconds | The reaction goes cold and the batch is ruined. The reagents are lost, no output. |
A ruined cook burns the inputs.
Backing out. The player can leave a cook at any point:
- Before the heat is lit — during a pour (Backspace), at the cut picker (Cancel Cook), or at the Start prompt (Cancel) — nothing has been consumed, so they keep all their materials.
- During the temperature game (Backspace) — the heat is committed, so bailing ruins the batch and burns the reagents, the same as letting it overheat or go cold.
The cook always pulls the player's lowest-purity cocaine first when making crack, so it never burns their best stock. It doesn't matter what grade goes in — the crack's purity is scored fresh from how well the second cook is played.
Cutting Crack
Every crack batch is "cut" with cutting agents (adulterants) — this is where the player decides what kind of dealer they are. A crack cook needs at least one cut and takes up to two. Cutting stretches the batch into more rocks, but each cut drops the purity. Cut it lightly for a near-pure product, or cut it hard to flood the corner with cheap volume.
How cutting plays out
- Start a Crack cook and pour in the cocaine as normal.
- A picker opens listing every cutting agent the player has unlocked and currently has in their inventory. Click one and a live preview of it floats above the stove, so the player can see what they're about to add.
- Choose Add Cut to tip it into the pot (the same scroll-to-pour as a reagent). At least one cut is required — Done stays locked until the player has added one.
- The player can add up to two cuts per batch (
Config.Cut.maxAdulterants), then hits Done. After the cuts, the temperature minigame runs as normal.
Cutting is required — a crack cook needs at least one cut, so a player with no cutting agents on hand can't make crack at all (the Make Crack cook tells them so). Every rock in a batch carries the same final purity grade, so a more-cut batch is just more, lower-grade crack.
The cutting agents
Each cut adds rocks and shifts purity by a fixed amount, and each unlocks at a player level. Cheap fillers stretch hard but tank the grade; the higher-tier agents stretch gently while barely touching purity.
| Cut | Unlocks at | Extra crack | Purity shift |
|---|---|---|---|
| Baking Soda | 1 | +2 | -5 |
| Cornstarch | 1 | +2 | -15 |
| Baby Laxative | 1 | +2 | -10 |
| Creatine | 3 | +1 | -6 |
| Caffeine Powder | 3 | +1 | -8 |
| Benzocaine | 5 | +1 | -3 |
| Lidocaine | 5 | +1 | 0 |
| Levamisole | 7 | +1 | +2 |
All of these — the agents, their levels, their yield and purity numbers, and the two-cut limit — are configurable in the settings menu (/cocaine settings → Production → Adulterants). See Configuration.
The cuts are consumed when the batch finishes — the player needs a supply of them, the same as any other ingredient. They aren't sold anywhere by default, so decide how players get them (a dealer, another shop script, or your own supply).
Purity
Purity is a 0-100 score decided at the cook, then turned into a grade that's stamped on the item and carried through bagging and pressing.
- Temperature control is the whole score — it's the percentage of the cook spent inside the 35-65°C sweet spot.
- The cook's level then subtracts a penalty — new cooks make worse product no matter how well they play.
- Cuts (crack only) then shift the score — most cutting agents lower it, the price of stretching the batch. See Cutting Crack.
Level penalties
| Level | Penalty |
|---|---|
1 | -30 |
2 | -25 |
3 | -20 |
4 | -15 |
5 | -10 |
6 | -8 |
7 | -5 |
8 | -3 |
9 | -1 |
10 | 0 |
Grades
The final score becomes a grade that's shown on the item:
| Grade | Score |
|---|---|
| Pure | 90-100 |
| High | 70-89 |
| Mid | 50-69 |
| Low | 30-49 |
| Dirty | 0-29 |
Stages without a minigame (stomp and soak) don't score purity — their output is stamped at the server's default purity (Mid grade, set by Config.DefaultPurity = 60). Purity matters at the cook and onward.
Bagging
Bulk powder and rock don't sell as-is — the player bags them into street units first, at the Cook Table. Bagging is a cursor-driven scene: drag the spoon over the bowl to scoop, then drag the full spoon over the baggy to deposit a scoop. After a few scoops a bag seals.
How it plays out
- At the table, choose Bag Up Product, then pick Bag Cocaine or Bag Crack.
- If the player holds the product in more than one purity grade, they're asked which grade to bag — or to Mix All, which bags everything together at the lowest grade in the mix.
- The scene opens. Move the spoon into the bowl to scoop, then onto the baggy to deposit. Each bag takes 3 scoops to seal.
- Bags keep sealing until the session's bag count is reached, or the player finishes early (Backspace banks any completed bags).
| Setting | Default |
|---|---|
| Cocaine per bag | 1 Cocaine + 1 Baggy → 1 Bag of Cocaine |
| Crack per bag | 1 Crack + 1 Baggy → 1 Bag of Crack |
| Scoops per bag | 3 |
| Bags per session | Up to 10 |
| XP per sealed bag | 8 |
Each sealed bag also uses up one empty Baggy (the baggy item), on top of the powder — so a player needs a supply of baggies to bag at all. Each sealed bag carries the purity grade of the bulk that went into it. Bagged units are what players actually hand a buyer on the street.
Mixing purities: if a player has the same product in several grades, they can bag them together — but the finished bags take the lowest grade in the mix. Careful cooks keep their product sorted.
Pressing Bricks
For moving weight instead of grams, a placed Brick Press compresses bulk cocaine into a single pressed kilo. There's no minigame — you use the press, the timed press cycle plays, then the brick is granted.
| Setting | Default |
|---|---|
| Cocaine per brick | 10 Cocaine |
| Output | 1 Cocaine Brick |
| XP per brick | 30 |
| Level to place the press | 5 |
The brick keeps the purity of the cocaine that went in. The press is the only station with a level requirement — a player must reach level 5 before they can place it. (Bricks are wholesale; bags are for the street.)
Using the Product
The finished street bags are usable items, and their effects scale with purity.
- Bag of Cocaine is snorted — a quick line.
- Bag of Crack is smoked from a glass pipe — a slammed, shorter, harsher high.
| Cocaine | Crack | |
|---|---|---|
| How it's taken | Sniff | Smoke (pipe prop) |
| Effect length (base) | 90 seconds | 50 seconds |
| Cooldown after it ends | 60 seconds | 45 seconds |
| Stress relief on use | 35 | 50 |
| Comedown (stress added back when it ends) | 15 | 45 |
While high, a player gets vivid screen visuals with periodic intensity surges and camera shake, a sprint-speed boost, and stamina regeneration. Crack is more intense and shorter than cocaine, with a much harsher comedown crash at the end.
| Purity grade | Effect multiplier |
|---|---|
| Pure | 1.3x |
| High | 1.1x |
| Mid | 1.0x |
| Low | 0.8x |
| Dirty | 0.6x |
The multiplier scales the high's length, intensity, and stress relief — so a Pure bag feels noticeably stronger and lasts longer than a Dirty one. Stress relief (and the comedown that adds it back) needs a framework with a stress system — QBCore and QBX have one; ESX does not. Effects fade over the last stretch of the high, and a player can't use again until the cooldown passes.
Progression
Everything a player does earns cocaine XP:
| Activity | XP |
|---|---|
| Harvest a wild bush | 10 |
| Collect mash from the pool | 10 |
| Collect extract from the extractor | 15 |
| Finish a cook (cocaine or crack) | 25 |
| Seal a bag | 8 per bag |
| Press a brick | 30 |
Levels run 1-10 (11,000 XP total to max). Leveling up does two things: it reduces the purity penalty on every cook (so the same play makes cleaner product), and it unlocks the Brick Press at level 5.
| Level | Total XP needed |
|---|---|
1 | 0 |
2 | 100 |
3 | 300 |
4 | 650 |
5 | 1,200 |
6 | 2,000 |
7 | 3,200 |
8 | 5,000 |
9 | 7,500 |
10 | 11,000 |
Players check their progress any time with /cocaine stats — it shows their level, XP, totals made and sold, and which stations they've unlocked.
Progression is saved per character in the shared drugs_progression table under the coke drug key. If you also run other Oxide drug resources (weed, meth), each drug tracks its own separate level in the same table.
The Sold counter and XP can also be driven by a selling script through this resource's exports — see Exports. oxide-drugselling ships a preconfigured cocaine selling profile that does exactly this.
Equipment
All four stations are inventory items. Using the item starts placement mode — the player positions it on the ground, scrolls to rotate, and confirms (E to place, Backspace to cancel). Placed equipment is saved to the database and survives restarts. With ownership enforcement on (the default), only the player who placed a station can pick it back up.
- Coca Pool — stomp leaves into mash.
- Coca Extractor — soak mash into raw extract.
- Cook Table — cook cocaine and crack, and bag product.
- Brick Press — press bulk cocaine into bricks (requires level 5 to place).
Equipment can't be placed or used from inside a vehicle, and placement is subject to your placement zones.
Cocaine Manual
The cocaine_manual item opens an in-game illustrated handbook, written in character, that teaches players the entire system: equipment, harvesting, stomping, soaking, cooking, crack, bagging, pressing, selling, and leveling. Item pictures are pulled from your inventory's images automatically.
The handbook is part of the resource's ready-to-use interface — hand the item out or sell it, and players have the full guide in game with no setup on your end.
Placement Zones
You control where players may place production stations, and you pick which way round it works:
- Blocked areas — stations can go anywhere except the areas you draw, for example around hospitals or spawn points.
- Allowed areas only — the reverse: stations can only go inside the areas you draw. Handy for penning production into one district.
- Off — no restriction at all.
Both lists are kept separately, so you can draw one of each and flip between them without losing any shapes. They ship empty with blocked-areas mode selected, so nothing is restricted until you draw something. Add zones from /cocaine settings → Core → Placement Zones, where you draw them right in the world.
Item Usage Whitelist
You can restrict individual items to particular jobs or gangs — a coke table to one crew, the press to another, and so on. Each rule takes a list of jobs, a list of gangs, a minimum rank, and an optional on-duty requirement; a player passes if they match on either the job side or the gang side. Items you don't write a rule for stay usable by everyone, so nothing changes until you opt in. Rules live under Usage Whitelist in /cocaine settings (Advanced tab) and apply the moment you save.
Police Alerts
Production can carry a risk of being reported. Each time a player starts a stage — stomping, cooking, pressing or packaging — the server rolls a configurable chance that police get a dispatch call at the station's location. Every stage has its own chance, so you can make the cook the dangerous part and leave packaging quiet.
The alert is raised entirely on the server from the station's stored position, so it can't be suppressed or moved by the player who triggered it. A cooldown per site stops one lab generating a stream of calls, and the message deliberately doesn't name the drug — responders get a location and a reason to look.
This ships switched off, and works with the common dispatch resources or, with none installed, as a notification and map blip. Set it up under Dispatch in /cocaine settings (Advanced tab); see Configuration.