addShop
You can add shops without a config by using this export.
ShopPayload
---@class ShopSettings
---@field useStock? boolean
---@field useCategories? boolean
---@field fluctuatePrices? boolean
---@class ShopPaymentMethods
---@field buy? string[]
---@field sell? string[]
---@class ShopItem
---@field name string
---@field category? string
---@field price number
---@field stock? number
---@field metadata? table<string, any>
---@class ShopItemsWithSelling
---@field buy ShopItem[]
---@field sell ShopItem[]
---@class ShopLocationOptions
---@field coords vector3
---@field label? string
---@field icon? string
---@field iconColor? string
---@field distance? number
---@field skipBlip? boolean
---@class ShopPedLocation: ShopLocationOptions
---@field ped string | number
---@field heading number
---@class ShopZoneLocation: ShopLocationOptions
---@field size vector3
---@field rotation number
---@field drawSprite boolean
---@class ShopPointLocation: ShopLocationOptions
---@field type? number
---@field scale? [number, number, number]
---@field color? [number, number, number]
---@field opacity? number
---@field options table<string, any>
---@class ShopBlip
---@field sprite number
---@field label? string
---@field color number
---@field scale number
---@field isShortRange? boolean
---@class ItemRequirement
---@field name string
---@field count number
---@field metadata? table<string, any>
---@class ShopConfig
---@field icon? string
---@field label string
---@field description? string
---@field group? string | table<string> | table<string, number>
---@field requiredItem? ItemRequirement | ItemRequirement[]
---@field settings? ShopSettings
---@field paymentMethods? ShopPaymentMethods
---@field items ShopItemsWithSelling | ShopItem[]
---@field model? number | number[] | string | string[]
---@field locations? table<ShopPedLocation | ShopZoneLocation | ShopPointLocation>
---@field blip? ShopBlip
---@field blipReference? number
---@class ShopPayload: ShopConfig
---@field id string Export
---**`server`**
---@param payload ShopPayload
---@param id string?
---@return boolean, string?
function exports.fd_shops:addShop(payload, id) end Example
exports.fd_shops:addShop({
id='remote_shop',
label = 'Shop',
description = 'A small convenience store that is open 24/7.',
paymentMethods = {
buy = { 'cash', 'bank' },
sell = { 'cash' }
},
settings = {
useStock = false,
useCategories = true,
fluctuatePrices = true
},
blip = {
sprite = 59, color = 69, scale = 0.8
},
items = {
buy = {
{ name = 'burger', price = 10 },
{ name = 'water', price = 10 },
{ name = 'cola', price = 10 },
},
sell = {
{ name = 'burger', price = 10 },
}
},
locations = {
{ coords = vec3(25.06, -1347.32, 29.7), size = vector3(0.7, 0.5, 0.4), rotation = 0.0, distance = 1.5 },
{ coords = vec3(-3039.18, 585.13, 8.11), size = vector3(0.6, 0.5, 0.4), rotation = 15.0, distance = 1.5 },
{ coords = vec3(-3242.2, 1000.58, 13.03), size = vector3(0.6, 0.6, 0.4), rotation = 175.0, distance = 1.5 },
{ coords = vec3(1728.39, 6414.95, 35.24), size = vector3(0.6, 0.6, 0.4), rotation = 65.0, distance = 1.5 },
{ coords = vec3(1698.37, 4923.43, 42.26), size = vector3(0.5, 0.5, 0.4), rotation = 235.0, distance = 1.5 },
{ coords = vec3(1960.54, 3740.28, 32.54), size = vector3(0.6, 0.5, 0.4), rotation = 120.0, distance = 1.5 },
{ coords = vec3(548.5, 2671.25, 42.36), size = vector3(0.6, 0.5, 0.4), rotation = 10.0, distance = 1.5 },
{ coords = vec3(2678.29, 3279.94, 55.44), size = vector3(0.6, 0.5, 0.4), rotation = 330.0, distance = 1.5 },
{ coords = vec3(2557.19, 381.4, 108.82), size = vector3(0.6, 0.5, 0.4), rotation = 0.0, distance = 1.5 },
{ coords = vec3(373.13, 326.29, 103.77), size = vector3(0.6, 0.5, 0.4), rotation = 345.0, distance = 1.5 },
}
})