Shop everywhere | Player-owned shops/markets [ESX]

A script by kFxDaKing

No reviews yet.
Shop everywhere | Player-owned shops/markets [ESX] main image

Full Description

Shop everywhere A dynamic player-driven shop system for FiveM, inspired by classic MMORPGs :convenience_store:

Core Features

Advanced Shop Creation and Management Your players can establish their own shops anywhere in the world with extensive control:

  • Custom shop names displayed as 3D text above the kiosk
  • Complete item price management
  • Multiple shops per player (configurable limit)
  • Map blips with custom settings
  • Real-time sales notifications
  • Full inventory management with price adjustments
  • Items are safely returned to owner on script/server restart
  • Shops retain their position and inventory after restarts
  • Visual customization of shop appearance

Comprehensive Item Management Shop owners have complete control over their inventory:

  • Add items directly from inventory to shop
  • Set custom prices for each item
  • Remove items back to inventory at any time
  • View all items and their prices
  • Change prices of existing items
  • Automatic inventory synchronization
  • Full metadata support for all items

Advanced Money Handling

  • Secure automatic payment processing
  • Offline payment system - money is stored when owner is offline
  • Transaction logging and history
  • Automatic bank transfers
  • Configurable shop creation costs
  • Safe item and money handling during server restarts

Extensive Admin Controls Comprehensive tools for server management:

/ashop - Shows all shops with their IDs and owners
/ashop nearest - Closes the nearest shop to admin
/ashop name [shopname] - Manages shop by name
/ashop id [shop_id] - Manages shop by ID
  • Full shop monitoring capabilities
  • Remote shop management
  • Shop removal with automatic item return
  • Zone management for shop placement
  • Complete activity logging

Configuration
Everything is easily customizable through the config file:

Config = {}

-- Shop Creation Settings
Config.ShopCreation = {
    Command = 'createshop',
    MaxShopsPerPlayer = 3,
    Cost = 5000, -- Cost to create a shop
    SpawnOffset = {
        x = 2.0,
        y = 0.0,
        z = -0.93
    }
}

Config.AdminCommand = {
    CloseShop = 'ashop', -- Shorter command name for easier use
    AllowedGroups = {'admin', 'superadmin', 'owner', 'god'}
}
-- /ashop - Displays a list of all shops with their IDs and owners
-- /ashop nearest - Deletes the nearest shop to the admin
-- /ashop name Pepův obchod - Deletes a shop by name
-- /ashop id player_shop_1 - Deletes a shop by ID

-- Shop Properties
Config.Shop = {
   DefaultSlots = 50,
   DefaultWeight = 100000,
   PropModel = 'prop_pier_kiosk_02',
   InteractionDistance = 4.0,
   Text3DDistance = 15.0,
   ShowName = true, -- Allow/Disallow display of the shop name
   EnableBlips = true, -- Allow/Disallow blips
   BlacklistedItems = { -- Items that cannot be sold
       'weapon_pistol',
       'money',
       -- Add more banned items
   }
}

-- Blip Settings
Config.Blip = {
    Sprite = 52,
    Color = 2,
    Scale = 0.8,
    ShortRange = true,
    DisplayName = true
}

-- Notification Settings
Config.Notifications = {
    Success = {
        ShopCreated = 'Shop was successfully created!',
        ItemAdded = 'Item was successfully added to the shop!',
        ShopDeleted = 'Shop was successfully deleted!'
    },
    Error = {
        AlreadyHasShop = 'You already have a created shop!',
        ShopNotFound = 'Shop not found!',
        NoPermission = 'You do not have permission to manage this shop!',
        InsufficientItems = 'You do not have enough items!',
        FailedToRemoveItems = 'Failed to remove items from inventory!',
        FailedToAddItems = 'Failed to add item to the shop!'
    }
}

-- Menu Settings
Config.Menu = {
    Shop = {
        Title = 'Shop Management',
        AddItems = {
            Title = 'Add Items',
            Description = 'Add new items to the shop'
        },
        ManageItems = {
            Title = 'Manage Items',
            Description = 'Manage items in the shop'
        },
        CloseShop = {
            Title = 'Close Shop',
            Description = 'Close this shop',
            ConfirmHeader = 'Confirmation',
            ConfirmContent = 'Are you sure you want to close this shop? All items will be returned to your inventory.'
        }
    },
    Target = {
        ManageIcon = 'fas fa-cog',
        ManageLabel = 'Manage Shop',
        BuyIcon = 'fas fa-shopping-basket',
        BuyLabel = 'Buy Items'
    }
}

-- Text Display Settings
Config.Text3D = {
    Scale = 0.40,
    Font = 4,
    BackgroundOpacity = 150,
    BackgroundColor = {r = 0, g = 0, b = 0},
    TextColor = {r = 255, g = 255, b = 255, a = 255},
    WidthMultiplier = 1.5,
    HeightOffset = 2.0,
    BoxHeight = 0.03
}

-- Shop Zone Restrictions
Config.ZoneRestrictions = {
    Mode = 'none', -- 'none', 'blacklist', 'whitelist'
    Zones = {
        -- Example zones:
        -- ['legion_square'] = {
        --     center = vector3(195.17, -934.0, 30.69),
        --     radius = 50.0,
        --     name = "Legion Square"
        -- }
    }
}

-- Shop Distance Restrictions
Config.ShopDistanceRestrictions = {
    MinimumDistance = 3.0, -- Minimum distance between shops in units
    Enabled = true -- Enable/Disable distance check
}

Config.Discord = {
    Enabled = false,
    Webhooks = {
        ShopCreation = "",  
        ShopDeletion = "", 
        Transactions = "", 
        ItemManagement = "",
        Errors = ""
    },
    Colors = {
        Success = 3066993,  -- Green
        Error = 15158332,   -- Red
        Info = 3447003,     -- Blue
        Warning = 15105570  -- Yellow
    },
    ServerName = "Your Server",
    FooterText = "Player Shop Logs",
    FooterIcon = "" -- URL icon for the footer
}

return Config

Installation

  1. Install all dependencies
  2. Add to resources folder
  3. Add ensure mn_shops to server.cfg
  4. Configure settings in config.lua
  5. Restart server

Tebex link: https://midnight-scripts.tebex.io/package/6669365

Price: 20€ + tax

Video Preview

Photo Preview




Code is accessible No, only some parts
Subscription-based No
Lines (approximately) 1700
Requirements ESX Legacy, ox_lib, ox_inventory, oxmysql
Support Yes