3M Stands

Documentation

At documentation file you can search for guidelines, error fixes and find answers to your questions.

https://3m-studio.gitbook.io/3m-documentation/

3M Stands — Simple Player-Owned Stalls (ESX)

Lightweight, clean, and practical: place world stands that players can buy, stock with their own items, and sell to others through a modern NUI. No database setup — the script persists to a JSON file. Built for stability and low overhead.

Preview


Features

  • ESX only (uses exports["es_extended"]).

  • World Stands: spawns the prop prop_hotdogstand_01 at configured locations with heading.

  • Ownership:

    • Buy a stand for Config.ShopPrice (cash).

    • Sell the stand back to the city for Config.SellPrice.

    • Ownership saved in standovi/standovi.json.

  • Stock & Sales:

    • Owner moves items from their ox inventory into the stand, sets price and quantity.

    • Players purchase items directly from the stand UI (cash).

    • Earned money accumulates in the stand’s balance; owner can withdraw cash.

  • Safe Item Rules:

    • Blacklist (Config.BlacklistItems) and auto-block weapons (Config.BlockWeapons = true).

    • Server-side checks for stock, price, balance, and ownership.

  • UI / UX:

    • Clean NUI with tabs: Shop, Manage, Inventory.

    • Ox Target sphere interaction at each stand (open_stand label).

    • Localized strings (EN/HR) via locale.lua.

  • Persistence:

    • JSON file storage: standovi.json keeps owner, items and stand cash.

  • Notifications:

    • okokNotify (recommended) or ESX notify (Config.Notify).

    • can be changed to your notify script of desire in notify.lua

  • Performance:

    • Very low client CPU usage; simple prop + zone approach.