Drug Selling Open Source (VORP)

Drug Selling Open Source (VORP)

$100.00

Add to Basket

RedOne

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.

:small_blue_diamond: 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

:fire: 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).

:handshake: 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.


:game_die: 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.


:chart_with_upwards_trend: 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.5 means the NPC meets the player halfway between their price and the player’s.
:warning: Do not set above 0.5 — otherwise, NPCs may consistently accept highball offers.


:moneybag: 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!

:handshake: 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.RandomGreetingTextConfig.RandomJobTextConfig.RandomNames
:receipt: 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.

:brain: 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.

:luggage: 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.

:chart_with_downwards_trend: 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.

:compass: Tracked by Zone, Not Individual Peds
Each selling area (Valentine, Saint Denis, etc.) has its own zoneNamemaxHunger, and radius defined in Config.DrugSellingLocations.

:no_entry_sign: Once a zone is Full, NPCs in that area will stop buying drugs.

:recycle: Hunger auto-decays every hour via:

Config.HungerDecayAmount -- how much hunger drops per cycle
Config.RefreshRateHunger -- how often hunger updates (in ms)

:brain: Smarter Zone Logic

  • Config.ClearHungerOnServerStart toggle full resets.
  • Config.UseVisableRadius restrict sales within visible range.
  • Config.SellDistance max distance you can walk from a deal.
  • Config.CooldownTime time 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.BlacklistedPedsConfig.NoSellZone

:oncoming_police_car: Law Enforcement Support
Automatically detect lawmen jobs like:
BWPoliceSDPoliceValSheriff, etc.
Trigger alerts when needed and prevent abuse with minimum police checks.

:brain: Clean Configuration
All settings are centralized in the Config table:
Config.Lan Config.SettingsConfig.LawmenJobs, etc.
No need to touch core logic just adjust values.

:shield: Built for Performance
Clean threading and optimized logic ensure you can handle dozens of NPCs simultaneously without lag—perfect for populated RP servers.

:test_tube: Optional Start Without Commands
Want to auto-start the script? Just use this client-side event:
drugselling:client:opensourceStartScript

:tools: Currently Supported Frameworks

  • :white_check_mark: VORP Core
  • RSG (COMING SOON)

:compass: 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