Configuration
Config = {}
Config.Debug = false, -- Enable Debug Mode (true/false)
SD.Locale.LoadLocale('en') -- Load the locale language, if available. You can change 'en' to any other available language in the locales folder.
Config.PoliceJobs = { 'police', --[['sheriff']] } -- Array of jobs that are checked in the cop count callback
-- Blacklisted Peds that cannot be interacted with/used for selling drugs
Config.BlacklistedPeds = {
[`s_m_y_ranger_01`] = true,
[`s_m_y_sheriff_01`] = true,
[`s_m_y_cop_01`] = true,
[`s_f_y_sheriff_01`] = true,
[`s_f_y_cop_01`] = true,
[`s_m_y_hwaycop_01`] = true
}
-- Animation details for the exchanging of drugs and money (Thanks lation for sending me offsets <3)
Config.Animations = {
BuyerAccepts = {
drugModel = 'prop_weed_bottle',
drugPos = {x = 0.13, y = 0.02, z = 0.0},
drugRot = {x = -90.0, y = 0.0, z = 0.0},
cashModel = 'hei_prop_heist_cash_pile',
cashPos = {x = 0.13, y = 0.02, z = 0.0},
cashRot = {x = -90.0, y = 0.0, z = 0.0},
animDict = 'mp_common',
animClip = 'givetake1_a'
},
}
-- Police Alert for Suspicious Dealings
policeAlert = function()
SD.PoliceDispatch({
displayCode = "10-31S", -- Dispatch Code
title = 'Suspicious Dealings', -- Title is used in cd_dispatch/ps-dispatch
description = "Suspicious activities reported", -- Description of the incident
message = "Suspects reported engaging in suspicious dealings", -- Additional message or information
-- Blip information is used for ALL dispatches besides ps_dispatch, please reference dispatchcodename below.
sprite = 310, -- The blip sprite for suspicious activity or related icon
scale = 1.0, -- The size of the blip on the map
colour = 1, -- The color of the blip on the map (red, for example)
blipText = "Suspicious Dealings", -- Text that appears on the Blip
-- ps-dispatch
dispatchcodename = "suspicious_dealings" -- This is the name used by ps-dispatch users for the sv_dispatchcodes.lua or config.lua under the Config.Blips entry. (Depending on Version)
})
end -- This is the function that is called when the police are meant to be alerted. You can modify this in any way.
Config.Zones = {
[1] = {
Coords = {x = 37.37, y = -1883.42, z = 22.44}, -- Coordinates of the center of the zone
Size = 250.0, -- Radius of the zone from the coordinates
PoliceRequirement = {Enable = true, Amount = 1}, -- Police requirement settings (whether police are required and the number needed)
-- Cooldown settings for this zone (whether it is enabled, the period (hour = hours, min = minutes, e.g. Hour = 1 and Min = 30 means 1 hour and 30 minutes) and the max number of sales per period)
Cooldown = { Enable = true, Period = { Hour = 1, Min = 0 }, Max = 250 },
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the player based on a level requirement
Blip = { -- Blip settings for the zone on the map
Enable = true, -- Whether the blip is enabled
Name = 'Drug Selling Zone', -- Name of the blip
Sprite = 51, -- Sprite icon for the blip
Scale = 0.8, -- Scale of the blip
Colour = 1, -- Colour of the blip
Radius = {Enable = true, Colour = 1} -- Enable and colour of the blip's area
},
Drugs = { -- List of drugs available for sale in this zone
['cokebaggy'] = {
Label = "Cocaine", -- Display name of the drug
Icon = "fas fa-capsules", -- Icon for the drug
Price = {Randomize = true, Base = 100, Min = 80, Max = 120}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 10, Min = 5, Max = 15}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['crack_baggy'] = {
Label = "Crack", -- Display name of the drug
Icon = "fas fa-pills", -- Icon for the drug
Price = {Randomize = true, Base = 90, Min = 70, Max = 110}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 8, Min = 4, Max = 12}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['xtcbaggy'] = {
Label = "Ecstasy", -- Display name of the drug
Icon = "fas fa-tablets", -- Icon for the drug
Price = {Randomize = true, Base = 60, Min = 50, Max = 70}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 15, Min = 10, Max = 20}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['oxy'] = {
Label = "Oxycodone", -- Display name of the drug
Icon = "fas fa-prescription-bottle-alt", -- Icon for the drug
Price = {Randomize = true, Base = 120, Min = 100, Max = 140}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 5, Min = 3, Max = 7}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
}
}
},
[2] = {
Coords = {x = 284.0, y = 162.0, z = 104.0}, -- Coordinates of the center of the zone
Size = 250.0, -- Radius of the zone from the coordinates
PoliceRequirement = {Enable = false, Amount = 0}, -- Police requirement settings (whether police are required and the number needed)
-- Cooldown settings for this zone (whether it is enabled, the period (hour = hours, min = minutes, e.g. Hour = 1 and Min = 30 means 1 hour and 30 minutes) and the max number of sales per period)
Cooldown = { Enable = true, Period = { Hour = 1, Min = 0 }, Max = 100 },
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the player based on a level requirement
Blip = { -- Blip settings for the zone on the map
Enable = true, -- Whether the blip is enabled
Name = 'Drug Selling Zone', -- Name of the blip
Sprite = 51, -- Sprite icon for the blip
Scale = 0.8, -- Scale of the blip
Colour = 1, -- Colour of the blip
Radius = {Enable = true, Colour = 1} -- Enable and colour of the blip's area
},
Drugs = { -- List of drugs available for sale in this zone
['meth'] = {
Label = "Methamphetamine", -- Display name of the drug
Icon = "fas fa-flask", -- Icon for the drug
Price = {Randomize = true, Base = 110, Min = 90, Max = 130}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 7, Min = 4, Max = 10}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['weed_white-widow'] = {
Label = "White Widow", -- Display name of the drug
Icon = "fas fa-cannabis", -- Icon for the drug
Price = {Randomize = true, Base = 30, Min = 20, Max = 40}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 25, Min = 15, Max = 35}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['weed_skunk'] = {
Label = "Skunk", -- Display name of the drug
Icon = "fas fa-cannabis", -- Icon for the drug
Price = {Randomize = true, Base = 35, Min = 25, Max = 45}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 20, Min = 10, Max = 30}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['weed_purple-haze'] = {
Label = "Purple Haze", -- Display name of the drug
Icon = "fas fa-cannabis", -- Icon for the drug
Price = {Randomize = true, Base = 40, Min = 30, Max = 50}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 18, Min = 12, Max = 24}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
}
}
},
[3] = {
Coords = {x = -1664.0, y = -1066.0, z = 18.0}, -- Coordinates of the center of the zone
Size = 150.0, -- Radius of the zone from the coordinates
PoliceRequirement = {Enable = true, Amount = 1}, -- Police requirement settings (whether police are required and the number needed)
-- Cooldown settings for this zone (whether it is enabled, the period (hour = hours, min = minutes, e.g. Hour = 1 and Min = 30 means 1 hour and 30 minutes) and the max number of sales per period)
Cooldown = { Enable = true, Period = { Hour = 1, Min = 0 }, Max = 50 },
LevelRestrict = { Enable = true, Level = 1 }, -- Restrict the player based on a level requirement
Blip = { -- Blip settings for the zone on the map
Enable = true, -- Whether the blip is enabled
Name = 'Drug Selling Zone', -- Name of the blip
Sprite = 51, -- Sprite icon for the blip
Scale = 0.8, -- Scale of the blip
Colour = 1, -- Colour of the blip
Radius = {Enable = false, Colour = 1} -- Enable and colour of the blip's area
},
Drugs = { -- List of drugs available for sale in this zone
['weed_og-kush'] = {
Label = "OG Kush", -- Display name of the drug
Icon = "fas fa-cannabis", -- Icon for the drug
Price = {Randomize = true, Base = 45, Min = 35, Max = 55}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 22, Min = 15, Max = 30}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 } -- Restrict the sale of this drug to a specific level
},
['weed_amnesia'] = {
Label = "Amnesia", -- Display name of the drug
Icon = "fas fa-cannabis", -- Icon for the drug
Price = {Randomize = true, Base = 50, Min = 40, Max = 60}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 20, Min = 10, Max = 30}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 } -- Restrict the sale of this drug to a specific level
},
['weed_ak47'] = {
Label = "AK-47", -- Display name of the drug
Icon = "fas fa-cannabis", -- Icon for the drug
Price = {Randomize = true, Base = 55, Min = 45, Max = 65}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 18, Min = 12, Max = 24}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 }, -- Restrict the sale of this drug to a specific level
},
['xtcbaggy'] = {
Label = "Ecstasy", -- Display name of the drug
Icon = "fas fa-tablets", -- Icon for the drug
Price = {Randomize = true, Base = 60, Min = 50, Max = 70}, -- Price settings (randomized or fixed)
Quantity = {Randomize = true, Base = 15, Min = 10, Max = 20}, -- Quantity settings (randomized or fixed)
LevelRestrict = { Enable = false, Level = 1 } -- Restrict the sale of this drug to a specific level
}
}
}
}
Config.EnableLaundering = true -- Enable the money laundering feature (true/false)
-- Moneywashing Settings
-- Configures item-based money laundering (1-1 ratio, e.g., 1 ItemName = $1).
-- Recommended to disable if you don't use marked money where 1 item = $1.
-- If you don't have a 1-1 ratio marked money item, you can configure tradtional moneywashing settings in Config.Levels
Config.MoneyWashing = {
WashItem = { Enable = false, Chance = 100, ItemName = "black_money", MinAmount = 500, MaxAmount = 2500 },
} -- if Enabled, the 'Washing' settings in Config.Levels will be overridden (Levels.Tax still applies to Config.MoneyWashing)
-- Config.DirtyMoney specifies the name of 1-1 dirty money item.
-- If Levels.MoneyType.DirtyType is set to '1-1', this item will be used for 1-1 ratio dirty money transactions.
Config.DirtyMoney = 'black_money' -- Name of the dirty money item (e.g., 'black_money')
Config.Levels = {
{
Level = 1, -- Level number
XPThreshold = 250, -- XP required to reach the next level (Level 2)
XPPerSale = 10, -- XP gained per sale at this level
Multiplier = 1.0, -- Price multiplier for sales at this level
PoliceNotify = {Enable = true, Chance = 30}, -- Chance of police being notified of a sale at this level
Robbery = {Enable = true, Chance = 17}, -- Chance of being robbed during a sale at this level
Rejection = {Enable = true, Chance = 25, PoliceNotify = {Enable = true, Chance = 25}}, -- Chance of a sale being rejected at this level and chance of police being notified upon rejection
TimeRequirement = {Enable = true, AllowedTime = {From = 21, To = 2}}, -- Allowed time for sales at this level (from 9pm to 2am)
-- 'DirtyType' = 'standard' indicates the use of your framework's default method for handling dirty money.
-- For example, in qb-core it is represented as 'markedbills' with metadata, whereas in es_extended it is represented as the 'black_money' account.
-- '1-1' signifies a 1-to-1 ratio of dirty money conversion (e.g., $1 equals 1 unit of 'black_money').
MoneyType = { Type = 'dirty', DirtyType = 'standard' }, -- Type of money to give to the player (clean/dirty) and if dirty the type of dirty money to give (standard/1-1)
-- Disclaimer: 'bills' are 'markedbills'. On qb-core these have metadata, if metadata is detected that'll be used instead of the min/max values.
-- Enable/Disable, Bills 'markedbills', Bands 'bands', rolls 'rolls', value randomized between min & max, chance of this washing.
Washing = { Enable = true, Bills = { min = 750, max = 2000, chance = 10 }, Bands = { min = 750, max = 2000, chance = 15 }, Rolls = { min = 250, max = 750, chance = 20 } },
-- Enable/Disable money laundering, and set min/max values and success chance for 'Bills', 'Bands', and 'Rolls'
Tax = { Enable = true, Percentage = 25 }, -- Tax settings on all money washing for Level 1
Cooldown = { Enable = true, Period = { Hour = 1, Min = 0 }, Max = 10 } -- Enable/Disable, Period in hours and minutes, and Max number of sales per period
},
{
Level = 2, -- Level number
XPThreshold = 1000, -- XP required to reach the next level (Level 3)
XPPerSale = 20, -- XP gained per sale at this level
Multiplier = 1.1, -- Price multiplier for sales at this level
PoliceNotify = {Enable = true, Chance = 25}, -- Chance of police being notified of a sale at this level
Robbery = {Enable = true, Chance = 15}, -- Chance of being robbed during a sale at this level
Rejection = {Enable = true, Chance = 22, PoliceNotify = {Enable = true, Chance = 20}}, -- Chance of a sale being rejected at this level and chance of police being notified upon rejection
TimeRequirement = {Enable = true, AllowedTime = {From = 20, To = 4}}, -- Allowed time for sales at this level (from 8pm to 4am)
-- 'DirtyType' = 'standard' indicates the use of your framework's default method for handling dirty money.
-- For example, in qb-core it is represented as 'markedbills' with metadata, whereas in es_extended it is represented as the 'black_money' account.
-- '1-1' signifies a 1-to-1 ratio of dirty money conversion (e.g., $1 equals 1 unit of 'black_money').
MoneyType = { Type = 'dirty', DirtyType = 'standard' }, -- Type of money to give to the player (clean/dirty) and if dirty the type of dirty money to give (standard/1-1)
-- Disclaimer: 'bills' are 'markedbills'. On qb-core these have metadata, if metadata is detected that'll be used instead of the min/max values.
-- Enable/Disable, Bills 'markedbills', Bands 'bands', rolls 'rolls', value randomized between min & max, chance of this washing.
Washing = { Enable = true, Bills = { min = 750, max = 2000, chance = 12 }, Bands = { min = 750, max = 2000, chance = 17 }, Rolls = { min = 250, max = 750, chance = 22 } },
Tax = { Enable = true, Percentage = 15 }, -- Tax settings on all money washing for Level 2
Cooldown = { Enable = true, Period = { Hour = 1, Min = 0 }, Max = 20 } -- Enable/Disable, Period in hours and minutes, and Max number of sales per period
},
{
Level = 3, -- Level number
XPThreshold = 2000, -- XP required to reach the next level (Level 4)
XPPerSale = 30, -- XP gained per sale at this level
Multiplier = 1.2, -- Price multiplier for sales at this level
PoliceNotify = {Enable = true, Chance = 20}, -- Chance of police being notified of a sale at this level
Robbery = {Enable = true, Chance = 13}, -- Chance of being robbed during a sale at this level
Rejection = {Enable = true, Chance = 20, PoliceNotify = {Enable = true, Chance = 15}}, -- Chance of a sale being rejected at this level and chance of police being notified upon rejection
TimeRequirement = {Enable = true, AllowedTime = {From = 19, To = 5}}, -- Allowed time for sales at this level (from 7pm to 5am)
-- 'DirtyType' = 'standard' indicates the use of your framework's default method for handling dirty money.
-- For example, in qb-core it is represented as 'markedbills' with metadata, whereas in es_extended it is represented as the 'black_money' account.
-- '1-1' signifies a 1-to-1 ratio of dirty money conversion (e.g., $1 equals 1 unit of 'black_money').
MoneyType = { Type = 'dirty', DirtyType = 'standard' }, -- Type of money to give to the player (clean/dirty) and if dirty the type of dirty money to give (standard/1-1)
-- Disclaimer: 'bills' are 'markedbills'. On qb-core these have metadata, if metadata is detected that'll be used instead of the min/max values.
-- Enable/Disable, Bills 'markedbills', Bands 'bands', rolls 'rolls', value randomized between min & max, chance of this washing.
Washing = { Enable = true, Bills = { min = 750, max = 2000, chance = 15 }, Bands = { min = 750, max = 2000, chance = 24 }, Rolls = { min = 250, max = 750, chance = 28 } },
Tax = { Enable = true, Percentage = 15 }, -- Tax settings on all money washing for Level 3
Cooldown = { Enable = true, Period = { Hour = 1, Min = 0 }, Max = 40 } -- Enable/Disable, Period in hours and minutes, and Max number of sales per period
},
{
Level = 4, -- Level number
XPThreshold = 3500, -- XP required to reach the next level (Level 5)
XPPerSale = 40, -- XP gained per sale at this level
Multiplier = 1.3, -- Price multiplier for sales at this level
PoliceNotify = {Enable = true, Chance = 8}, -- Chance of police being notified of a sale at this level
Robbery = {Enable = true, Chance = 20}, -- Chance of being robbed during a sale at this level
Rejection = {Enable = true, Chance = 13, PoliceNotify = {Enable = true, Chance = 10}}, -- Chance of a sale being rejected at this level and chance of police being notified upon rejection
TimeRequirement = {Enable = true, AllowedTime = {From = 18, To = 6}}, -- Allowed time for sales at this level (from 6pm to 6am)
-- 'DirtyType' = 'standard' indicates the use of your framework's default method for handling dirty money.
-- For example, in qb-core it is represented as 'markedbills' with metadata, whereas in es_extended it is represented as the 'black_money' account.
-- '1-1' signifies a 1-to-1 ratio of dirty money conversion (e.g., $1 equals 1 unit of 'black_money').
MoneyType = { Type = 'dirty', DirtyType = 'standard' }, -- Type of money to give to the player (clean/dirty) and if dirty the type of dirty money to give (standard/1-1)
-- Disclaimer: 'bills' are 'markedbills'. On qb-core these have metadata, if metadata is detected that'll be used instead of the min/max values.
-- Enable/Disable, Bills 'markedbills', Bands 'bands', rolls 'rolls', value randomized between min & max, chance of this washing.
Washing = { Enable = true, Bills = { min = 750, max = 2000, chance = 20 }, Bands = { min = 750, max = 2000, chance = 26 }, Rolls = { min = 250, max = 750, chance = 30 } },
Tax = { Enable = true, Percentage = 10 }, -- Tax settings on all money washing for Level 4
Cooldown = { Enable = true, Period = { Hour = 0, Min = 30 }, Max = 60 } -- Enable/Disable, Period in hours and minutes, and Max number of sales per period
},
{
Level = 5, -- Level number
XPThreshold = 1500, -- -- XP required to reach the next level (Level 6) <-- No next level, so this is ignored, unless you add more levels!
XPPerSale = 50, -- XP gained per sale at this level
Multiplier = 1.4, -- Price multiplier for sales at this level
PoliceNotify = {Enable = true, Chance = 10}, -- Chance of police being notified of a sale at this level
Robbery = {Enable = true, Chance = 3}, -- Chance of being robbed during a sale at this level
Rejection = {Enable = true, Chance = 5, PoliceNotify = {Enable = true, Chance = 5}}, -- Chance of a sale being rejected at this level and chance of police being notified upon rejection
TimeRequirement = {Enable = true, AllowedTime = {From = 17, To = 7}}, -- Allowed time for sales at this level (from 5pm to 7am)
-- 'DirtyType' = 'standard' indicates the use of your framework's default method for handling dirty money.
-- For example, in qb-core it is represented as 'markedbills' with metadata, whereas in es_extended it is represented as the 'black_money' account.
-- '1-1' signifies a 1-to-1 ratio of dirty money conversion (e.g., $1 equals 1 unit of 'black_money').
MoneyType = { Type = 'dirty', DirtyType = 'standard' }, -- Type of money to give to the player (clean/dirty) and if dirty the type of dirty money to give (standard/1-1)
-- Disclaimer: 'bills' are 'markedbills'. On qb-core these have metadata, if metadata is detected that'll be used instead of the min/max values.
-- Enable/Disable, Bills 'markedbills', Bands 'bands', rolls 'rolls', value randomized between min & max, chance of this washing.
Washing = { Enable = true, Bills = { min = 750, max = 2000, chance = 23 }, Bands = { min = 750, max = 2000, chance = 28 }, Rolls = { min = 250, max = 750, chance = 40 } },
Tax = { Enable = true, Percentage = 5 }, -- Tax settings on all money washing for Level 5
Cooldown = { Enable = false, Period = { Hour = 1, Min = 0 }, Max = 50 } -- Enable/Disable, Period in hours and minutes, and Max number of sales per period
}
}
Last updated