📃CONFIGURATION FILE
🛠 1. Configuration (config.lua)
All settings are managed through config.lua.
Make sure to configure the following:
💬 Discord Webhook
Config.DiscordWebhook = "DISCORD_WEBHOOK_HERE"🎯 Target System
Config.TargetSystem = "auto"📦 Inventory System
Config.InventorySystem = "ox_inventory" Supports:
qb-inventory
ox_inventory
custom inventories
🛒 Items
Blackmarket items, prices, categories, and tiers:
Config.Items = { ... }✔ All items you add here will be automatically inserted into SQL on first server start. No manual SQL imports needed.
📍 2. Location Setup (locations.lua)
All black market areas, tier zones, target points, and NPC positions are edited in:
locations.lua⚠️ Do not forget to configure your locations here.
🗄 3. SQL System (Automatic)
This script creates and maintains its own SQL tables automatically.
All items added to Config.Items will sync to SQL on first run:
Name
Label
Description
Price
Stock
Tier
Category
No manual SQL work required.
Config = {}
-- Discord Webhook
Config.DiscordWebhook = "DISCORD_WEBHOOK_HERE" -- Discord webhook URL'nizi buraya ekleyin
-- Target System Configuration
-- Options:
-- "qb-target" - Force use qb-target
-- "ox_target" - Force use ox_target
-- "auto" - Auto-detect available target system (recommended)
Config.TargetSystem = "auto"
-- Target Options
Config.TargetOptions = {
DefaultDistance = 2.5,
DefaultSize = vec3(1.5, 1.5, 2.0)
}
-- Inventory System Configuration
Config.InventorySystem = "ox_inventory" -- Options: "qb-inventory", "ox_inventory", "custom"
-- Inventory Image Paths for different systems
Config.InventoryImagePaths = {
["qb-inventory"] = "nui://qb-inventory/html/images/",
["ox_inventory"] = "nui://ox_inventory/web/images/",
["custom"] = "nui://your-custom-inventory/images/" -- Customize this path
}
-- Default fallback image path
Config.DefaultImagePath = "img/items/"
-- Admin System Configuration
Config.AdminCommand = "blackmarketadmin" -- Admin command
Config.AdminPermissions = {
"AMW98263",
"UGU52491",
"LMT70078",
}
Config.Items = {
-- TIER 1 Items
{
name = "tier2keycard",
label = "Tier 2 Keycard",
price = 300000,
category = "keycards",
description = "Tier 2 bölgesine erişim sağlayan güvenlik kartı",
stock = 10,
tier = 1
},
{
name = "weapon_ceramicpistol",
label = "Ceramic Pistol",
price = 22500,
category = "weapons",
description = "Susturuculu seramik tabanca",
stock = 5,
tier = 1
},
{
name = "weapon_dp9",
label = "Diamondback DB9",
price = 22500,
category = "weapons",
description = "Kompakt 9mm tabanca",
stock = 8,
tier = 1
},
{
name = "weapon_browning",
label = "Browning",
price = 22500,
category = "weapons",
description = "Kompakt 9mm tabanca",
stock = 8,
tier = 1
},
{
name = "weapon_vintagepistol",
label = "FN Model 1922",
price = 22500,
category = "weapons",
description = "Klasik tabanca",
stock = 8,
tier = 1
},
{
name = "weapon_fnx45",
label = "FN FNX-45",
price = 22500,
category = "weapons",
description = "Modern tabanca",
stock = 7,
tier = 1
},
{
name = "advancedlockpick",
label = "Advanced Lockpick",
price = 700,
category = "general",
description = "Gelişmiş kilit kırma aleti",
stock = 15,
tier = 1
},
{
name = "towingrope",
label = "Towing Rope",
price = 150,
category = "general",
description = "Sağlam halat",
stock = 20,
tier = 1
},
{
name = "lockpick",
label = "Lockpick",
price = 50,
category = "general",
description = "Basit kilit kırma aleti",
stock = 25,
tier = 1
},
{
name = "pistol_ammo",
label = "Pistol Ammo",
price = 150,
category = "ammo",
description = "9mm mermi",
stock = 1000,
tier = 1
},
{
name = "armor",
label = "Armor",
price = 6500,
category = "armor",
description = "Koruyucu zırh",
stock = 30,
tier = 1
},
{
name = "femaleseed",
label = "Weed Seed",
price = 100,
category = "general",
description = "Esrar yetiştirmek için tohum",
stock = 100,
tier = 1
},
{
name = "methlab",
label = "Deney Tüpü",
price = 100,
category = "general",
description = "Deney Yapmak için tüp",
stock = 100,
tier = 1
},
{
name = "lithium",
label = "Lithium",
price = 50,
category = "general",
description = "Lithium Brother",
stock = 100,
tier = 1
},
{
name = "acetone",
label = "Acetone",
price = 50,
category = "general",
description = "Acetone Broooo",
stock = 100,
tier = 1
},
{
name = "thermite",
label = "Thermite",
price = 2500,
category = "general",
description = "Patlıyosun kankiiii",
stock = 100,
tier = 1
},
{
name = "usb_green",
label = "Usb Drive",
price = 2500,
category = "general",
description = "Usb Takarsın bi yerlere",
stock = 100,
tier = 1
},
-- TIER 2 Items
{
name = "weapon_mp9",
label = "MP9",
price = 67500,
category = "weapons",
description = "Kompakt PDW",
stock = 8,
tier = 2
},
{
name = "tier3keycard",
label = "Tier 3 Keycard",
price = 550000,
category = "keycards",
description = "Tier 3 bölgesine erişim sağlayan güvenlik kartı",
stock = 8,
tier = 2
},
{
name = "weapon_machinepistol",
label = "TEC-9",
price = 37500,
category = "weapons",
description = "Yarı otomatik tabanca",
stock = 10,
tier = 2
},
{
name = "weapon_minismg",
label = "Scorpion",
price = 60000,
category = "weapons",
description = "Modifiye edilmiş scorpion",
stock = 7,
tier = 2
},
{
name = "weapon_glock18c",
label = "Glock 18C",
price = 62500,
category = "weapons",
description = "Tam otomatik tabanca",
stock = 8,
tier = 2
},
{
name = "weapon_mac10",
label = "MAC-10",
price = 37500,
category = "weapons",
description = "Kompakt otomatik silah",
stock = 8,
tier = 2
},
{
name = "weapon_pumpshotgun",
label = "Mossberg M500",
price = 75000,
category = "weapons",
description = "Pompalı tüfek",
stock = 6,
tier = 2
},
{
name = "weapon_sawnoffshotgun",
label = "Sawn-off Shotgun",
price = 80000,
category = "weapons",
description = "Kısaltılmış av tüfeği",
stock = 7,
tier = 2
},
{
name = "weapon_dbshotgun",
label = "Double Barrel",
price = 35000,
category = "weapons",
description = "Çift namlulu av tüfeği",
stock = 7,
tier = 2
},
{
name = "weapon_molotov",
label = "Molotof",
price = 6000,
category = "general",
description = "Yanıcı bomba",
stock = 10,
tier = 2
},
{
name = "smg_ammo",
label = "SMG Ammo",
price = 900,
category = "ammo",
description = "SMG mermisi",
stock = 100,
tier = 2
},
{
name = "shotgun_ammo",
label = "Shotgun Ammo",
price = 600,
category = "ammo",
description = "Av tüfeği fişeği",
stock = 100,
tier = 2
},
-- TIER 3 Items
{
name = "weapon_aks74",
label = "AK-S 74",
price = 250000,
category = "weapons",
description = "Otomatik tüfek",
stock = 5,
tier = 3
},
{
name = "tier4keycard",
label = "Tier 4 Keycard",
price = 600000,
category = "keycards",
description = "Tier 4 bölgesine erişim sağlayan güvenlik kartı",
stock = 8,
tier = 3
},
{
name = "weapon_compactrifle",
label = "Draco",
price = 182500,
category = "weapons",
description = "Kompakt otomatik tüfek",
stock = 5,
tier = 3
},
{
name = "weapon_gusenberg",
label = "Gepard",
price = 350000,
category = "weapons",
description = "Yüksek güçlü tüfek",
stock = 4,
tier = 3
},
{
name = "rifle_ammo",
label = "Rifle Ammo",
price = 3000,
category = "ammo",
description = "Tüfek mermisi",
stock = 50,
tier = 3
},
-- TIER 4 Items
{
name = "weapon_m4",
label = "M4 Carbine",
price = 250000,
category = "weapons",
description = "M4 Carbine",
stock = 5,
tier = 4
},
{
name = "weapon_ak47",
label = "AK 47",
price = 450000,
category = "weapons",
description = "AK 47",
stock = 3,
tier = 4
},
}
Config.Categories = {
weapons = {
label = "Weapons",
icon = "fas fa-gun"
},
ammo = {
label = "Ammunition",
icon = "fas fa-bullets"
},
general = {
label = "Tools",
icon = "fas fa-general"
},
misc = {
label = "Miscellaneous",
icon = "fas fa-box"
}
}
Config.PaymentMethods = {
cash = {
label = "Cash",
icon = "fas fa-money-bill",
enabled = true
},
card = {
label = "Card",
icon = "fas fa-credit-card",
enabled = true
},
item = {
label = "Black Money",
icon = "fas fa-coins",
enabled = true,
itemName = "black_money",
exchangeRate = 1
}
}
Config.Settings = {
maxPurchaseAmount = 1000000,
minPurchaseAmount = 1000,
maxItemsPerPurchase = 10,
stockUpdateInterval = 3600
}
-- Payment settings
Config.AcceptCash = true
Config.AcceptCard = true
Config.AcceptItem = true
Config.CardPaymentFee = 0.03
Config.ItemName = "black_money"
Config.ItemLabel = "Black Money"
Config.ItemExchangeRate = 1 -- 1 item = kaç para değerinde bu şöyle, eğer istersen 1 blackmoneyi 2 cash değerinde sayabiliyorsun
Config.accessMessage = "You need a Level %s Keycard to access this area!"
Config.stockNotAvailableMessage = "Not enough stock available!"
Config.cardPaymentInactiveMessage = "Card payment is currently disabled!"
Config.insufficientBankBalanceMessage = "You don't have enough money in your bank account!"
Config.cashPaymentInactiveMessage = "Cash payment is currently disabled!"
Config.insufficientCashMessage = "You don't have enough cash!"
Config.invalidAmountMessage = "Invalid amount!"
Config.stockUpdatedMessage = "%s stock updated to %d!"
Config.purchaseSuccessfulMessage = "Purchase successful!"
Config.keycardPurchasedMessage = "Keycard purchased!"
Config.insufficientMoneyMessage = "You don’t have enough money!"
Config.missingKeycardMessage = "You don’t have the required Keycard!"
Config.invalidKeycardMessage = "Invalid Keycard!"
Config.keycardUsedMessage = "Keycard used! Remaining durability: %d%%"
Config.keycardBrokenMessage = "Keycard has broken!"
-- New messages
Config.insufficientItemMessage = "Not enough %s! Required: %d"
Config.invalidPaymentMethodMessage = "Invalid payment method!"
Config.insufficientWeightMessage = "Not enough space in your inventory!"
-- Additional messages
Config.itemPaymentInactiveMessage = "Item-based payment is currently disabled!"
Config.keycardCreationFailedMessage = "Keycard could not be created, money refunded!"
Config.noPermissionMessage = "You don't have permission to use this command!"
-- UI Messages
Config.emptyCartMessage = "Your cart is empty!"
-- Discord Log Messages
Config.discordLogUsername = "Black Market Logs"
Config.discordPurchaseTitle = "🛍️ New Purchase"
Config.discordKeycardTitle = "🔑 Keycard Usage"
-- Log Message Templates
Config.purchaseLogTemplate = [[
**Player Information:**
Name: %s
CitizenID: %s
License: %s
Discord: %s
Steam: %s
IP: %s
**Purchase Details:**
Item: %s (%s)
Description: %s
Amount: %s pcs
Unit Price: $%s
Total Price: $%s
Payment Method: %s
Location: %s
]]
Config.keycardLogTemplate = [[
**Player Information:**
Name: %s
CitizenID: %s
License: %s
Discord: %s
Steam: %s
IP: %s
**Keycard Usage Details:**
Tier: %s
Location: %s
Status: %s
%s
]]
-- Status Messages
Config.successStatus = "✅ Success"
Config.failureStatus = "❌ Failed"
Config.keycardBrokenText = "**CARD BROKE AND HAS BEEN DELETED!**"
Config.remainingDurabilityText = "Remaining Durability: %d%%"
Config.serialNumberText = "Serial No: %s"
Config.discordLogTimeText = " • "
-- Admin UI Language Configuration
Config.AdminLanguage = {
title = "Black Market Admin Panel",
stockManagement = "Stock Management",
itemManagement = "Item Management",
currentStock = "Current Stock",
increase = "Increase",
decrease = "Decrease",
addItem = "Add Item",
removeItem = "Remove Item",
itemName = "Item Name",
itemLabel = "Item Label",
itemPrice = "Item Price",
itemCategory = "Item Category",
itemTier = "Item Tier",
itemImage = "Item Image",
itemDescription = "Item Description",
save = "Save",
cancel = "Cancel",
confirm = "Confirm",
close = "Close",
success = "Success",
error = "Error",
stockUpdated = "Stock updated",
itemAdded = "Item added",
itemRemoved = "Item removed",
noPermission = "You don’t have permission to use this command!",
invalidAmount = "Invalid amount!",
itemNotFound = "Item not found!",
enterAmount = "Enter amount:",
enterItemData = "Enter item details:",
confirmRemove = "Are you sure you want to remove this item?"
}
Config.Locations = {
{
name = "Tier 1 Blackmarket",
coords = vector4(905.59, -3279.26, 24.23, 160.01),
ped = {
model = "s_m_y_dealer_01",
scenario = "WORLD_HUMAN_SMOKING"
},
categories = {"weapons", "ammo", "general", "misc", "keycards", "armor"},
target = {
label = "Tier 1 Blackmarket",
icon = "fas fa-gun",
boxZone = {
coords = vector3(905.59, -3279.26, 24.23),
size = vec3(1.5, 1.5, 2.0),
rotation = 160.61,
debug = false
}
}
},
{
name = "Tier 2 Blackmarket",
coords = vector4(-772.44, -2551.81, 30.65, 143.90),
ped = {
model = "s_m_y_dealer_01",
scenario = "WORLD_HUMAN_SMOKING"
},
categories = {"weapons", "ammo", "general", "misc", "keycards", "armor"},
requiredTier = 2,
target = {
label = "Tier 2 Blackmarket",
icon = "fas fa-toolbox",
boxZone = {
coords = vector3(-772.44, -2551.81, 30.65),
size = vec3(1.5, 1.5, 2.0),
rotation = 143.90,
debug = false
}
}
},
{
name = "Tier 3 Blackmarket",
coords = vector4(490.41, 2946.59, 42.48, 340.41),
ped = {
model = "s_m_y_dealer_01",
scenario = "WORLD_HUMAN_SMOKING"
},
categories = {"weapons", "ammo", "general", "misc", "keycards", "armor"},
requiredTier = 3,
target = {
label = "Tier 3 Blackmarket",
icon = "fas fa-shield",
boxZone = {
coords = vector3(490.41, 2946.59, 42.48),
size = vec3(1.5, 1.5, 2.0),
rotation = 340.86,
debug = false
}
}
},
{
name = "Tier 4 Blackmarket",
coords = vector4(339.70, -65.84, 100.61, 156.15),
ped = {
model = "s_m_y_dealer_01",
scenario = "WORLD_HUMAN_SMOKING"
},
categories = {"weapons", "ammo", "general", "misc", "keycards", "armor"},
requiredTier = 4,
target = {
label = "Tier 4 Blackmarket",
icon = "fas fa-store",
boxZone = {
coords = vector3(339.70, -65.84, 100.61),
size = vec3(1.5, 1.5, 2.0),
rotation = 156.15,
debug = false
}
}
}
}
Last updated