> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectx.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQs

> Frequently asked questions about the Sellshop resource

<AccordionGroup>
  <Accordion title="What is Sellshop?">
    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.
  </Accordion>

  <Accordion title="What frameworks are supported?">
    Framework: `'auto'`, `'qb'`, `'qbox'`, `'esx'`, or `'custom'`.

    Inventory, notification, progress bar, interaction, and dispatch are also configurable (including `'auto'` where available). Custom adapters use the stubs in `opensource/client` and `opensource/server`.
  </Accordion>

  <Accordion title="Is Project X Bridge required?">
    No. Sellshop uses its own `config/config.lua` for framework, inventory, dispatch, and interaction. Bridge is not required.
  </Accordion>

  <Accordion title="Why is the shop closed / not enough police?">
    Check `TimeFrame` (open/close hours) and `PoliceCount` on that shop. Closed hours and too few online police each block access and show a notification.
  </Accordion>

  <Accordion title="How does XP work?">
    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:

    ```lua theme={null}
    exports['projectx-xp']:AddXP(source, 'criminal', exp)
    -- or via bridge:
    -- exports['projectx-bridge']:AddExperience(source, 'criminal', exp)
    ```

    Set `ClientSideXP = true` only if you intentionally grant XP from the client event hook instead.
  </Accordion>

  <Accordion title="How do dirty money and item rewards work?">
    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).
  </Accordion>

  <Accordion title="How do volume price drops work?">
    Enable `Volume` on an item: after `AmountUntilDropInPrice` units are sold, the price drops by `DropInPrice` percent.
  </Accordion>

  <Accordion title="Can a shop use random buyer coordinates?">
    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`.
  </Accordion>

  <Accordion title="Where can I get free support?">
    Join the [Project X Discord](https://discord.gg/projectxdev) and ask in the **#Free-Support** channel.
  </Accordion>
</AccordionGroup>
