
π ns-shops β Cross-framework vendor shops for RedM
Walk up to a shopkeeper NPC, press G, and buy items with cash or gold. Nine default shops (three general stores, three gunsmiths, three saloons) drop in immediately β keep them, move them, replace them, the choice is in
one config file. Open-source SKU: every Lua, HTML, CSS and JS file ships plaintext, edit freely.
ββββββββββββββββββββββββββββββββββββ
β¨ FEATURES
ββββββββββββββββββββββββββββββββββββ
πͺ 9 default shops out of the box β 3 general stores, 3 gunsmiths, 3 saloons, all spread across the map
π― G prompt or rsg-target eye β pick the interaction style per server in Config.Target
π΅ Cash and gold pricing β each item carries both prices, hide gold if you don't use it
π Per-shop opening hours β set globally in Config.Hours or override on a single shop's entry
π¦ Per-shop stock β every shop has its own catalog and stock counts, no shared inventory between locations
π€ Auto VORP β RSG-Core item key mapping β default items resolve automatically on both frameworks
πͺ Modern glassmorphism shop UI β RDR2 visual language, parchment + brass + frosted glass
π Open source β no escrow, edit any file directly
βοΈ React-based menu β prebuilt UI ships in html/, rebuild from ui/ only if you change the source
ββββββββββββββββββββββββββββββββββββ
π οΈ EASY TO CUSTOMIZE
ββββββββββββββββββββββββββββββββββββ
β One config file β config.lua β holds every shop (id, coords, ped, categories, hours) and every item (price.cash, price.gold)
β Copy any shop entry and tweak id + coords to spin up a new location in seconds
β Per-item VORPβRSG mapping lives in server/itemmeta.lua β add your custom items there
β Rebuild the UI only if you touch the React source β npm run build writes back into html/
ββββββββββββββββββββββββββββββββββββ
π¦ WHAT YOU GET
ββββββββββββββββββββββββββββββββββββ
π Open source β every Lua, HTML, CSS, JS file plaintext, modify any part of the script
π No escrow encryption β adapt to your server without limits
π Detailed README + per-shop config reference
π Free lifetime updates
ββββββββββββββββββββββββββββββββββββ
β‘ INSTALLATION (60 seconds)
ββββββββββββββββββββββββββββββββββββ
1οΈβ£ Install ns-lib first (free dependency)
2οΈβ£ Drop ns-shops/ into resources/
3οΈβ£ Add ensure ns-lib then ensure ns-shops to server.cfg
4οΈβ£ (Optional) Edit config.lua β move shops, change prices, set hours
5οΈβ£ Restart β done!
ββββββββββββββββββββββββββββββββββββ
π§° COMPATIBILITY
ββββββββββββββββββββββββββββββββββββ
π₯ RedM β VORP or RSG-Core (auto-detected via ns-lib)
π₯ Requires ns-lib β free, included in the Native Scripts catalogue
π₯ Optional: rsg-target β switch the G prompt to an eye-target interaction
ββββββββββββββββββββββββββββββββββββ
π¬ SUPPORT
ββββββββββββββββββββββββββββββββββββ
Need help? Join our Discord:
π https://discord.gg/UyyngemnF8