NX CreativeNX CreativeDocs
Scriptsnx_fourseasons

Changelog

Version history for nx_fourseasons.

2.2.0 (2026-06-15)

Added

  • Multi-language support. All in-game text, including the admin menu, now loads from editable per-language files under locales/<code>.json and is chosen with Config.Language. Eleven languages ship: English, Finnish, German, French, Brazilian Portuguese, Spanish, Turkish, Dutch, Italian, Polish, and Chinese.
  • UI customization panel. New Customize and Help buttons let players rescale the forecast and weather widget, switch glass presets (liquid or frosted), and reposition or resize the UI in a live edit mode.

Changed

  • Refreshed the liquid glass look with a brighter, more reflective surface and subtle edge color.
  • In-game time now advances smoothly between server syncs.
  • Wind speed follows the UseMetric setting instead of the active language.
  • Bundled the UI fonts locally, so the interface no longer depends on an external CDN.

Removed

  • The old Config.Locale, Config.WarningMessages, and Config.WeatherMessages tables (and their *Fi mirrors) are replaced by the locales/<code>.json files. If you customized any of that text, move your wording into the matching locale file and keep the keys and the %s and {placeholder} tokens intact.

Fixed

  • Gameplay flooding now triggers and recedes reliably.
  • Slippery-road traction applies consistently in wet and icy weather.
  • The forecast window always closes correctly and reads properly in clear weather.
  • Players joining mid-session now sync the current weather, flood, and forecast state.

Security

  • Hardened server-side validation and time and weather sync against abuse.

Performance

  • Lower resource usage, smoother weather and rain transitions, and reduced network traffic.

2.1.1 (2026-05-03)

Changed

  • Ped shivering animation disabled. Other cold-weather effects (screen FX, breath, notifications) still apply.

Fixed

  • TriggerEmergencyAlert is now forward-declared so BroadcastWeatherWarning can call it before its definition.

2.1.0 (2026-04-29)

Added

  • Config.StormSystems.Blackout.DurationTiers for opt-in weighted blackout duration tiers per weather type. Pulses can roll fixed values or random ranges, useful for dramatic multi-minute thunderstorm outages alongside the default short pulses.

Changed

  • Temperature calculation is now weather-aware on every weather type. Snow and blizzard enforce hard physics caps below freezing, rain and thunder require above-freezing, and seasonal bounds apply only when they don't contradict the active weather. Forecast generation mirrors the same rules.
  • EnsureSeasonalTemperature no longer applies temperature overrides. The base calculation drives temperature end to end. Only the admin menu can set a manual override.
  • THUNDER and BLIZZARD odds reduced across all seasons. Storm weather is now noticeably rarer.

Fixed

  • Stale seasonal and forecast temperature overrides are dropped on resource load instead of leaking through restarts. Only manual admin overrides persist.
  • Winter blizzards no longer display positive temperatures from the old +5°C cap.

2.0.0 (2026-04-25)

Added

  • Liquid Glass HUD pipeline and redesigned forecast UI with hover-expand day cards.
  • Intra-day prediction timeline rendered on the Today forecast card (vertical sidebar layout).
  • Sliding-window forecast refresh that preserves future entries instead of regenerating.
  • Wind debris system with weight-class physics, particle layers, and intensity tiers.
  • Storm systems: blackout weather rules (per-weather eligibility for RAIN and BLIZZARD), gradual ocean wave transitions (~5s lerp), strike FX distance culling, production ocean/boat tuning.
  • Admin experimental "high" ocean option.
  • Framework bridge with centralized event constants (ESX/QBCore/QBox-ready).

Changed

  • Flattened visual effects into a single toggle list.
  • Simplified weather intensity to 4 steps; simplified slipperiness and visibility test steps.
  • Merged storm and flood admin tools into a single menu; moved effects testing under system tools.
  • Unified day cards with hover-expand intraday forecast.
  • Forecast now uses intraday prediction slots on expiry instead of random weather.
  • Fahrenheit toggle removed from forecast UI (kept as config-only option).
  • Localized flood strings and added missing locale keys.

Fixed

  • Particle cloud first-frame indoor flash, variety, drifting offsets, and indoor check.
  • Wind effect registration timing and angular spin range; wind data tables incorrectly scoped inside falling_leaves branch.
  • Wind sound volume clamping and burst thread cancellation latency.
  • Season briefly showing "Unknown" when opening the forecast.
  • Seasonal temp overrides leaking on load.
  • Config defaults: TimeSync on, duration range 5–15, intraday locale keys.
  • LoadPtfxAsset infinite loop (added timeout).
  • Database:SetSetting and other DB calls wrapped in pcall.
  • Removed lightning strike "nearby" notification.
  • Warning system removed from admin menu; ghost ApplyIntervalMs config reference removed.

Internal

  • Deobfuscated gamerender and added design doc.
  • Consolidated duplicated client GetLocale and server helpers into utils.
  • Made internal sync.lua globals local; removed dead code (LastWeather, unreachable HALLOWEEN weather type, dead branches in sync.lua).
  • Cleaned up config dead code and compat aliases.
  • Polish + optimize pass: thread lifecycle, dedup, SQL schema, debug logs.

1.3.0 (2026-04-17)

Initial documentation.