Hi everyone,
I have been working on
PH_Climate Ultimate
, a weather and climate resource that started with a fairly simple idea: weather in FiveM should not have to be the same everywhere.
With most weather scripts, changing the weather means changing it for the whole map. If it rains in Los Santos, it also rains in Sandy Shores and on Cayo Perico. PH_Climate handles the world differently. Weather is calculated by region and by smaller cells inside those regions, so one player can be driving through rain while another player is standing under clear skies somewhere else.
I also wanted the system to feel connected instead of being a collection of unrelated effects. The forecast, radar, moving fronts, road wetness, snow, seasons and temperature simulation all use the same server-authoritative data.
What makes it different?
The weather shown on the radar is the weather the player will actually receive in-game. It is not a random animation placed over a map.
Weather fronts move across the world and interact with the climate of each region. The edge of a thunder front may begin as clouds or rain before the player reaches the storm core. Fronts can also weaken into weather that makes sense for the local climate instead of forcing the same condition everywhere.
The simulation uses the configured in-game clock. If one in-game hour lasts one real hour, the forecast and radar move at that speed too. If the server uses a faster clock, the climate simulation follows it.
Main features
-
Server-authoritative regional weather
-
Different weather inside the same region through local weather cells
-
Polygon, circular and altitude-aware regions
-
Moving clear, cloudy, fog, rain, thunder and seasonal snow fronts
-
Smooth weather transitions while travelling between cells and regions
-
Interactive live weather radar using the GTA satellite map
-
Drag-to-pan and mouse-wheel map zoom
-
Radar playback and a continuous Now to +3 hours forecast slider
-
Player position, region outlines, active fronts, rain, clouds, fog, storms, wetness and snow-cover layers
-
Per-region weather forecast with confidence and projected track uncertainty
-
Spring, summer, autumn and winter
-
Configurable season length
-
Natural local winter weather and occasional full-map winter periods
-
Snow cells with gradual ground accumulation
-
Persistent snow depth, footprints and vehicle trails
-
Temperature-based snow melting
-
Persistent road wetness for each weather cell
-
Dry roads when entering a cell that was not affected by the rain front
-
Synchronized lightning strikes with distance-delayed thunder
-
Severe-weather warnings based on the actual projected front path
-
Weather stations
-
Routing-bucket weather overrides
-
Automatic interior and MLO weather protection
-
Export support for spawned housing shells
-
Persistent world time, weather, fronts, wetness, snow and runtime settings
-
Automatic saves, shutdown saves and an administrator manual-save button
-
MySQL persistence through `oxmysql` with JSON fallback and recovery backup
-
Startup diagnostics, conflict detection, watchdogs and automatic resynchronization
-
English and German localization
Body temperature and clothing
PH_Climate includes an optional compact body-temperature HUD. Players can toggle it and move it wherever they want with `/climatehudsettings`.
Character exposure reacts to:
-
Local temperature and apparent temperature
-
Wind chill
-
Rain and snow
-
Wet clothing
-
Oceans, lakes, rivers and pools
-
The actual percentage of the character that is submerged
-
Vehicles, interiors and housing shells
-
Clothing insulation, waterproofing and wind protection
-
Umbrella props used by common emote resources
An umbrella prevents normal rain wetness while it is attached to the character. Strong wind can reduce its protection, and it does not magically protect somebody who jumps into the ocean.
The administrator dashboard contains a clothing climate editor. Streamed freemode clothing is scanned and sorted into Pants, Shoes, Tops/Jackets, Undershirts, Arms/Torso, Accessories, Body Armour and Hats.
The editor displays the drawable ID used by the current clothing script, the component or prop ID, the available texture range and the stable collection-local ID. PH_Climate saves the stable ID so addon clothing profiles do not break whenever a GTA title update moves global drawable indexes.
Included appearance adapters:
-
Illenium Appearance
-
FiveM Appearance
-
qb-clothing
-
esx_skin / skinchanger
-
Standalone
-
Custom resources through exports
Administrator NUI
Players can open the dashboard with F10 and receive a read-only climate view. Authorized administrators receive the complete control centre.
The NUI includes:
-
Current local conditions
-
Regional forecast
-
Live radar
-
Weather stations
-
Regional status
-
Visual region editor
-
Clothing climate editor
-
Diagnostics
-
Time, weather, season and simulation controls
The region editor uses the same map calibration as the radar. Administrators can add, delete and edit polygon zones visually, then copy one zone or the complete region configuration.
Administrative access is checked on the server through ACE and, optionally, the active framework permission system. The NUI never trusts client-side group information.
Framework support
PH_Climate does not require a framework and works in standalone mode.
Automatic adapters are included for:
-
ESX
-
QBCore
-
Qbox
-
Standalone
Framework integration is used for player identity and optional administrator permission checks. The weather simulation itself remains framework independent.
Notification support
The resource can automatically use:
-
PH_Notify
-
ox_lib notifications
-
okokNotify
-
ESX notifications
-
QBCore / Qbox framework notifications
-
Built-in standalone chat notifications
-
A custom notification callback
Server owners can change the provider without changing the climate code.
Persistence
PH_Climate saves the world instead of generating a completely different one after every restart.
Saved information includes:
-
Current date and time
-
Current season and season progress
-
Regional weather
-
Moving-front positions and direction
-
Forecast data
-
Wet weather cells
-
Accumulated snow
-
Manual overrides
-
Live administrator settings
-
Clothing climate profiles
With the default automatic persistence mode, PH_Climate uses `oxmysql` when it is available and falls back to JSON when it is not. A successful MySQL save can also be mirrored to JSON for recovery.
Requirements
-
A current FiveM server artifact
-
OneSync enabled
-
Lua 5.4
There are no mandatory framework, inventory, phone or `ox_lib` dependencies.
oxmysql\ is optional and is only needed when MySQL persistence is wanted. The already-built NUI is included; Node.js is only required if you want to modify and rebuild the web source.
Only one resource should control GTA weather and time. Resources such as `vSync`, `cd_easytime`, `qb-weathersync` or another global weather controller must be stopped while PH_Climate is running.
Installation
-
Place `PH_Climate` in your resources folder.
-
Make sure OneSync is enabled.
-
Ensure optional dependencies and your framework before PH_Climate.
-
Add the resource to `server.cfg`:
ensure PH_Climate
- Grant administrator access:
add_ace group.admin ph_climate.admin allow
6. Restart the server and open the dashboard with F10.
No SQL import is required. When MySQL persistence is selected, the resource creates its table automatically.
Configuration
The important files are kept readable and separated by purpose:
-config/config.lua\ — clock, synchronization, persistence, fronts, radar and general behavior
-
config/regions.lua\— regional boundaries -
config/climates.lua\— regional climate profiles -
config/seasons.lua\— seasons and seasonal weather -
config/weather_types.lua\— supported GTA weather types -
config/gameplay.lua\— exposure, water, umbrellas and optional road handling -
config/clothing.lua\— clothing scanner, categories and appearance adapters -
config/integrations.lua\— frameworks and notifications
-config/permissions.lua\ — administrator permissions
Most commonly adjusted simulation settings can also be changed live in the administrator NUI and are persisted automatically.
Commands
-
`/climate` — open or close the dashboard
-
`/climateadmin` — dashboard compatibility command
-
`/climatehud` — toggle the body-temperature HUD
-
`/climatehudsettings` — move or reset the HUD
-
`/climatestatus` — print local synchronization and weather information
-
`/climateregion` — show the current region and coordinates
-
`/climateresync` — request a fresh server snapshot
-
`/climatediagnostics` — print the diagnostic summary
-
`/climatenotifytest` — test the configured notification adapter
The default dashboard key is F10 and can be rebound through FiveM’s key bindings.
Performance and synchronization
The server owns the climate state and sends revisioned updates instead of allowing every client to generate its own weather. Expensive checks use configurable intervals, moving systems are synchronized as compact data, clothing catalogs are scanned in batches, and the NUI requests clothing through paginated results.
I have deliberately avoided publishing a made-up `0.00 ms` claim because the result depends on the number of regions, weather cells, clothing packs and players configured on a server. PH_Climate includes diagnostics and is designed so the heavier systems can be tuned without changing code.
Escrow
The core resource may be distributed through FiveM Asset Escrow. Configuration files, integration bridges, shared public types, documentation and the clothing profile store remain accessible so server owners can configure and integrate the resource.
A small note from me
This resource has grown far beyond the first version I had in mind. A lot of the work went into details that are easy to overlook: making the radar agree with the actual weather, preserving wet roads only where rain passed, making snow stay after a storm, keeping the world consistent after a restart, and ensuring that a slow server clock also produces a useful slow forecast.
I am still interested in real server feedback, especially from servers using large addon clothing packs or custom maps. If something does not behave correctly, please include the output of `/climatestatus`, the current region and the relevant configuration when opening a support request. That makes it much easier to reproduce the issue properly.
Thanks for taking a look at PH_Climate Ultimate.
Version: 1.0.1
Author: PH-Scripts
Game: FiveM
Framework: Standalone, ESX, QBCore and Qbox
Dependencies: OneSync; `oxmysql` optional
Price: [29.99€] All my Scripts are sold with Tax included on the Price
Store: PH_Climate
Preview: Preview
Support: Discord
And lastly some Images:
(somehow i cant upload images currently but they are in Discord aswell…)
| Code is accessible | Partially(configs are open) |
| Subscription-based | No |
| Lines (approximately) | 4500+ |
| Requirements | ESX/QBCORE/QBOX/oxmysql |
| Support | Yes |









