[ESX/QBCore] Drug Dealer Script

A script by ImTrase

No reviews yet.
[ESX/QBCore] Drug Dealer Script main image

Full Description

Trase.Dev’s ESX/QBCore Drug Dealer System


Trase_Dealer is an advanced drug dealer script for FiveM. It allows players to sell drugs or other illegal items. Create ranks with exclusive perks, enhancing the gameplay experience. Connect whitelisted discord roles to give supporters exclusive modifications such as increased sell percentages. Our script support both ESX and QBCore, our script is also very easy to install.

Features:

  • Optimized with 0.00ms
  • Configure individual items (drugs), set prices and deny chance.
  • Configurable menu to select drug (optional)
  • Ranks, the more a user sells the more they can unlock and can be configured in the config
  • Discord Roles, set certain discord roles to have certain features. (allows donors to get a % increase)
  • Blacklist certain coords and jobs.
  • Built in police alerting system.
  • Protected from modders

Configuration:

Config (Shared)
Config = {}

-- Configure all drugs on server config.

Config.Framework = 0 -- ESX = 0, QBCore = 1, Custom = 2 (For custom, setup in frameworks/custom.lua)
Config.SellCommands = { 'dealer', 'selldrugs', 'trap' } -- Commands that are used to sell drugs
Config.EnableSelection = true -- Enable the context menu to select the drug IF they have more then 1
Config.SpawnDistance = 50.0 -- The distance the peds are spawned from the player
Config.DefaultSellTime = 12 -- Time (in seconds) it takes to sell on level 1

Config.BlacklistedJobs = { -- A list of jobs that cannot do /dealer
    'police',
    'ambulance'
}

Config.BlacklistedLocations = {
    vec4(0.0, 0.0, 0.0, 25.0), -- X, Y, Z, Radius
}

Config.Police = {
    Enabled = true,
    Job = 'police'
}

Config.DenyStrings = {
    'This stuff is shitty!',
    'I want the real shit, what is this?!',
    'This shit wack.',
}

Config.Strings = {
    ['NoDrugs'] = 'You have no drugs to sell!',
    ['MenuTitle'] = 'Select Drug Option',
    ['NoClientFound'] = 'No clients were found, try moving around.',
    ['ClientFound'] = 'Client found, they\'re approaching now.',
    ['ClientScared'] = 'The client got scared and ran away.',
    ['NoInVeh'] = 'You can\'t sell drugs while in a vehicle.',
    ['SoldDrug'] = 'You sold {DRUG_NAME} for ${DRUG_PRICE}.',
    ['RankUp'] = 'Congrats! You have sold a total of {TOTAL_DRUGSALE} drugs and ranked up to {RANK_LABEL}!',
    ['SellIncrease'] = 'You got a {DRUG_MULTI}% sell increase due to your rank!',
    ['SellIncreaseDiscord'] = 'You got a {DRUG_MULTI}% sell increase due to being a donator!',
    ['AlertPolice'] = 'A suspect spotted selling drugs!',
    ['BlacklistedJob'] = 'You are not allowed to sell drugs with this job!',
    ['CantSellHere'] = 'You cannot sell drugs here!',
    ['CurrentlyDrugRank'] = 'You are currently rank {DRUG_RANK}, and have sold a total of x{DRUG_TOTALSOLD} drugs!'
}

Config.PedModels = { -- List of peds that are selected when selling
    `a_m_m_salton_04`,
    `a_m_m_salton_03`,
    `a_m_m_rurmeth_01`,
    `a_m_m_skidrow_01`,
    `a_m_m_socenlat_01`,
    `a_m_m_soucent_01`,
    `a_m_m_soucent_03`,
    `a_m_m_soucent_04`,
    `a_m_o_acult_02`,
    `a_m_o_soucent_02`,
    `a_m_o_soucent_03`,
    `a_m_o_tramp_01`,
    `csb_tonya`,
    `g_f_y_ballas_01`,
    `g_f_y_families_01`,
    `g_f_y_lost_01`,
    `g_f_y_vagos_01`,
}

Config.Ranks = {
    [1] = {
        RankLabel = 'Rank: 2',
        SellRequirement = 100,
        Modifiers = {
            SellTime = 10, -- The time (in seconds) it takes to sell the drug on the phone with the ped
            SellPrice = 10 -- Sell 10% more
        }
    },
    [2] = {
        RankLabel = 'Rank: 3',
        SellRequirement = 500,
        Modifiers = {
            SellTime = 8, -- The time (in seconds) it takes to sell the drug on the phone with the ped
            SellPrice = 15 -- Sell 15% more
        }
    },
    [3] = {
        RankLabel = 'Rank: 4',
        SellRequirement = 750,
        Modifiers = {
            SellTime = 6, -- The time (in seconds) it takes to sell the drug on the phone with the ped
            SellPrice = 20 -- Sell 20% more
        }
    },
    [4] = {
        RankLabel = 'Rank: 5',
        SellRequirement = 1000,
        Modifiers = {
            SellTime = 4, -- The time (in seconds) it takes to sell the drug on the phone with the ped
            SellPrice = 25 -- Sell 25% more
        }
    },
}
Config (Server)
while (not Config) do Wait(100) end

Config.PayType = 'black_money' -- ESX = "money", "bank", "black_money" | QBCore = "cash", "markedbills"
Config.RandomizePay = true -- If enabled, it will add a random number 1-200
-- Please keep in mind, if you use marked bills disable the option above and change the prices. (QBCore)

Config.Command = {
    Enabled = true,
    Command = 'dealerrank'
}

Config.Drugs = {
    [1] = {
        Label = 'Coke',
        Item = 'coke_bag',
        Price = 2000, 
        RequiredAmount = 1,
        DenyChance = 0
    },
    [2] = {
        Label = 'Meth',
        Item = 'meth_bag',
        Price = 2000, 
        RequiredAmount = 1,
        DenyChance = 0
    },
}

Config.Discord = {
    Enabled = false, -- Requires: https://github.com/ImTrase/trase_discord
    ResourceName = 'trase_discord', -- In case you renamed the resource.
    Roles = {
        [1] = {
            RoleID = 1094982744133619782,
            SellPrice = 25 -- Sell 25% more (adds on to the rank)
        }
    }
}

Links:

My Other Resources:

Code is accessible Yes & No (Alot of the code is open, with only core parts being locked, but there is also a option to purchase the source code)
Subscription-based No
Lines (approximately) ~669
Requirements ox_lib
Support Yes