Welcome to our Advanced Pawnshop!
This script is a pawnshop and black market system in one. Once you’ve gained enough trust (by selling items to the pawnshop), the seller can give you contact information for a dealer who will buy illegal goods from you. The more you sell to the pawnshop, the better the dealer you can get, with whom you can also gain trust.
Features
- Pawnshop NPC with an interaction target and custom blip
- NUI dialog flow for pawnshop and dealer interactions
- Sell legal items at the pawnshop with configurable prices
- Illegal dealer system with multiple dealer tiers
- Dealer unlocks based on pawnshop sales
- Dealer locations rotate on a timer
- Loyalty system with level-based price bonuses
- Price check menu for dealer items
- Police dispatch chance when asking for illegal contacts
- Dealer contact messaging with optional waypoint and phone message
- Postal-based location info for dealer messages
- Persistent player stats (sales, dealer levels) stored in MySQL
- Admin command to reset a player’s blackmarket stats
- Configurable UI theme colors and dialog speed)
Option to integrate your own dispatch, target, framework, inventory, notification and phone script
Requirements
- oxmysql
Supporting
- ox_inventory and qb_inventory
- ox_target and qtarget
- esx and qbcore
- qs-smartphone
- esx notifications and ox lib notifications
Preview
Click here for the Config
Config = {}
-- Language
Config.Locale = 'en'
-- Leave this
if SetLocale then
SetLocale(Config.Locale)
end
CurrentLocale = Config.Locale
Config.Bridge = {
Framework = 'esx', -- 'esx', 'qb'
Inventory = 'ox_inventory', -- 'ox_inventory', 'qb-inventory'
Target = 'ox_target', -- 'ox_target', 'qtarget'
Notify = 'esx', -- 'esx', 'qb', 'ox_lib'
Phone = 'qs' -- 'qs'
}
-- Pawnshop Configuration
Config.PawnShop = {
Location = vector3(182.52, -1319.19, 29.32),
BlipSprite = 431,
BlipColor = 5,
BlipScale = 0.8,
BlipName = "Pawnshop",
-- NPC Configuration
NPC = {
Model = 'g_m_m_chicold_01',
Coords = vector4(182.1608, -1319.6080, 29.3152, 244.1258),
Scenario = 'WORLD_HUMAN_CLIPBOARD'
},
-- Chance of calling the Dealer (in %)
DealerContactChance = 90,
-- Chance of calling the Police (in %)
PoliceCallChance = 10,
-- How many Sales needed for being able to contact the dealer
MinSalesForDealerContact = 3,
-- Item which can be sold in the pawnshop
Items = {
{item = 'gold_ring', price = 150},
{item = 'diamond', price = 500},
{item = 'rolex', price = 800},
{item = 'laptop', price = 300},
{item = 'phone', price = 100},
}
}
Config.DealerNotify = {
enableWaypoint = false, -- true/false
enablePhoneMessage = true, -- true/false (right now only working with qs-smartphone)
phoneDelayMs = 2000 -- Phone Delay SMS in Milliseconds
}
-- Dealer Configuration
Config.Dealers = {
-- Level 1 Dealer (Starter)
{
id = 'dealer_noob',
name = 'Jimmy',
requiredSales = 3, -- How many sales required in the Pawnshop to unlock him
priceMultiplier = 0.6, -- 60% of the price
-- Spawn Locations
locations = {
vector4(1208.36, -3115.23, 5.54, 90.0),
vector4(45.82, -1864.33, 23.27, 135.45),
vector4(-1222.65, -1339.28, 4.15, 289.29)
},
npc = {
model = 'g_m_y_ballasout_01',
scenario = 'WORLD_HUMAN_SMOKING'
},
-- Items which can be sold
items = {
{item = 'lockpick', price = 50},
{item = 'weaponparts', price = 200},
{item = 'stolen_jewelry', price = 300}
}
},
-- Level 2 Dealer
{
id = 'dealer_medium',
name = 'Marcus',
requiredSales = 10,
priceMultiplier = 0.75,
locations = {
vector4(696.17, -1022.62, 22.59, 94.36),
vector4(-1625.50, -505.07, 36.31, 312.19),
vector4(1124.87, -1010.36, 44.68, 101.4)
},
npc = {
model = 'g_m_m_armboss_01',
scenario = 'WORLD_HUMAN_STAND_MOBILE'
},
items = {
{item = 'lockpick', price = 60},
{item = 'weaponparts', price = 250},
{item = 'stolen_jewelry', price = 400},
{item = 'cocaine', price = 800},
{item = 'meth', price = 700}
}
},
-- Level 3 Dealer (Premium)
{
id = 'dealer_pro',
name = 'Boss',
requiredSales = 25,
priceMultiplier = 0.9,
locations = {
vector4(-1314.58, -602.95, 29.38, 308.72),
vector4(967.59, -1829.31, 31.23, 351.39),
vector4(-3161.22, 1113.11, 20.85, 66.96)
},
npc = {
model = 'g_m_m_korboss_01',
scenario = 'WORLD_HUMAN_AA_SMOKE'
},
items = {
{item = 'lockpick', price = 75},
{item = 'weaponparts', price = 300},
{item = 'stolen_jewelry', price = 500},
{item = 'cocaine', price = 1000},
{item = 'meth', price = 900},
{item = 'weed', price = 600},
{item = 'goldbar', price = 2500},
{item = 'weapon_pistol', price = 5000}
}
}
}
-- Dealer Position Rotation (in Minutes)
Config.DealerRotationTime = 30
-- Loyality-System
Config.Loyalty = {
-- Bonus for every Level (multiplicativ)
bonusPerLevel = 0.05, -- 5% more per Level
-- Sales required, to unlock next Level
salesPerLevel = 5,
-- Maximum Level
maxLevel = 10
}
-- Dispatch System
Config.Dispatch = {
enabled = true,
script = 'codem-dispatch', -- 'codem-dispatch', 'cd_dispatch', 'ps-dispatch', 'custom'
-- For Custom Dispatch
}
-- UI Configuration
Config.UI = {
primaryColor = '#1a1a1a',
accentColor = '#d4af37',
textColor = '#ffffff',
dialogSpeed = 50 -- Milliseconds
}
-- Enable to print bridge debug messages
Config.DebugBridge = false
Links
Get the Escrow Version here
You can find our Discord here
For any help or questions about our script please contact us!
| Code is accessible | No/Bridge Folder is open |
| Subscription-based | No |
| Lines (approximately) | 2600 |
| Requirements | oxmysql |
| Support | Yes |











