Drug Empire – Elite Underground Commerce
Discreet Deals. Ruthless Negotiations. Dynamic Risk.
Step into the shadows of RedM with Drug Empire, a fully configurable, performance-friendly black market framework designed for immersive drug-selling experiences. From hunger-driven demand to unpredictable NPC robberies, every transaction is a roll of the dice—and every profit comes with a price.
Configurable Drug Zones
Define sale zones with unique hunger caps and sling radii across Valentine, Saint Denis, Rhodes, Armadillo, Blackwater, Strawberry, and Annesburg.Config.DrugSellingLocations
Risk & Reward Tuning
Control the danger of every deal with:
Config.RobberyChance– NPCs might rob you.Config.AlertChance– Risk triggering law enforcement.Config.HaggleFlexPercent– How far an NPC will budge toward a player’s offer.Config.HaggleCalculator– Max haggle ceiling (e.g., 3x asking price).
Dynamic Haggling System
Negotiating prices isn’t just flavor — it’s built into the system. Players can counter-offer NPCs, but how much room they have to negotiate depends on configuration.
Chance to Flex
Config.HaggleFlexPercent = 50
This defines the percentage chance an NPC is willing to negotiate.
Example: At
50, the NPC has a 50% chance to entertain a counter-offer and consider adjusting their price.
How Much They Flex
Config.FlexTowardPlayerPercent = 0.5
This controls how far the NPC will move toward the player’s offer if they agree to negotiate.
0.5means the NPC meets the player halfway between their price and the player’s.Do not set above
0.5— otherwise, NPCs may consistently accept highball offers.
Haggle Limits
Config.HaggleCalculator = 3
This sets a ceiling for player offers based on the NPC’s maximum price.
Example: If an NPC’s price is $2 per unit and they want 2 units (total $4),
the player can counter-offer up to$4 * 3 = $12.
Setting this too high (e.g. above 10) can break balance and allow abuse.
Let me know if you’d like an illustrated step-by-step flow or example dialogue showcasing the haggle flow in-game!
Immersive Interactions
Over 20 randomized greetings, job titles like Scam Artist or Gang Enforcer, and a mix of gritty Old West names.
Persistent names and jobs per ped—no more repeated introductions.
Config.RandomGreetingText, Config.RandomJobText, Config.RandomNames
Haggle System
NPCs evaluate your offer and will meet halfway, refuse, or rob you based on the offer value and Config.HaggleFlexPercent.
Counter-offers are calculated dynamically from your price and the ped’s max payout.
Built-In Law Alert & Notification System
The included open-source file offers plug-and-play support for law enforcement alerts and player notifications:
function AlertLawDrugSelling()
local chance = math.random(1, 100)
if chance <= Config.AlertChance then
print('[drugselling] Alerting law enforcement about drug')
end
end
function Notify(desc, ntype)
print('[drugselling] ' .. json.encode(desc))
print('[drugselling] ' .. json.encode(ntype))
lib.notify({
title = "Drug Selling",
description = desc,
type = ntype -- 'success', 'error', 'info'
})
end
No external dependencies easily customize and integrate alerts, logging, and feedback into your law or player systems.
Dynamic Inventory & Pricing
Add drugs in seconds via Config.DrugsPrice
Set custom:
Labels (e.g. “Devil’s Herb”)- Prop models and placement
- Price ranges (min/max)
- Supports visual attachment of drug packages using s_drugpackage_02x.
Live Supply & Demand (Zone-Based)
Each town zone tracks drug demand using a 5-tier hunger system:
Starving → Hungry → Slightly Hungry → Normal → Full
This is defined in Config.HungerLevels.
Tracked by Zone, Not Individual Peds
Each selling area (Valentine, Saint Denis, etc.) has its own zoneName, maxHunger, and radius defined in Config.DrugSellingLocations.
Once a zone is Full, NPCs in that area will stop buying drugs.
Hunger auto-decays every hour via:
Config.HungerDecayAmount -- how much hunger drops per cycle
Config.RefreshRateHunger -- how often hunger updates (in ms)
Smarter Zone Logic
Config.ClearHungerOnServerStarttoggle full resets.Config.UseVisableRadiusrestrict sales within visible range.Config.SellDistancemax distance you can walk from a deal.Config.CooldownTimetime between sales.
:octagonal_sign: Blacklist & Restrictions
- Block specific ped models from being dealers.
- Prohibit drug sales from horses or wagons.
- No sale zones supported.
Config.BlacklistedPeds,Config.NoSellZone
Law Enforcement Support
Automatically detect lawmen jobs like:BWPolice, SDPolice, ValSheriff, etc.
Trigger alerts when needed and prevent abuse with minimum police checks.
Clean Configuration
All settings are centralized in the Config table:Config.Lan Config.Settings, Config.LawmenJobs, etc.
No need to touch core logic just adjust values.
Built for Performance
Clean threading and optimized logic ensure you can handle dozens of NPCs simultaneously without lag—perfect for populated RP servers.
Optional Start Without Commands
Want to auto-start the script? Just use this client-side event:drugselling:client:opensourceStartScript
Currently Supported Frameworks
VORP Core- RSG (COMING SOON)
Coming Soon
- Stash Houses: Hidden buildings for discreet high-volume deals.
- Undercover Informants: Some peds might snitch—if you’re not careful.
- Smuggle Missions
- Dealer Shops
Buy Here: https://goldslush.tebex.io/package/6854025
Video Preview: https://youtu.be/g0nLuqX9VjQ
