Shop everywhere A dynamic player-driven shop system for FiveM, inspired by classic MMORPGs
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
- Install all dependencies
- Add to resources folder
- Add
ensure mn_shops
to server.cfg - Configure settings in config.lua
- 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 |