Configuration
Complete reference for all configuration options in oxide-blackmarket.
Complete reference for all configuration options in oxide-blackmarket.
Config File: shared/config.lua
Core Settings
Basic resource configuration.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.Debug | boolean | false | Enable debug console output |
Config.RelocationInterval | number | 2700000 | Dealer relocation time in ms (45 min) |
Config.DealerWeapon | string | 'WEAPON_PISTOL' | Dealer's default weapon |
Config.DealerModel | string | 's_m_y_dealer_01' | Ped model for dealer |
Config.Debug = false
Config.RelocationInterval = 45 * 60 * 1000 -- 45 minutes
Config.DealerWeapon = 'WEAPON_PISTOL'
Config.DealerModel = 's_m_y_dealer_01'
Blip Settings
Configure the proximity-based blip discovery system.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.BlipDetectionRange | number | 200.0 | Distance to trigger blip flash |
Config.BlipDuration | table | See below | Blip visibility duration by tier (ms) |
Config.BlipCooldown | number | 120000 | Cooldown between flashes (2 min) |
Config.BlipSprite | number | 140 | Blip icon (dollar sign) |
Config.BlipColor | number | 1 | Blip color (red) |
Config.BlipDetectionRange = 200.0
Config.BlipDuration = {
[0] = 3000, -- Unknown: 3 seconds
[1] = 4000, -- Street: 4 seconds
[2] = 5000, -- Connected: 5 seconds
[3] = 6000, -- Trusted: 6 seconds
[4] = 10000, -- Inner Circle: 10 seconds
}
Config.BlipCooldown = 120000
Config.BlipSprite = 140
Config.BlipColor = 1
Reputation Settings
Configure the reputation/tier system.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.ReputationDecay | boolean | false | Enable daily rep decay (placeholder) |
Config.DecayAmount | number | 10 | Rep lost per day |
Config.KillPenalty | number | 500 | Rep lost for killing dealer |
Config.ReputationDecay = false
Config.DecayAmount = 10
Config.KillPenalty = 500
Tier Definitions:
| Tier | Name | Min Rep |
|---|---|---|
| 0 | Unknown | 0 |
| 1 | Street | 100 |
| 2 | Connected | 300 |
| 3 | Trusted | 600 |
| 4 | Inner Circle | 1000 |
Config.Tiers = {
[0] = { name = 'Unknown', minRep = 0 },
[1] = { name = 'Street', minRep = 100 },
[2] = { name = 'Connected', minRep = 300 },
[3] = { name = 'Trusted', minRep = 600 },
[4] = { name = 'Inner Circle', minRep = 1000 },
}
Pager Settings
Configure the burner pager item.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.PagerSuccessChance | table | See below | Success rate by tier |
Config.PagerCooldown | number | 300000 | Cooldown in ms (5 min) |
Config.PagerSuccessChance = {
[2] = 0.40, -- 40% at Tier 2
[3] = 0.70, -- 70% at Tier 3
[4] = 1.00, -- 100% at Tier 4
}
Config.PagerCooldown = 300000
Police/Arrest Settings
Configure police interaction mechanics.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.ArrestReward | number | 5000 | Cash reward to arresting officer |
Config.DepartmentCut | number | 2500 | Society fund deposit |
Config.ArrestRespawnDelay | number | 900000 | Respawn delay after arrest (15 min) |
Config.DeathRespawnDelay | number | 600000 | Respawn delay after death (10 min) |
Config.SubduedDeathPayout | number | 500 | Society payout if surrendered dealer killed |
Config.PoliceDetectionRange | number | 150.0 | Range to trigger dispatch alert |
Config.ArrestDistance | number | 5.0 | Max distance to show arrest prompt |
Config.ArrestReward = 5000
Config.DepartmentCut = 2500
Config.ArrestRespawnDelay = 900000 -- 15 minutes
Config.DeathRespawnDelay = 600000 -- 10 minutes
Config.SubduedDeathPayout = 500
Config.PoliceDetectionRange = 150.0
Config.ArrestDistance = 5.0
Surrender/Flee Settings:
| Setting | Type | Default | Description |
|---|---|---|---|
Config.FleeDistanceThreshold | number | 8.0 | Distance for flee chance trigger |
Config.FleeChance | number | 0.35 | 35% chance to flee per check |
Config.FleeCheckInterval | number | 1000 | Check interval in ms |
Config.SurrenderCooldownTime | number | 1000 | Cooldown after flee attempt |
Config.AimSurrenderDistance | number | 15.0 | Police aim range for surrender |
Config.FleeDistanceThreshold = 8.0
Config.FleeChance = 0.35
Config.FleeCheckInterval = 1000
Config.SurrenderCooldownTime = 1000
Config.AimSurrenderDistance = 15.0
Death & Cleanup Settings
Configure dealer death behavior.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.BodyFadeDelay | number | 45000 | Time before body fades (45 sec) |
Config.DeathNotifyRadius | number | 500.0 | Notification radius |
Config.DeathNotifyMinTier | number | 1 | Min tier to receive notification |
Config.IdleWanderCheckDistance | number | 50.0 | Distance for idle wander restart |
Config.BodyFadeDelay = 45000
Config.DeathNotifyRadius = 500.0
Config.DeathNotifyMinTier = 1
Config.IdleWanderCheckDistance = 50.0
Loot Drop Settings
Configure loot drops on dealer death.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.LootDropEnabled | boolean | true | Enable loot drops |
Config.LootCashMin | number | 500 | Minimum cash drop |
Config.LootCashMax | number | 2500 | Maximum cash drop |
Config.LootStockPercent | number | 0.3 | Percent of stock that drops (30%) |
Config.LootMaxItems | number | 5 | Max item types to drop |
Config.LootBagModel | string | 'prop_cs_heist_bag_01' | Loot bag prop model |
Config.LootBagDespawnTime | number | 300000 | Despawn time (5 min) |
Config.LootDropEnabled = true
Config.LootCashMin = 500
Config.LootCashMax = 2500
Config.LootStockPercent = 0.3
Config.LootMaxItems = 5
Config.LootBagModel = 'prop_cs_heist_bag_01'
Config.LootBagDespawnTime = 300000
Target Interaction Settings
Configure qb-target interactions.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.TargetDistance | number | 2.5 | Interaction distance |
Config.TargetIcon | string | 'fas fa-handshake' | Font Awesome icon |
Config.TargetLabel | string | 'Trade with Dealer' | Interaction label |
Config.TargetDistance = 2.5
Config.TargetIcon = 'fas fa-handshake'
Config.TargetLabel = 'Trade with Dealer'
Hit Squad Settings
Configure hit squad retaliation.
| Setting | Type | Default | Description |
|---|---|---|---|
Config.HitSquadEnabled | boolean | true | Enable hit squad |
Config.HitSquadEscapeDistance | number | 500.0 | Distance to escape |
Config.HitSquadCheckInterval | number | 1000 | AI check frequency (ms) |
Config.HitSquadFootEngageDistance | number | 50.0 | Distance for on-foot combat |
Config.HitSquadDriveSpeed | number | 80.0 | Vehicle chase speed |
Config.HitSquadDifficulty | string | 'medium' | Difficulty preset |
Config.HitSquadEnabled = true
Config.HitSquadEscapeDistance = 500.0
Config.HitSquadCheckInterval = 1000
Config.HitSquadFootEngageDistance = 50.0
Config.HitSquadDriveSpeed = 80.0
Config.HitSquadDifficulty = 'medium' -- 'easy', 'medium', 'hard'
Vehicle Options:
Config.HitSquadVehicles = {
'sultan',
'sultan2',
'oracle',
'oracle2',
'schafter2',
'tailgater',
}
Ped Models:
Config.HitSquadPedModels = {
'a_m_m_business_01',
'a_m_y_business_01',
'a_m_y_business_02',
'a_m_m_soucent_01',
'g_m_m_mexboss_01',
}
Weapons by Difficulty:
| Difficulty | Weapons |
|---|---|
| Easy | 4x WEAPON_PISTOL |
| Medium | WEAPON_PISTOL50, 2x WEAPON_SMG, WEAPON_PUMPSHOTGUN |
| Hard | WEAPON_COMBATPISTOL, 2x WEAPON_ASSAULTRIFLE, WEAPON_CARBINERIFLE |
Combat Ability by Difficulty:
| Difficulty | Combat Ability (0-100) |
|---|---|
| Easy | 50 |
| Medium | 75 |
| Hard | 100 |
Spawn Locations
Configure dealer spawn points.
Config.Locations = {
vector4(126.36, -1282.29, 29.27, 270.0), -- Strawberry Ave
vector4(970.62, -1826.87, 31.16, 268.0), -- El Burro Heights
vector4(-46.69, -1098.45, 26.42, 70.0), -- Pillbox Hill
vector4(1392.04, -2079.94, 52.24, 267.0), -- El Burro Overlook
vector4(485.99, -1314.58, 29.25, 270.0), -- La Mesa
vector4(1198.25, -1642.52, 48.15, 32.0), -- El Burro Industrial
vector4(-583.48, -1614.66, 27.01, 87.0), -- Olympic Freeway
vector4(1537.09, 3609.62, 35.37, 212.0), -- Sandy Shores
vector4(-324.81, 6227.12, 31.49, 228.0), -- Paleto Bay
}
Config.AreaNames = {
"Strawberry Avenue",
"El Burro Heights",
"Pillbox Hill",
"El Burro Overlook",
"La Mesa",
"El Burro Industrial",
"Olympic Freeway",
"Sandy Shores",
"Paleto Bay"
}
Note: Config.AreaNames must match the order of Config.Locations.
Items File: shared/items.lua
Sellable Items
Items players can sell to the dealer.
Config.SellableItems = {
-- Drugs
cokebaggy = { price = 150, rep = 5 },
crack_baggy = { price = 200, rep = 8 },
meth = { price = 250, rep = 10 },
oxy = { price = 100, rep = 3 },
weed_brick = { price = 500, rep = 15 },
coke_brick = { price = 1500, rep = 20 },
joint = { price = 50, rep = 1 },
xtcbaggy = { price = 175, rep = 6 },
-- Stolen Goods
goldbar = { price = 2500, rep = 25 },
diamond = { price = 1500, rep = 20 },
rolex = { price = 1000, rep = 15 },
goldchain = { price = 500, rep = 10 },
diamond_ring = { price = 800, rep = 12 },
['10kgoldchain'] = { price = 750, rep = 12 },
-- Electronics
tablet = { price = 300, rep = 5 },
laptop = { price = 500, rep = 8 },
phone = { price = 200, rep = 3 },
}
Shop Inventory
Items available for purchase, organized by tier.
Format:
{ item = 'item_name', label = 'Display Name', price = 1000, stock = 10, info = {} }
Tier 0 - Unknown:
Config.ShopInventory[0] = {
{ item = 'lockpick', label = 'Lockpick', price = 500, stock = 20, info = {} },
{ item = 'joint', label = 'Joint', price = 100, stock = 50, info = {} },
{ item = 'rolling_paper', label = 'Rolling Paper', price = 50, stock = 100, info = {} },
{ item = 'lighter', label = 'Lighter', price = 25, stock = 100, info = {} },
}
Tier 1 - Street:
Config.ShopInventory[1] = {
{ item = 'advancedlockpick', label = 'Advanced Lockpick', price = 1000, stock = 10, info = {} },
{ item = 'pistol_ammo', label = 'Pistol Ammo', price = 250, stock = 100, info = {} },
{ item = 'radio', label = 'Radio', price = 500, stock = 20, info = {} },
{ item = 'cokebaggy', label = 'Coke Baggy', price = 200, stock = 30, info = {} },
{ item = 'bandage', label = 'Bandage', price = 100, stock = 50, info = {} },
}
Tier 2 - Connected:
Config.ShopInventory[2] = {
{ item = 'blackmarket_pager', label = 'Burner Pager', price = 2500, stock = 5, info = {} },
{ item = 'weapon_pistol', label = 'Pistol (No Serial)', price = 5000, stock = 5, info = {} },
{ item = 'weapon_snspistol', label = 'SNS Pistol', price = 3500, stock = 8, info = {} },
{ item = 'smg_ammo', label = 'SMG Ammo', price = 500, stock = 50, info = {} },
{ item = 'security_card_01', label = 'Security Card Tier 1', price = 1500, stock = 10, info = {} },
{ item = 'thermite', label = 'Thermite', price = 3000, stock = 10, info = {} },
}
Tier 3 - Trusted:
Config.ShopInventory[3] = {
{ item = 'weapon_microsmg', label = 'Micro SMG', price = 15000, stock = 3, info = {} },
{ item = 'weapon_pumpshotgun', label = 'Pump Shotgun', price = 20000, stock = 2, info = {} },
{ item = 'rifle_ammo', label = 'Rifle Ammo', price = 750, stock = 30, info = {} },
{ item = 'shotgun_ammo', label = 'Shotgun Ammo', price = 500, stock = 30, info = {} },
{ item = 'security_card_02', label = 'Security Card Tier 2', price = 3000, stock = 5, info = {} },
{ item = 'electronickit', label = 'Electronic Kit', price = 2000, stock = 10, info = {} },
{ item = 'armor', label = 'Body Armor', price = 5000, stock = 10, info = {} },
}
Tier 4 - Inner Circle:
Config.ShopInventory[4] = {
{ item = 'weapon_assaultrifle', label = 'Assault Rifle', price = 50000, stock = 2, info = {} },
{ item = 'weapon_carbinerifle', label = 'Carbine Rifle', price = 55000, stock = 2, info = {} },
{ item = 'weapon_smg', label = 'SMG', price = 35000, stock = 3, info = {} },
{ item = 'heavyarmor', label = 'Heavy Armor', price = 10000, stock = 5, info = {} },
{ item = 'drill', label = 'Drill', price = 5000, stock = 5, info = {} },
{ item = 'trojan_usb', label = 'Trojan USB', price = 7500, stock = 5, info = {} },
{ item = 'coke_brick', label = 'Coke Brick', price = 2000, stock = 10, info = {} },
}