Drug Dealer App | LB-Phone [ESX/QBCORE/QBOX]

miniatura

:rocket: Key Features :sparkles: User-Friendly Interface – A sleek, intuitive design for easy navigation.

:arrows_counterclockwise: ESX & QB-Core Compatible – Seamlessly integrates with both frameworks.

:dollar: Custom Payment Settings – Choose between black money or regular cash, and money as an item or account balance.

:earth_africa: NPC Locations – Configure multiple NPC spawn points and zones for dynamic interactions.

:control_knobs: Customizable Player Levels – Set required sales and bonus multipliers for different player levels.

:warning: Failure Chance – Adjust the likelihood of a failed sale, adding a challenge to the process.

:stopwatch: Deal Timeout – Set a maximum time limit for completing sales.

:bell: Clear Notifications – Players receive feedback about the sale process, including success or failure messages.

:zap: Optimized Performance – Lightweight with no impact on FPS.

:hammer_and_wrench: Easy Configuration – Fully customizable and easy to set up.

PREVIEW

YouTube Video

BUY

Tebex

DISCORD

Support Discord

Config.lua

Config.Framework = "ESX" -- Framework used: "ESX" or "QB" for server-side integration
Config.BlackMoney = true -- If true, payments use black/dirty money; if false, regular cash
Config.MoneyAsItem = true -- If true, money is an inventory item; if false, it’s an account balance
Config.Locale = "en" -- Change the language of the script
Config.Failure = 20 -- Chance of sale failure (1 = 20%); set to nil for 100% success
Config.DealTimeout = 300 -- Time limit for deals in seconds (300 = 5 minutes)

Config.name = "Drug Dealer" -- App name 
Config.description = "Deal dope, dodge the cops" -- Adds a roleplay vibe
Config.defaultApp = false -- If false, app must be installed; if true, it’s pre-installed
Config.size = 25400 -- App size in KB (25.4 MB) for LB-Phone storage
Config.price = 0 -- Cost to install app in dollars (0 = free)

Config.drugs = { -- List of drugs available for sale
    {item="maria", label="Weed", price=500, minAmount=1, maxAmount=10, zones={1}, image="baggy_weed.png", minLevel=1}, -- Weed: $500/unit, sell 1-10 in Grove, level 1+
    {item="coca", label="Coke", price=1000, minAmount=1, maxAmount=5, zones={2, 5}, image="baggy_cocaine.png", minLevel=3}, -- Coke: $1000/unit, sell 1-5 in Pier/Paleto, level 3+
    {item="lsd", label="LSD", price=800, minAmount=1, maxAmount=8, zones={1, 2, 3}, image="lsd.png", minLevel=2}, -- LSD: $800/unit, sell 1-8 in Grove/Pier/Vinewood, level 2+
    {item="meta", label="Meth", price=1200, minAmount=1, maxAmount=3, zones={4, 5}, image="baggy_meth.png", minLevel=4}, -- Meth: $1200/unit, sell 1-3 in Sandy/Paleto, level 4+
    {item="mush", label="Mushroom", price=1200, minAmount=1, maxAmount=3, zones={1, 4}, image="mushroom.png", minLevel=2}, -- Mushroom: $1200/unit, sell 1-3 in Grove/Sandy, level 2+
    {item="opium", label="Opium", price=1200, minAmount=1, maxAmount=3, zones={5}, image="opium.png", minLevel=1}, -- Opium: $1200/unit, sell 1-3 in Paleto, level 1+
    {item="crack", label="Crack", price=700, minAmount=1, maxAmount=5, zones={1, 4}, image="crack.png", minLevel=3}, -- Crack: $700/unit, sell 1-5 in Grove/Sandy, level 3+
    {item="heroin", label="Heroin", price=1500, minAmount=1, maxAmount=4, zones={4, 5}, image="drug_heroin.png", minLevel=5}, -- Heroin: $1500/unit, sell 1-4 in Sandy/Paleto, level 5+
    {item="xtc", label="Ecstasy", price=900, minAmount=1, maxAmount=6, zones={2, 3}, image="xtc_baggy.png", minLevel=2}, -- Ecstasy: $900/unit, sell 1-6 in Pier/Vinewood, level 2+
    {item="oxy", label="Oxycontin", price=1100, minAmount=1, maxAmount=5, zones={3, 4}, image="oxy.png", minLevel=3}, -- Oxycontin: $1100/unit, sell 1-5 in Vinewood/Sandy, level 3+
    {item="lean", label="Lean", price=600, minAmount=1, maxAmount=7, zones={1, 2}, image="drug_lean.png", minLevel=1}, -- Lean: $600/unit, sell 1-7 in Grove/Pier, level 1+
    {item="hash", label="Hash", price=850, minAmount=1, maxAmount=8, zones={1, 3}, image="drug_hash.png", minLevel=2} -- Hash: $850/unit, sell 1-8 in Grove/Vinewood, level 2+
-- {item="example", label="Example", price=69, minAmount=1, maxAmount=8, zones={1, 3}, image="drug_hash.png", minLevel=2} -- example
}

Config.levels = { -- Player rank progression based on sales
    { level = 1, name = "Newbie", salesRequired = 0, bonusMultiplier = 1.0 }, -- Level 1: Starting rank, no bonus
    { level = 2, name = "Rookie", salesRequired = 25, bonusMultiplier = 1.1 }, -- Level 2: 25 sales, 10% bonus
    { level = 3, name = "Hustler", salesRequired = 75, bonusMultiplier = 1.2 }, -- Level 3: 75 sales, 20% bonus
    { level = 4, name = "Dealer", salesRequired = 150, bonusMultiplier = 1.35 }, -- Level 4: 150 sales, 35% bonus
    { level = 5, name = "Trader", salesRequired = 300, bonusMultiplier = 1.5 }, -- Level 5: 300 sales, 50% bonus
    { level = 6, name = "Boss", salesRequired = 600, bonusMultiplier = 1.75 }, -- Level 6: 600 sales, 75% bonus
    { level = 7, name = "Kingpin", salesRequired = 1200, bonusMultiplier = 2.0 }, -- Level 7: 1200 sales, 100% bonus
    { level = 8, name = "Overlord", salesRequired = 2000, bonusMultiplier = 2.25 }, -- Level 8: 2000 sales, 125% bonus
    { level = 9, name = "Tycoon", salesRequired = 3500, bonusMultiplier = 2.5 }, -- Level 9: 3500 sales, 150% bonus
    { level = 10, name = "Legend", salesRequired = 5000, bonusMultiplier = 3.0 } -- Level 10: 5000 sales, 200% bonus
--  { level = 11, name = "Example", salesRequired = 10000, bonusMultiplier = 5.0 } -- example
}

Config.dataFile = "player_data.json" -- File where player progress (sales, level) is saved

Config.NPCLocations = { -- NPC spawn locations for drug sales, organized by zone
    [1] = { -- Zone 1: Grove
        peds = {"a_m_m_eastsa_01", "g_m_y_fam_01", "g_m_y_ballaeast_01"}, -- Ped models: urban gang types
        locations = { -- Coordinates (x, y, z, heading) for NPC spawns
            vector4(282.73, -1898.99, 27.27, 45.02),
            vector4(208.66, -1895.22, 24.81, 52.00),
            vector4(148.77, -1904.60, 23.53, 338.23),
            vector4(2.90, -1893.09, 23.70, 235.12),
            vector4(-34.25, -1847.03, 26.19, 235.61),
            vector4(95.71, -1682.40, 29.26, 142.99),
            vector4(216.41, -1717.38, 29.68, 315.60),
            vector4(240.71, -1687.71, 29.70, 242.73),
            vector4(200.05, -2002.05, 18.86, 249.02),
            vector4(235.98, -2046.31, 18.38, 308.14)
        }
    },
    [2] = { -- Zone 2: Pier/Beach
        peds = {"a_m_y_beach_01", "a_f_y_beach_01", "s_m_m_surfer_01"}, -- Ped models: beachgoers and surfers
        locations = { -- Coordinates for NPC spawns
            vector4(-1233.18, -1191.47, 11.26, 186.72),
            vector4(-1371.13, -1001.57, 8.29, 212.44),
            vector4(-1385.80, -976.33, 9.27, 319.55),
            vector4(-1381.08, -941.07, 10.18, 130.33),
            vector4(-1063.53, -1160.32, 2.75, 39.80),
            vector4(-938.74, -1087.90, 2.15, 131.98),
            vector4(-1011.31, -1223.98, 5.95, 228.48),
            vector4(-1083.38, -1261.91, 5.58, 310.20),
            vector4(-1458.81, -659.20, 29.58, 34.94),
            vector4(-1467.56, -665.50, 29.58, 41.39)
        }
    },
    [3] = { -- Zone 3: Vinewood Houses
        peds = {"a_m_y_vinewood_01", "a_f_y_vinewood_01"}, -- Ped models: wealthy/hip Vinewood residents
        locations = { -- Coordinates for NPC spawns
            vector4(-1174.39, 440.09, 86.85, 82.00),
            vector4(-1122.48, 486.35, 82.36, 164.65),
            vector4(-1167.13, 568.76, 101.83, 168.45),
            vector4(-1277.98, 496.80, 97.89, 260.16),
            vector4(-1371.47, 443.95, 105.86, 75.09),
            vector4(-1346.11, 560.89, 130.53, 42.65),
            vector4(-1367.40, 610.56, 133.88, 287.89),
            vector4(-418.04, 569.03, 125.06, 169.22),
            vector4(-312.20, 475.47, 111.82, 115.14),
            vector4(-174.60, 502.63, 137.42, 98.97)
        }
    },
    [4] = { -- Zone 4: Sandy Shores
        peds = {"a_m_m_hillbilly_01", "a_m_m_hillbilly_02", "a_f_m_fatwhite_01"}, -- Ped models: rural hillbilly types
        locations = { -- Coordinates for NPC spawns
            vector4(1803.60, 3913.73, 37.06, 105.60),
            vector4(1880.39, 3920.81, 33.21, 105.19),
            vector4(1916.18, 3909.46, 33.44, 233.96),
            vector4(1945.17, 3848.00, 32.16, 295.66),
            vector4(1932.91, 3804.92, 32.91, 131.11),
            vector4(1774.82, 3742.74, 34.66, 122.75),
            vector4(1545.11, 3600.14, 35.43, 36.98),
            vector4(1435.27, 3657.23, 34.44, 293.75)
        }
    },
    [5] = { -- Zone 5: Paleto Bay
        peds = {"a_m_m_farmer_01", "a_m_o_tramp_01", "a_f_m_tramp_01"}, -- Ped models: farmers and vagrants
        locations = { -- Coordinates for NPC spawns
            vector4(-300.97, 6256.48, 31.49, 235.82),
            vector4(-227.82, 6333.93, 32.42, 163.87),
            vector4(-272.52, 6400.97, 31.50, 225.89),
            vector4(-238.19, 6423.80, 31.46, 226.32),
            vector4(-214.92, 6444.27, 31.31, 306.84),
            vector4(-150.01, 6416.00, 31.92, 51.36),
            vector4(-20.51, 6490.64, 31.50, 43.15),
            vector4(-103.72, 6331.03, 31.58, 319.49),
            vector4(-272.64, 6181.81, 31.52, 332.43)
        }
    -- [6] = { -- Zone 6: YOUR EXAMPLE ZONE
    -- peds = {"a_m_m_farmer_01", "a_m_o_tramp_01", "a_f_m_tramp_01"}, -- Ped models: CHANGE IT FOR WHAT U WANT
    -- locations = { -- Coordinates for NPC spawns
    --     vector4(-300.97, 6256.48, 31.49, 235.82),
    --     vector4(-227.82, 6333.93, 32.42, 163.87),
    --     vector4(-272.52, 6400.97, 31.50, 225.89)
    -- }
    }
}
SCREENSHOTS




Code is accessible Config.lua & Styles
Subscription-based No
Requirements LB-PHONE
Support Yes
2 Likes

Now u can change the name of the item money easily on config

1 Like

I bought this script and my players love it! But we would love to have the police more involved. Could you add like a dispatch function of some sort? lb-tablet, ps-dispatch etc

1 Like

Hey! I’m really glad to hear your players are enjoying the script! :blush:
Just wanted to let you know that in an upcoming update, I’ll be adding a feature where you’ll be able to set a percentage chance for the police to be alerted. It will also include an export/trigger so it can integrate with systems like ps-dispatch, lb-tablet, etc.

1 Like