> 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/gold-panning-v2/configuration.md).

# Configuration

***

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

```lua
Config = {}

-- Language Setting
Config.Language = 'en' -- en, de, fr, es, pt, it, nl, pl, sv, ar, jp, zh, he, fi, no
Config.TargetSystem = 'auto' -- auto, ox-target, qb-target or false to use key prompts instead (water always uses a prompt)
Config.MoneyType = 'cash' -- 'cash' or 'bank' used for buying and selling

-- Usable Items
Config.Items = {
    Pan = 'stg_goldpan', -- usable item that starts panning
    Table = 'stg_goldtable' -- usable item that places the table
}

-- Panning Settings
Config.Panning = {
    shakeDuration = 7000, -- active shaking time needed to finish sifting (ms)
    shakeControl = 'both' -- how to shake the pan: 'mouse', 'keyboard' (A/D) or 'both'
}

Config.FindsPerSift = {
    min = 0, -- minimum finds revealed per successful sift
    max = 3 -- maximum finds revealed per successful sift
}

-- Everything a pannable find needs lives in one entry. Delete one and it stops spawning, selling and giving xp.
Config.Finds = {
    {
        id = 'nugget', -- unique identifier for this find
        item = 'stg_goldnugget', -- inventory item granted on collect
        label = Locale('find_nugget'), -- shown in the sell list (from locales/<lang>.lua)
        description = Locale('find_nugget_desc'),
        prop = 'stg_goldnugget', -- model spawned in the pan
        image = 'assets/img/items/stg_goldnugget.png',
        percent = 80, -- spawn chance, keep all finds totaling 100
        xp = 10, -- xp earned when collected
        sell = 85 -- price per unit (0 or nil = not sellable)
    },
    {
        id = 'big_nugget',
        item = 'stg_goldnugget_big',
        label = Locale('find_big_nugget'),
        description = Locale('find_big_nugget_desc'),
        prop = 'stg_goldnugget_big',
        image = 'assets/img/items/stg_goldnugget_big.png',
        percent = 15,
        xp = 25,
        sell = 220,
        luckAbility = 'big_nugget_luck' -- this ability raises this find's weight
    },
    {
        id = 'emerald',
        item = 'stg_emerald',
        label = Locale('find_emerald'),
        description = Locale('find_emerald_desc'),
        prop = 'stg_emerald',
        image = 'assets/img/items/stg_emerald.png',
        percent = 5,
        xp = 60,
        sell = 450,
        luckAbility = 'gemstone_eye'
    }
}

-- NPC Settings
Config.Npc = {
    model = 'a_m_m_farmer_01', -- https://docs.fivem.net/docs/game-references/ped-models/
    blip = { -- https://docs.fivem.net/docs/game-references/blips/
        enabled = true,
        sprite = 618,
        color = 5,
        scale = 0.8
    },
    locations = { -- add as many spots as you want
        vec4(1081.9049, -1985.6462, 29.8896, 45.7552)
    }
}

-- River Zones (where players can pan)
Config.Rivers = {
    restrictToZones = true, -- true = pan/place only inside these spots, false = anywhere in water
    radius = 30.0, -- zone size around each point (also blip display range)
    visible = true, -- show a blip on each river spot
    sprite = 618,
    color = 5,
    scale = 0.7,
    coords = { -- add as many spots as you want
        vec3(-1172.4408, 4372.1841, 6.2629)
    }
}

-- Shop (buy holds the tools only, sell list is built automatically from Config.Finds)
Config.Shop = {
    buy = {
        {
            item = 'stg_goldpan',
            label = Locale('shop_pan'), -- from locales/<lang>.lua
            description = Locale('shop_pan_desc'),
            price = 150,
            image = 'assets/img/items/stg_goldpan.png'
        },
        {
            item = 'stg_goldtable',
            label = Locale('shop_table'),
            description = Locale('shop_table_desc'),
            price = 400,
            image = 'assets/img/items/stg_goldtable.png'
        }
    }
}

-- Level / XP Settings
Config.Leveling = {
    maxLevel = 50, -- level cap
    pointsPerLevel = 1, -- ability points granted each level up
    moneyPerLevel = 500, -- money granted each level up (uses Config.MoneyType)
    segments = 6, -- progress segments shown in the UI
    baseXP = 250, -- xp needed to go from level 1 to 2
    perLevel = 120 -- extra xp needed for each level beyond that
}

-- Abilities (order = display order, names come from locales: ability_<id> / ability_<id>_desc)
Config.Abilities = {
    {
        id = 'gold_yield',
        active = true, -- set to false to hide and disable this ability
        max = 5, -- maximum upgrade level
        cost = 1, -- ability points per upgrade
        value = 0.5 -- effect per level
    },
    {
        id = 'big_nugget_luck',
        active = true,
        max = 5,
        cost = 1,
        value = 0.05
    },
    {
        id = 'gemstone_eye',
        active = true,
        max = 5,
        cost = 1,
        value = 0.03
    },
    {
        id = 'faster_panning',
        active = true,
        max = 5,
        cost = 1,
        value = 0.08
    },
    {
        id = 'quick_fill',
        active = true,
        max = 5,
        cost = 1,
        value = 0.10
    }
}
```
