> For the complete documentation index, see [llms.txt](https://stg-store.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stg-store.gitbook.io/documentation/scripts/ice-cream/configuration.md).

# Configuration

***

<mark style="color:$success;">config.lua</mark>

```lua
Config = {}

-- General
Config.Language = 'en' -- en, de, fr, es, pt, it, nl, pl, sv, ar, jp, zh, he, fi, no
Config.Target = "auto" -- 'auto' = ox_target / qb-target if running, false = key prompt (E)
Config.BrainFreeze = true -- brain freeze effect when eating ice cream too fast

-- Truck ownership & resale
Config.TruckPrice = 45000 -- price to buy the ice cream truck
Config.MaxOwned = 1 -- trucks one player may own at once
Config.MaxOwners = 2 -- server-wide owner cap (e.g. 2 = only 2 players ever), false = unlimited
Config.SellRefund = 50 -- percent refunded when selling back (50 = 50%), false = selling disabled

-- Seconds the owner has to deliver a window order before it auto-refunds (600 = 10 min)
Config.OrderTimeout = 600

-- Depot: where players buy / spawn / park the truck
Config.Depot = {
    blip = {
        enabled = true,
        sprite = 280, -- https://docs.fivem.net/docs/game-references/blips/
        color = 2,
        scale = 0.8,
    },
    purchaseNpc = { -- sells / spawns / restocks the truck (single depot menu)
        model = 'a_m_m_business_01',
        coords = vec4(-1193.3252, -1505.5814, 4.3603, 306.9926),
    },
    spawn = vec4(-1195.1572, -1496.2030, 4.2716, 303.9391), -- where the truck comes out
    park = vec4(-1191.6849, -1493.1750, 4.2812, 193.9754), -- drive here to park it
}

-- Self-serve machine: customers make their own cones (base is stocked, flavors are separate below)
Config.SelfServe = {
    capacity = 50, -- max soft-serve base the machine holds (flavors have no cap)
    basePrice = 8, -- owner's cost to stock one base unit
    softServePrice = 40, -- default cone price (owners change theirs in the Prices tab)
}

-- Ice cream flavors, each with its own stock on the truck.
Config.Shop = {
    maxPerBuy = 20, -- most of one flavor stockable in one go (also the bar max)
    items = {
        -- price = owner's cost to stock one serving
        -- sellPrice = what the customer pays (profit is the gap).
        { name = 'stg_ice_cream_rocket', label = 'Rocket Pop', price = 12, sellPrice = 25, image = 'img/icecreams/rocket_pop.png' },
        { name = 'stg_ice_cream_taco', label = 'Cocoa Taco', price = 18, sellPrice = 35, image = 'img/icecreams/cocoa_taco.png' },
        { name = 'stg_ice_cream_berry', label = 'Berry Crunch Bar', price = 16, sellPrice = 32, image = 'img/icecreams/berry_crunch_bar.png' },
        { name = 'stg_ice_cream_orange', label = 'Orange Cream Bar', price = 12, sellPrice = 25, image = 'img/icecreams/orange_cream_bar.png' },
        { name = 'stg_ice_cream_fudge', label = 'Fudge Pop', price = 12, sellPrice = 24, image = 'img/icecreams/fudge_pop.png' },
        { name = 'stg_ice_cream_sandwich', label = 'Cream Sandwich', price = 14, sellPrice = 28, image = 'img/icecreams/cream_sandwich.png' },
        { name = 'stg_ice_cream_cone', label = 'Sundae Cone', price = 16, sellPrice = 32, image = 'img/icecreams/sundae_cone.png' },
    },
}

-- Min / max an owner may set in the Prices tab (separate bounds per kind)
Config.PriceLimits = {
    flavors = { min = 1, max = 200 }, -- packaged ice cream sell prices
    selfServe = { min = 1, max = 1000 }, -- soft-serve cone price
}

-- Mods tab (livery + body style), paid from the business balance
Config.Mods = {
    livery = { default = 0, price = 2500 }, -- price charged from the truck balance per change
    extra = { default = 2, price = 1000 },
}

-- Per-truck stash tied to the plate (ox_inventory or qb-inventory, auto-detected)
Config.Stash = {
    slots = 30,
    maxWeight = 100000
}

-- Ice cream jingle, toggled with E while in the truck
Config.Jingle = {
    volume = 0.5, -- overall loudness (0.0 to 1.0), scales everything below
    radius = 50.0, -- hearing range in metres
    maxVolume = 1.0, -- volume right next to the truck
    minVolume = 0.1, -- volume at the edge of the radius
}
```
