# F.A.Q > Frequently asked questions for ML Climatic Vitals Category: CLIMATIC VITALS · Source: https://miciomods.it/docs/ml-climaticvitals-faq · Last updated: 2026-07-28 ## Setup **How do I change the language?** **shared/config.lua** ```lua Config.Locale = 'en' ``` **Do I need oxmysql?** Only if `Config.EnableDB = true` (default). With the database enabled, the server temperature persists across restarts. Set `Config.EnableDB = false` to run without it, temperature resets to `Config.DefaultTemperature` on each restart. **Does it work with my weather script?** Yes. The system reads GTA's native weather state via `GetPrevWeatherTypeHashName()`. Any script that changes the game weather (vSync, qb-weathersync, cd_easytime, renewed-weathersync, etc.) works without any integration. **How do I require an item to see the HUD?** Set `Config.RequiredItem` to an inventory item name: **shared/config.lua** ```lua Config.RequiredItem = 'survival_watch' ``` The HUD only appears when the player has the item in inventory. Set to `false` for always visible. **How do I add a new temperature item?** Add an entry to `Config.ItemBuffs` in `shared/config.lua`: **shared/config.lua** ```lua ['hot_chocolate'] = { buff = 6.0, duration = 8, notification = "item_buff_bag", progressBar = { duration = 4000, label = 'Drinking Hot Chocolate...', useWhileDead = false, canCancel = true, disable = { move = false, car = true, combat = true }, anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' }, prop = { model = `prop_fib_coffee`, pos = vec3(0.01, 0.01, -0.06), rot = vec3(5.0, 5.0, -180.5) } } }, ``` The item name must match the inventory item name. Registered as usable automatically on resource start. **How do I add clothing thermal values?** Edit `Config.ClothesBonus` in `shared/config.lua`. Enable `Config.Debug` and use `/tempclothes` in-game to see each drawable ID and its current bonus: **shared/config.lua** ```lua Config.ClothesBonus["male"]["torso"][17] = 8 -- heavy jacket = +8 warmth Config.ClothesBonus["male"]["tops"][15] = -2 -- light t-shirt = -2 cooling ``` ## Temperature **What is the difference between ambient and perceived temperature?** Ambient is the raw weather-based value calculated by the server. Perceived is what the player feels, ambient plus all modifiers: clothing, vehicle insulation, interior bonus, wetness, fire/AC proximity, zones, items, night time, and vehicle climate control. **How does the interior bonus work?** Instead of a flat offset, the interior bonus pulls perceived temp towards `Config.InteriorBonus.targetTemp` (default 22.0). The `strength` controls how hard it pulls, at `0.5`, perceived temp moves halfway to the target. So if it's freezing outside, being indoors warms you up; if it's scorching, indoors cools you down. **How does night time affect temperature?** Between 21:00 and 06:00 (game time), a flat -4 degree penalty is applied to perceived temperature. **How does wetness work?** Players get wet from rain (when not sheltered, in an interior, or in a closed vehicle) and from swimming. Wetness scales from 0.0 to 1.0. At 100% wetness, `Config.Wetness.TemperatureMalus` (-8.0 by default) is applied. Drying is faster near heat sources or with the vehicle heater active. **When does damage start?** Health damage starts when perceived temperature exceeds `Config.DamageThresholds.hot` (42.0) or drops below `Config.DamageThresholds.cold` (-5.0). Damage ticks every `Config.DamageInterval` ms (15s). Hunger and thirst also drain, computed server-side with a 10-second per-player rate limit. ## Vehicle Climate **How do I open the climate control panel?** Press `J` (default) while in a vehicle with the engine running. The vehicle must not be blacklisted. Rebindable in FiveM keybind settings. **How are themes assigned to vehicles?** Priority: model override > vehicle class > default. Available themes: `'utility'`, `'minimal'`, `'luxury'`, `'retro'`. **Can I disable climate control for specific vehicles?** Add the vehicle class to `Config.VehicleClimateBlacklist.classes` or the model hash to `Config.VehicleClimateBlacklist.models`: **shared/config.lua** ```lua Config.VehicleClimateBlacklist.models[`golf`] = true ``` ## Zones **How do I create a temperature zone?** Add an entry to `Config.TemperatureZones`. Three shapes available: **shared/config.lua** ```lua -- Sphere { type = 'sphere', modifier = -12.0, coords = vec3(x, y, z), radius = 50.0, dynamic = true, debug = false, showNotification = true, showBlip = true, blipName = "Ice Lake" } -- Box { type = 'box', modifier = 15.0, coords = vec3(x, y, z), size = vec3(20, 20, 10), rotation = 0, dynamic = true, debug = false, showNotification = true, showBlip = false, blipName = "Foundry" } -- Polygon { type = 'poly', modifier = -10.0, points = { vec3(...), vec3(...), ... }, thickness = 20.0, dynamic = true, debug = false, showNotification = true, showBlip = false, blipName = "Mountain" } ``` Set `debug = true` to visualize zone boundaries during testing. ## Integration **How do I hide the HUD from another script?** ```lua exports.ml_climaticvitals:hideweatherhud(true) -- hide exports.ml_climaticvitals:hideweatherhud(false) -- show ``` If `Config.ForceShowWidget = true`, hide requests are blocked. **How do I pause the system during a minigame?** ```lua exports.ml_climaticvitals:SetClimaticState(false) -- pause everything exports.ml_climaticvitals:SetClimaticState(true) -- resume ``` ## Updates **How do I update the script?** 1. Download latest from CFX Portal 2. Backup `shared/config.lua` and `open/*.lua` 3. Replace all files except config and open folder 4. Restart the resource The database table uses `CREATE TABLE IF NOT EXISTS`: no migration needed. The script checks for updates on startup and prints the changelog if a new version is available.