Stock

Details

If you set useStock to true in shop settings, shop will use stock system. You can set initial stock for items in shop config file, and you can modify stock using setStock export. For initial stock, just add stock field to item definition.

Example configuration file

config/shops.lua
return {
    -- ...
    BuySellShop = {
        label = 'Shop',
        description = 'A small convenience store that is open 24/7.',
        paymentMethods = {
            buy = { 'cash', 'bank' },
            sell = { 'cash' }
        },
        settings = {
            useStock = true,
            useCategories = false,
            fluctuatePrices = false
        },
        blip = {
            sprite = 59, color = 69, scale = 0.8
        },
        items = {
            buy = {
                { name = 'burger', price = 10, stock = 5 },
                { name = 'water',  price = 10, stock = 10 },
                { name = 'cola',   price = 10, stock = 8 },
            },
            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 },
        }
    },
}