🛠️Setup
This is a detailed setup guide for Modern Shops. If you have any questions before making a purchase, you can contact us on Discord
Supports: QBCore QBOX, ESX, Custom Frameworks
Configuration Guide
This guide will walk you through the configuration options
General Settings

This section covers general settings for the shops.
Config.Settings.Interaction:useTextUI: Set totrueto use a text-based UI for interactions.openKey: The key used to open the shop when using TextUI. The default is38(E key).useTarget: Set totrueto use a target system for interactions.Target: Specify the target system you are using (e.g.,'qb-target'or'ox_target').
Config.Settings.AllItemsTab:Enable: Set totrueto include an "All Items" tab in the shops.categoryName: The name of the "All Items" category (e.g.,'All Items').categoryLogo: The Font Awesome icon for the "All Items" category (e.g.,'fa-globe').
Config.Settings.stockFeature: Set totrueto enable the item stock feature. If enabled, items can run out of stock.Config.Settings.useInventoryImage: Set totrueto use images from your inventory folder. Iffalse, it will fetch images fromcs_shops/ui/image.Config.Settings.EnableSearch: Set totrueto enable the search feature in shops.Config.Settings.EnableMouseControl: Set totrueto enable mouse controls in the UI.Config.Settings.maxPurchaseAmount: The maximum amount of an item that can be purchased at once. The default is100.
Products
This section allows you to define the items that can be purchased in the shops. Items are organised into categories.
Here's an example of a single item entry:
{
item = 'tosti', -- The item's spawn name
itemName = "Tosti", -- The item's display name
itemStock = 50, -- The available stock of the item
itemPrice = 2, -- The price of the item
itemInfo = "Delicious grilled sandwich", -- A description of the item
-- OPTIONAL --
itemMetaData = {}, -- For item metadata
requiredJob = false, -- Restrict to jobs and grades (e.g., {['police'] = {1,2}, ['taxi'] = {1}})
requiredGang = false, -- Restrict to gangs and grades (QB-Core only) (e.g., {['ballas'] = {1,2}, ['lostmc'] = {1}})
requiredLicense = false -- Require a specific license (e.g., {'weapon', 'driver'})
},You can create multiple categories, such as normal, liquor, hardware, weapons, ammo, etc., and add items to each category.
Sell Categories
This section is where you define the items that players can sell.
Config.SellCategories: This table contains categories of sellable items. For each item, you set the price it can be sold for.
Example:
Config.SellCategories = {
['electronics'] = {
categoryName = "Electronics",
categoryLogo = "fa-solid fa-microchip",
items = {
['phone'] = 425,
['radio'] = 125,
}
},
-- ... other categories
}Shops
This is where you define the actual shop locations and their properties.
Here's an example of a shop configuration:
[1] = {
ShopName = 'General Store',
shopType = 'both', -- 'buy', 'sell', or 'both'
Category = {
[1] = 'normal',
[2] = 'liquor',
},
SellCategory = {
[1] = 'electronics',
[2] = 'tools',
},
Locations = {
vector4(24.47, -1346.62, 29.5, 271.66),
-- ... other locations
},
Interaction = {
targetIcon = 'fas fa-shopping-basket',
targetLabel = 'Open General Store',
spawnPed = 'mp_m_shopkeep_01',
scenario = 'WORLD_HUMAN_STAND_MOBILE',
radius = 2.5,
},
Blips = {
Enable = true,
blipsprite = 52,
blipscale = 0.6,
blipcolor = 0,
}
},ShopName: The name of the shop.shopType: Can be'buy','sell', or'both'.Category: A table defining the product categories available in this shop.SellCategory: A table defining which sell categories this shop accepts.Locations: A table ofvector4coordinates for each shop location.Interaction:targetIcon: The icon for the target system.targetLabel: The label that appears on the target.spawnPed: The ped model to spawn at the shop. Set tofalseif no ped is needed.scenario: The animation scenario for the ped.radius: The interaction radius.
Blips:Enable: Set totrueto show a map blip for the shop.blipsprite,blipscale,blipcolor: Blip properties.
Webhook Logging

You can set up a Discord webhook to log shop transactions (cs_shops/config/functions/sv_function.lua)
Config.Webhook.enabled: Set totrueto enable webhook logging.Config.Webhook.url: Your Discord webhook URL.Config.Webhook.username: The username that will appear in the webhook.Config.Webhook.purchase: Settings for purchase logs, includingembedColorandtitle.Config.Webhook.sell: Settings for sell logs, includingembedColorandtitle.
Additional detailed guidance can be found in the config itself. If you need further assistance, please feel free to contact us on Discord.
Last updated