Skip to main content
A configurable multi-shop sell system. Players sell items at NPC/target/drawtext shops for cash, dirty money, and/or item rewards. Supports time windows, police requirements, dispatch on suspicious sales, volume price drops, bulk bonuses, and optional XP.
Framework: 'auto', 'qb', 'qbox', 'esx', or 'custom'. QBCore, Qbox, and ESX work out of the box with 'auto' or the matching value.Custom frameworks and any other framework work as well if you implement the framework exports in the open source stubs under opensource/client and opensource/server.Inventory, notification, progress bar, interaction, and dispatch are also configurable (including 'auto' where available).
No. Sellshop uses its own config/config.lua for framework, inventory, dispatch, and interaction. Bridge is not required.
Check TimeFrame (open/close hours) and PoliceCount on that shop. Closed hours and too few online police each block access and show a notification.
Set UseXP = true. Items can define ["Exp"] = 5 (XP per unit sold). By default, server AddExp in opensource/server/server.lua calls pickle_xp when started.To use projectx-xp, change AddExp to something like:
Set ClientSideXP = true only if you intentionally grant XP from the client event hook instead.
Per item, enable DirtyMoney (e.g. black_money) to pay in dirty money instead of cash. Use ItemReward to give an extra item (or set DisableMoney = true for item-only payouts).
Enable Volume on an item: after AmountUntilDropInPrice units are sold, the price drops by DropInPrice percent.
Yes. Set Coords to an array of vec4 values — one location is chosen (especially useful with suspicious buyers). With ServerCoords = true, put the same array under that shop id in config/sv_config.lua.
Join the Project X Discord and ask in the #Free-Support channel.