> For the complete documentation index, see [llms.txt](https://docs.vames-store.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vames-store.com/assets/vms_needs/configuration-files/config.temperature.lua.md).

# config.temperature.lua

{% code fullWidth="true" %}

```lua
-- ████████╗███████╗███╗   ███╗██████╗ ███████╗██████╗  █████╗ ████████╗██╗   ██╗██████╗ ███████╗
-- ╚══██╔══╝██╔════╝████╗ ████║██╔══██╗██╔════╝██╔══██╗██╔══██╗╚══██╔══╝██║   ██║██╔══██╗██╔════╝
--    ██║   █████╗  ██╔████╔██║██████╔╝█████╗  ██████╔╝███████║   ██║   ██║   ██║██████╔╝█████╗  
--    ██║   ██╔══╝  ██║╚██╔╝██║██╔═══╝ ██╔══╝  ██╔══██╗██╔══██║   ██║   ██║   ██║██╔══██╗██╔══╝  
--    ██║   ███████╗██║ ╚═╝ ██║██║     ███████╗██║  ██║██║  ██║   ██║   ╚██████╔╝██║  ██║███████╗
--    ╚═╝   ╚══════╝╚═╝     ╚═╝╚═╝     ╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚══════╝
Config = Config or {}

Config.Temperature = {
    -- Enable or disable the entire temperature system.
    Enabled = true,
    
    -- Difficulty: EASY | NORMAL | HARD | REALISTIC
    Difficulty = 'NORMAL',
    
    -- If enabled, temperature is calculated using only day and night values instead of HourCurve.
    UseDayNightOnly = false,

    -- Hour when daytime starts.
    DayStartHour = 7,

    -- Hour when nighttime starts.
    NightStartHour = 20,

    -- Daily temperature progression curve.
    -- Range: 0.0 - 1.0
    -- Lower values = colder hours
    -- Higher values = warmer hours
    HourCurve = {
        [0]=0.15,[1]=0.12,[2]=0.10,[3]=0.08,[4]=0.07,[5]=0.08,
        [6]=0.12,[7]=0.22,[8]=0.35,[9]=0.50,[10]=0.62,[11]=0.72,
        [12]=0.80,[13]=0.86,[14]=0.90,[15]=0.88,[16]=0.82,[17]=0.70,
        [18]=0.55,[19]=0.40,[20]=0.28,[21]=0.22,[22]=0.18,[23]=0.16,
    },

    -- Fallback weather values used when the current weather type is not configured.
    Default = {
        DayMin = 18,
        DayMax = 28,
        NightMin = 12,
        NightMax = 18,
        Offset = 0
    },

    -- Temperature presets for each weather type.
    -- 
    -- DayMin/DayMax:
    -- Temperature range during daytime.
    -- 
    -- NightMin/NightMax:
    -- Temperature range during nighttime.
    -- 
    -- Offset:
    -- Additional temperature adjustment.
    Weather = {
        ['CLEAR']       = { DayMin = 20, DayMax = 30, NightMin = 14, NightMax = 20 },
        ['EXTRASUNNY']  = { DayMin = 24, DayMax = 36, NightMin = 16, NightMax = 24, Offset=1 },
        ['CLOUDS']      = { DayMin = 18, DayMax = 26, NightMin = 12, NightMax = 18 },
        ['OVERCAST']    = { DayMin = 16, DayMax = 22, NightMin = 10, NightMax = 16, Offset=-1 },
        ['RAIN']        = { DayMin = 14, DayMax = 20, NightMin = 8,  NightMax = 14, Offset=-1 },
        ['THUNDER']     = { DayMin = 13, DayMax = 19, NightMin = 7,  NightMax = 13, Offset=-2 },
        ['FOGGY']       = { DayMin = 10, DayMax = 16, NightMin = 6,  NightMax = 12, Offset=-1 },
        ['SMOG']        = { DayMin = 18, DayMax = 25, NightMin = 12, NightMax = 18 },
        ['SNOW']        = { DayMin = -4, DayMax = 2,  NightMin = -10, NightMax = -4 },
        ['XMAS']        = { DayMin = -4, DayMax = 2,  NightMin = -10, NightMax = -4 },
        ['BLIZZARD']    = { DayMin = -8, DayMax = -2, NightMin = -14, NightMax = -8 },
    },

    -- Additional weather effects.
    -- 
    -- Rain:
    -- Can reduce effective temperature.
    -- 
    -- Wind:
    -- Creates wind chill effect in cold weather and slight cooling in hot weather.
    Modifiers = {
        Rain = {
            MinEffect = 0.2,       -- Minimum rain intensity before rain starts affecting temperature.
            MaxColdEffect = -6.0,  -- Maximum cooling effect in cold weather.
            MaxHeatEffect = -2.0,  -- Maximum cooling effect in hot weather.
        },
        Wind = {
            Threshold = 3.0,       -- Minimum wind speed required for wind chill calculations.
            MaxWind = 50.0,        -- Maximum wind speed used in calculations.
            MaxColdEffect = -8.0,  -- Maximum cooling effect in cold weather.
            MaxHeatEffect = -3.0,  -- Maximum cooling effect in hot weather.
        }
    },

    -- Comfortable effective temperature range.
    -- 
    -- Below Min:
    -- Player starts feeling cold.
    -- 
    -- Above Max:
    -- Player starts feeling hot.
    ComfortZone = {
        Min = 8.0,     -- Below this temperature one begins to feel cold
        Max = 38.0,    -- Above this temperature one begins to feel hot
    },

    -- Vehicles with open roofs or convertible support.
    -- 
    -- true:
    -- Vehicle is always considered open.
    -- 
    -- extra:
    -- Vehicle roof state is determined using a vehicle extra.
    VehiclesRoofs = {
        [joaat('sm722')] = true,
        [joaat('ruston')] = true,
        [joaat('raptor')] = true,
        [joaat('veto')] = true,
        [joaat('veto2')] = true,
        [joaat('luiva')] = true,
        [joaat('zorrusso')] = true,
        [joaat('bifta')] = true,
        [joaat('bodhi2')] = true,
        [joaat('kalahari')] = true,
        [joaat('outlaw')] = true,
        [joaat('ratel')] = true,
        [joaat('vagrant')] = true,
        [joaat('winky')] = true,
        [joaat('mesa')] = {extra = 1, enabled = false},
        [joaat('buccaneer2')] = {extra = 4, enabled = false},
        [joaat('chino2')] = {extra = 3, enabled = false},
        [joaat('coquette2')] = {extra = 2, enabled = false},
        [joaat('coquette3')] = {extra = 2, enabled = false},
        [joaat('manana')] = {extra = 2, enabled = false},
        [joaat('manana2')] = {extra = 2, enabled = false},
        [joaat('stalion')] = {extra = 3, enabled = false},
        [joaat('casco')] = {extra = 2, enabled = false},
        [joaat('mamba')] = {extra = 3, enabled = false},
        [joaat('peyote')] = {extra = 2, enabled = false},
        [joaat('stinger')] = {extra = 2, enabled = false},
        [joaat('banshee')] = {extra = 2, enabled = false},
        [joaat('banshee2')] = {extra = 2, enabled = false},
        [joaat('coquette')] = {extra = 2, enabled = false},
        [joaat('coquette4')] = {extra = 1, enabled = false},
        [joaat('pfister811')] = {extra = 1, enabled = false},
        [joaat('kamacho')] = {extra = 1, enabled = false},
    }
}
```

{% endcode %}
