Oxide StudiosOxide Studios

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.

SettingTypeDefaultDescription
Config.DebugbooleanfalseEnable debug console output
Config.RelocationIntervalnumber2700000Dealer relocation time in ms (45 min)
Config.DealerWeaponstring'WEAPON_PISTOL'Dealer's default weapon
Config.DealerModelstring'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.

SettingTypeDefaultDescription
Config.BlipDetectionRangenumber200.0Distance to trigger blip flash
Config.BlipDurationtableSee belowBlip visibility duration by tier (ms)
Config.BlipCooldownnumber120000Cooldown between flashes (2 min)
Config.BlipSpritenumber140Blip icon (dollar sign)
Config.BlipColornumber1Blip 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.

SettingTypeDefaultDescription
Config.ReputationDecaybooleanfalseEnable daily rep decay (placeholder)
Config.DecayAmountnumber10Rep lost per day
Config.KillPenaltynumber500Rep lost for killing dealer
Config.ReputationDecay = false
Config.DecayAmount = 10
Config.KillPenalty = 500

Tier Definitions:

TierNameMin Rep
0Unknown0
1Street100
2Connected300
3Trusted600
4Inner Circle1000
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.

SettingTypeDefaultDescription
Config.PagerSuccessChancetableSee belowSuccess rate by tier
Config.PagerCooldownnumber300000Cooldown 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.

SettingTypeDefaultDescription
Config.ArrestRewardnumber5000Cash reward to arresting officer
Config.DepartmentCutnumber2500Society fund deposit
Config.ArrestRespawnDelaynumber900000Respawn delay after arrest (15 min)
Config.DeathRespawnDelaynumber600000Respawn delay after death (10 min)
Config.SubduedDeathPayoutnumber500Society payout if surrendered dealer killed
Config.PoliceDetectionRangenumber150.0Range to trigger dispatch alert
Config.ArrestDistancenumber5.0Max 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:

SettingTypeDefaultDescription
Config.FleeDistanceThresholdnumber8.0Distance for flee chance trigger
Config.FleeChancenumber0.3535% chance to flee per check
Config.FleeCheckIntervalnumber1000Check interval in ms
Config.SurrenderCooldownTimenumber1000Cooldown after flee attempt
Config.AimSurrenderDistancenumber15.0Police 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.

SettingTypeDefaultDescription
Config.BodyFadeDelaynumber45000Time before body fades (45 sec)
Config.DeathNotifyRadiusnumber500.0Notification radius
Config.DeathNotifyMinTiernumber1Min tier to receive notification
Config.IdleWanderCheckDistancenumber50.0Distance 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.

SettingTypeDefaultDescription
Config.LootDropEnabledbooleantrueEnable loot drops
Config.LootCashMinnumber500Minimum cash drop
Config.LootCashMaxnumber2500Maximum cash drop
Config.LootStockPercentnumber0.3Percent of stock that drops (30%)
Config.LootMaxItemsnumber5Max item types to drop
Config.LootBagModelstring'prop_cs_heist_bag_01'Loot bag prop model
Config.LootBagDespawnTimenumber300000Despawn 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.

SettingTypeDefaultDescription
Config.TargetDistancenumber2.5Interaction distance
Config.TargetIconstring'fas fa-handshake'Font Awesome icon
Config.TargetLabelstring'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.

SettingTypeDefaultDescription
Config.HitSquadEnabledbooleantrueEnable hit squad
Config.HitSquadEscapeDistancenumber500.0Distance to escape
Config.HitSquadCheckIntervalnumber1000AI check frequency (ms)
Config.HitSquadFootEngageDistancenumber50.0Distance for on-foot combat
Config.HitSquadDriveSpeednumber80.0Vehicle chase speed
Config.HitSquadDifficultystring'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:

DifficultyWeapons
Easy4x WEAPON_PISTOL
MediumWEAPON_PISTOL50, 2x WEAPON_SMG, WEAPON_PUMPSHOTGUN
HardWEAPON_COMBATPISTOL, 2x WEAPON_ASSAULTRIFLE, WEAPON_CARBINERIFLE

Combat Ability by Difficulty:

DifficultyCombat Ability (0-100)
Easy50
Medium75
Hard100

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 = {} },
}