For the complete documentation index, see llms.txt. This page is also available as Markdown.

FAQs

🐴 I don’t see the shop prompt or I can’t open the catalog

DrawText mode (Bridge.Interaction = "drawtext" or "auto" without ox_target):

  • Stand within InteractionDistance (default 2.0 m) of the shop desk coords.

  • Default key is R (RedM) — see InteractionOptions.DrawText in public/shared/config.lua.

  • The branch owner may have turned 3D interaction labels off in Business settings; staff still use management points separately.

Target mode (ox_target running + Interaction target or auto):

  • Ensure ox_target is started and loads before or with cdev_horseshop.

  • If you use the clerk NPC, targets may be on the NPC — stand next to them.

General:

  • Restart the resource after config changes.

  • Enable Debug = true and watch F8 for client errors.

🧾 Management says I have no permission

Management is not the same as the creator ACE.

  • Your character must be in cdev_horseshop_employees for that branch (hired in-game by a boss), with a role that has canOpenManagement (see Roles in config.lua).

  • The server links you by Framework.GetCitizenId (VORP: character id), not by server id.

If you are the shop owner, ensure the creator flow stored your character as owner / employee for that branch.

🛠️ `/horseshopcreate` or `/horseshopmanager` does nothing (or no UI)

Both tools require the ACE from Creator.AcePermission (default cdev_horseshop.creator).

Add to server.cfg / permissions.cfg, then restart the server:

add_ace group.admin cdev_horseshop.creator allow

Command names can be renamed in HorseShopConfig.Creator (Command, AdminManagerCommand) — use the names you configured.

🎠 I bought a horse but it never appears in stables
  • vorp_core must be running; for the default DB path, vorp_stables / compatible stables table and workflow should match your server.

  • Check Bridge.HorseDelivery and optional HorseDeliveryExport in Configurations.

  • If you use a custom stable script, set up HorseDeliveryExport so your export returns true on success, or extend public/bridge/horse_delivery/server.lua.

  • Watch server console for MySQL errors when purchasing.

🗄️ Database tables are missing or MySQL errors on start
  • Ensure oxmysql is installed and @oxmysql/lib/MySQL.lua runs (see fxmanifest.lua).

  • Verify the MySQL connection string in server.cfg (mysql_connection_string / your host’s equivalent).

On first start, the resource creates (if not present), among others:

  • cdev_horseshop_shops

  • cdev_horseshop_employees

  • cdev_horseshop_vaults

  • cdev_horseshop_pending_deliveries

  • cdev_horseshop_sales

  • cdev_horseshop_stock

  • cdev_horseshop_catalog

Note: There are no automatic ALTER migrations for old schemas — a very outdated DB may need manual SQL or a rebuild (see comments in server/classes/db.lua).

📋 The catalog is empty in the NUI
  • Horses for sale come from cdev_horseshop_catalog in MySQL, not from config.lua.

  • On a fresh install, the resource seeds default rows when the catalog table is empty.

  • If you wiped the table, re-run seed logic or insert rows manually (model names must match RedM horse models).

📍 Map blip is wrong / still shows after a shop was deleted
  • Clients only get live updates inside SettingsSyncRadius (or when the server notifies nearby players). Walk near the old area or reconnect.

  • Optional: set ShopsListResyncIntervalMs to a positive value so distant players periodically refetch shop lists (see Configurations).

📦 Staff restock: crate spawned but stock didn’t increase
  • With UseCrateDelivery = true, stock is applied when the right player collects the crate at the delivery point (buyer or eligible staff — see in-game messages).

  • Check company vault balance and inventory weight if the purchase failed earlier.

  • Ensure vorp_inventory is running if you rely on item checks.

🌐 Language / locale doesn’t change
  • Set Locale in public/shared/config.lua to a code that matches a file: public/shared/locales/<Locale>.json (e.g. en, pt).

  • Restart the resource after edits.

  • Don’t rename JSON keys — only translate values.

🎯 ox_target zones overlap or duplicate after edits
  • Restart cdev_horseshop after changing shop coordinates or interaction settings so zones are rebuilt.

  • Avoid running multiple copies of the resource or hot-reloading in ways that skip onResourceStop cleanup.

💰 Purchase says vault doesn’t have enough (or customer can’t pay)
  • If BuyFromVault = true, the company vault pays — deposit cash/gold in management first.

  • If BuyFromVault = false, the customer needs enough cash or gold on the character (VORP currency types).

  • VaultCurrency affects default wallet debits when the bridge uses it without an explicit currency — see Configurations.

🧩 Can I sell add-on / custom streamed horses?

Yes. Add a row to cdev_horseshop_catalog with the add-on’s model string (exact spawn name), plus label, price, optional image_url, etc.

Requirements:

  • The streaming pack resource must be running so clients load the model; start it before cdev_horseshop if needed.

  • If preview/showroom/placement fails with invalid model, the client doesn’t see the ped in the game yet — fix stream order or the model name.

  • After purchase, VORP stables (or your HorseDeliveryExport) must accept that modelname — some stables scripts whitelist models; extend or use a custom export if yours does.

Full step-by-step: Configurations → Catalog & add-on (custom) horses.


Last updated