# DrugLabs System
Advanced Drug Processing & Dynamic Market for FiveM
------------------------------------------------------------------------
## 📌 Overview
DrugScene is a fully synchronized drug lab system built for FiveM
servers using ESX, ox_inventory, ox_target, and ox_lib.
The script allows players to:
- Run multi-stage drug production processes
- Use fully synced animation scenes with objects
- Progress through locked stage orders
- Receive rewards after completing full production
- Sell products to dynamic NPC dealers
- Affect a live demand-based market system
- Log all activity directly to Discord via Webhook
Everything is configurable and modular via `Config.lua`.
------------------------------------------------------------------------
## ⚙️ Dependencies
Make sure the following are installed:
- ESX Framework
- ox_inventory
- ox_target
- ox_lib
- https://github.com/Bob74/bob74_ipl for the dlc's interiors
- Any teleport script for the interiors
------------------------------------------------------------------------
# 🧪 Available Processes
------------------------------------------------------------------------
## 🧊 Meth Lab


**Stages Order:**
1. cook
2. smash
3. mega
### Required Items
- acid
- ammonia
- acyclovir
- aluminumoxide
### Final Reward
- meth_packaged
### Features
- Multi-scene synchronized animations
- Stage locking system
- Item validation before first stage
- Object cleanup protection
- Player death & disconnect handling
- Station lock (prevents two players using same station)
------------------------------------------------------------------------
## ❄️ Cocaine Lab


Stages Order:
1. mix
2. press
### Required Items
- bakingsoda
- baggy_cocaine
### Final Reward
- cocaine_packaged
### Features
- Multi-layer press animation system
- Progressive stage validation
- Inventory removal on start
- Automatic reward on completion
------------------------------------------------------------------------
# 💰 Dynamic Drug Market System
Players can sell products to configured NPC dealers.
### Market Features
- Live demand modifier per dealer
- Price changes based on:
- Time (market recovery)
- Quantity sold
- Zone multiplier support
- Sale limit per transaction
- Black money or regular money payout
- Discord logging for every sale
### Demand System
Each dealer has:
- `min` / `max` demand range
- Recovery rate per minute
- Demand drop per unit sold
- Max items per sale
The more players sell, the lower the price goes.
If the market cools down, prices slowly recover.
------------------------------------------------------------------------
# 🔐 Stage Control System
- Players must follow the defined stage order.
- Cannot skip steps.
- Cannot start next stage without completing previous.
- Stations are locked while in use.
- If player cancels / dies / disconnects:
- Scene is stopped
- Objects are removed
- Station is released
- Logged to Discord
------------------------------------------------------------------------
# 📡 Discord Webhook Logging
Every important action is logged:
- Process Started
- Stage Completed
- Reward Given
- Missing Items
- Station Busy Attempt
- Player Death During Process
- Player Disconnect During Process
- Product Sold
Webhook embed includes:
- Player Name
- License
- Discord Identifier
- Process & Stage
- Sold Amount & Price
- Demand Modifier
Fully customizable from `Config.Webhook`.
------------------------------------------------------------------------
# 🛠 Configuration
All processes are defined inside:
## Config.Processes
You can easily:
- Add new labs
- Add new stages
- Define custom animations
- Define objects per scene
- Enable multi-scenes
- Configure required & reward items
Dealers are defined in:
## Config.Sell
You can configure:
- NPC model
- Location
- Base price
- Zone multiplier
- Account type
- Demand behavior
------------------------------------------------------------------------
# 🧼 Safety & Stability
- Network entity control validation
- Timeout protection
- Automatic cleanup on:
- Resource stop
- Player death
- Player drop
- Station ownership tracking
- Server-side stage validation (anti-exploit logic)
------------------------------------------------------------------------
# 🚀 Installation
1. Place the script inside your `resources` folder
2. Ensure dependencies are started before this resource
3. Add to server.cfg: ensure DrugLabs-System
4. Configure items inside ox_inventory
5. Configure webhook (optional but recommended)
------------------------------------------------------------------------
# 📌 Notes
- Built with performance and synchronization in mind.
- Fully server-validated to prevent stage abuse.
- Designed to be expandable for additional drug systems.