πŸ“₯Market Stall

Script developed for the server REVEALED | FR | Free Access | Serious RP

⚑ Getting Started

Read the README file for complete setup instructions!


βž• Creating a Market Stall

You can create a market stall using any of these methods:

  1. With an Inventory Item

    • Use the item "marketstall" or any item set in Config.ItemMarketStall.

  2. Client-side Event

    TriggerEvent("bt_stall:startPlaceObject")
  3. Server-side Event

    TriggerClientEvent("bt_stall:startPlaceObject", source)
  4. Via Inventory Integration (Example with VORP):

    local VORPInv = exports.vorp_inventory:vorp_inventoryApi()
    VORPInv.RegisterUsableItem("market_stall", function(data)
        TriggerClientEvent("bt_stall:startPlaceObject", data.source)
        VORPInv.CloseInv(data.source)
    end)

βš™οΈ Configuration Example (config.lua)

Config = {}

-- Enable DEBUG mode (true = open stall creator UI automatically)
Config.DEBUG = false

-- Item name to trigger stall placement (leave blank to disable)
Config.ItemMarketStall = "marketstall"

-- KEYS CONFIGURATION
Config.OpenMarket       = keys["U"]        -- Key to open stall
Config.CraftObject      = keys["U"]        -- Confirm placement
Config.ChangeDistance   = keys["DOWN"]     -- Move stall while placing
Config.RotateLeft       = keys["LEFT"]     -- Rotate left
Config.RotateRight      = keys["RIGHT"]    -- Rotate right
Config.Cancel           = keys["R"]        -- Cancel placement

-- JOB/ITEM RESTRICTIONS
Config.WhitelistJobs       = {}    -- Only these jobs can manage stalls
Config.BlacklistJobs       = {}    -- These jobs are forbidden
Config.WhitelistSellItems  = {}    -- Only these items can be sold (empty = all)
Config.WhitelistBuyItems   = {}    -- Only these items can be bought (empty = all)
Config.BlacklistItems      = {}    -- These items cannot be bought/sold

-- ADMIN / MODERATION SETTINGS
Config.AdminRole = { "mod", "admin", "superadmin" }
Config.OnlyStaffCanDeleteStalls = false
Config.SpamSeconds = 1           -- Min seconds between actions

-- DISCORD LOGGING
Config.DiscordWebhook = ""       -- Insert Discord webhook
Config.DiscordName = "BT_MARKETSTALL"

-- UI LANGUAGE
Config.NUILangage = "en"         -- fr, en, es, pt, de, it supported

Config.Txt = {
    Title = "Stall",
    -- ...other UI texts
}

-- SERVER-SIDE NOTIFICATION WRAPPER
function SendNotification(source, type, message)
    TriggerClientEvent("bt_stall:showNotification", source, type, message)
end

πŸ“Œ Notes

  • Flexible creation: You can trigger stall placement from inventory, client event, or server event.

  • Fully configurable: Jobs, items, and admin permissions are easily managed in config.lua.

  • Anti-spam: Minimum action interval prevents abuse.

  • Multilingual UI: Easily switch interface language.

  • Discord logs: Optional webhook for staff/moderation tracking.

Last updated