⚙️Configuration
⚙️ Marketplace Configuration
File: 0bug_MarketPlace/Customize.lua
🧠 Edit the following configuration to customize how the legal marketplace works in your server.
Customize = {
-- General settings
TestLogin = false,
Lang = "en",
Debug = false,
-- Commands to open/close UI
OpenUICommand = "marketPlace",
CloseUICommand = "closeMarketPlace",
BlackMarketPlaceOpenUi = true, -- provides access to the black market from the marketplace
-- Storage options
Storage = "json", -- or "mysql"
StorageAutoCreateTables = true, -- Automatically creates SQL tables if using MySQL
-- Item image path
ToolsImagePath = "nui://qb-inventory/html/images/",
-- Payment settings
CarBuyType = "cash",
AdvertiseBuyType = "cash",
AdvertisePrice = 500,
DurationInMinutes = 1,
-- Restrictions
BlackListItem = { "twerks_candy", "snikkel_candy" },
JobBlackList = { "ambulance", "police" },
-- Marketplace zone(s)
Location = {
{
id = "MarketPlace_1",
name = "Market Place 1",
coords = vector4(-1704.35, -17.29, 63.96, 131.1),
target = true,
targetIcon = "fas fa-lock",
keyWorld = "E",
ped = "a_m_m_farmer_01",
blip = {
sprite = 52,
scale = 0.5,
colour = 69
},
eventSettings = {
eventType = "client",
event = "0bug-marketplace:OpenUI"
}
}
}
}
💡 You can add multiple marketplace locations and change interaction methods freely.
🕵️ Black Market Configuration
File: 0bug_BlackMarketPlace/Customize.lua
🔐 Configure your black market UI, locations, protection modes, and minigames here.
🕹️Find More Minigames Here : https://docs.byte-labs.net/bl_ui/hacking
Customize = {
-- General Settings
TestLogin = false, -- Enable/disable test login (for testing only)
Lang = "en", -- Language code (e.g., "en", "fr", etc.)
Debug = false, -- Developer debug mode
-- Command Settings
OpenUICommand = "blackMarketPlace", -- Command to open UI (set to false to disable)
CloseUICommand = "closeBlackMarketPlace", -- Command to close UI (set to false to disable)
-- Data Storage Type
Storage = "json", -- "json" or "mysql"
StorageAutoCreateTables = true -- this option allows the script to automatically create the required SQL tables on first run if they do not already exist in your database.
-- Item Display Settings
WeaponAndToolsImagePath = "nui://qb-inventory/html/images/", -- Path to item images for UI
-- Payment Options
CarBuyType = "cash", -- Car purchase method: "cash" or "bank"
AdvertiseBuyType = "cash", -- Ad payment method: "cash" or "bank"
AdvertisePrice = 500, -- Price to list an item
DurationInMinutes = 1, -- Listing duration in minutes
-- Restrictions
BlackListItem = { -- Items that cannot be listed
"twerks_candy",
"snikkel_candy"
},
JobBlackList = { -- Jobs that are blocked from accessing the market
"police"
},
-- Marketplace Locations
Location = {
{
name = "Market Place",
coords = vector4(-1953.11, 226.81, 85.34, 18.86),
ped = "a_m_m_farmer_01", -- Ped model (set false to disable)
target = false, -- Use target system (ox_target/qb-target) or not
targetIcon = "fas fa-info", -- Target UI icon
keyWorld = "E", -- Key used for manual interaction
blip = {
sprite = 52,
scale = 0.5,
colour = 69,
name = "Market Place"
}
}
},
-- Protected Menu Access Settings
MenuProtectedSettings = {
-- Modes:
-- "static": Fixed hardcoded password
-- "single-location": Password obtained from one NPC
-- "multi-location": Password digits from multiple NPCs with optional minigames
Mode = "single-location",
Password = "1881", -- Password (used for static or single-location modes)
-- SINGLE LOCATION CONFIGURATION
SingleLocation = {
id = "BlackMarketPlace_1",
name = "Black Market Place 1",
coords = vector4(-1704.35, -17.29, 63.96, 131.1),
target = true,
targetIcon = "fas fa-lock",
keyWorld = "E",
ped = "a_m_m_farmer_01",
blip = {
sprite = 52,
scale = 0.5,
colour = 69,
},
eventSettings = {
eventType = "client",
event = "0bug-black_marketplace:GivePassword"
},
-- Optional Minigame
minigame = function()
local success = exports.bl_ui:Untangle(3, {
numberOfNodes = 10,
duration = 5000,
})
return success or false
end
},
-- MULTI LOCATION CONFIGURATION
-- You can replace any mini-game you want, check more bl_ui minigames here : https://docs.byte-labs.net/bl_ui/hacking
MultiLocations = {
[1] = {
id = "BlackMarketPlace_1",
name = "Black Market Place 1",
coords = vector4(-1704.35, -17.29, 63.96, 131.1),
target = true,
targetIcon = "fas fa-lock",
keyWorld = "E",
ped = "a_m_m_farmer_01",
blip = {
sprite = 52,
scale = 0.5,
colour = 69,
},
eventSettings = {
eventType = "client",
event = "0bug-black_marketplace:GivePassword"
},
minigame = function()
local success = exports.bl_ui:WaveMatch(3, { duration = 5000 })
return success or false
end
},
[2] = {
id = "BlackMarketPlace_2",
name = "Black Market Place 2",
coords = vector4(-1703.16, -18.8, 63.82, 138.04),
target = true,
targetIcon = "fas fa-lock",
keyWorld = "E",
ped = "a_f_m_bevhills_02",
blip = {
sprite = 52,
scale = 0.5,
colour = 69,
},
eventSettings = {
eventType = "client",
event = "0bug-black_marketplace:GivePassword"
},
minigame = function()
local success = exports.bl_ui:Untangle(3, {
numberOfNodes = 10,
duration = 5000,
})
return success or false
end
},
[3] = {
id = "BlackMarketPlace_3",
name = "Black Market Place 3",
coords = vector4(-1701.59, -20.36, 63.66, 134.69),
target = false,
targetIcon = "fas fa-lock",
keyWorld = "E",
ped = "a_f_m_bevhills_02",
blip = {
sprite = 52,
scale = 0.5,
colour = 69,
},
eventSettings = {
eventType = "client",
event = "0bug-black_marketplace:GivePassword"
},
minigame = function()
local success = exports.bl_ui:PrintLock(3, {
grid = 4,
duration = 5000,
target = 4
})
return success or false
end
},
[4] = {
id = "BlackMarketPlace_4",
name = "Black Market Place 4",
coords = vector4(-1700.1, -21.94, 63.49, 148.47),
target = false,
targetIcon = "fas fa-lock",
keyWorld = "E",
ped = "a_f_m_bevhills_02",
blip = {
sprite = 52,
scale = 0.5,
colour = 69,
},
eventSettings = {
eventType = "client",
event = "0bug-black_marketplace:GivePassword"
},
minigame = function()
local success = exports.bl_ui:CircleSum(3, {
length = 4,
duration = 5000,
})
return success or false
end
},
}
}
}
📃Translations
All UI and system messages can be translated by editing the locales/en.lua
file inside the script. You can duplicate it to create other language files (e.g., locales/fr.lua
) and update Lang
in the config to match.
Last updated