Exports
Client
Lua
-- Layered local overrides for MLOs, interiors and cutscenes. Removed when your resource stops.
exports.sbweather:SetOverride('my_club', { weather = 'CLEAR', hour = 23, minute = 0, blackout = false, transition = 0 })
exports.sbweather:ClearOverride('my_club')
exports.sbweather:HasOverride('my_club')
-- Shortcuts
exports.sbweather:SetWeather('RAIN', 5.0) -- local weather, nil clears
exports.sbweather:SetTime(22, 0) -- local time (frozen), nil clears
exports.sbweather:FreezeWeather(true) -- keep the current weather locally
exports.sbweather:FreezeTime(true) -- freeze at the current time, or pass hour and minute
exports.sbweather:SetBlackout(true) -- local power, nil clears
exports.sbweather:ResetLocal() -- clears the three shortcuts above
exports.sbweather:DisableSync() / EnableSync()
-- Info
exports.sbweather:GetRegion() -- 'lossantos'
exports.sbweather:GetRegionLabel() -- 'Los Santos'
exports.sbweather:GetWeather() -- what the player sees right now
exports.sbweather:GetRegionWeather(id)
exports.sbweather:GetTime() -- hour, minute
exports.sbweather:GetTemperature('F') -- rounded number
exports.sbweather:IsBlackout()
exports.sbweather:IsOverridden()
-- UI
exports.sbweather:OpenTablet()
exports.sbweather:OpenSettings()
exports.sbweather:ToggleWidget(true)
exports.sbweather:GetSettings()Events: sbweather:client:regionChanged (region, previous) and sbweather:client:weatherChanged (weather).
Server
Lua
-- instant: true or false forces it. nil follows the tablet's Change style.
-- holdFor: seconds to hold before cycling again.
exports.sbweather:SetRegionWeather('paleto', 'RAIN', lock, instant, holdFor)
exports.sbweather:SetWeather('THUNDER', lock, instant, holdFor) -- every region
exports.sbweather:SkipWeather('sandy') -- nil = all regions
exports.sbweather:LockRegion('sandy', true, 1800) -- optional seconds = timed hold
exports.sbweather:SetCycleWeather('sandy', 'RAIN', false)
exports.sbweather:SetTime(12, 0, instant) -- instant nil follows Change style
exports.sbweather:FreezeTime(true)
exports.sbweather:FreezeWeather(true)
exports.sbweather:SetTimeScale(2000) -- ms per game minute
exports.sbweather:SetRealTime(true)
exports.sbweather:SetBlackout(true, regionId, seconds) -- regionId nil = citywide, seconds = auto restore
exports.sbweather:RestorePower()
exports.sbweather:ApplyPreset('Storm front') -- id or name
exports.sbweather:GetRegions()
exports.sbweather:GetWeather(regionId)
exports.sbweather:GetTemperature(regionId, 'C')
exports.sbweather:GetTime() -- hour, minute
exports.sbweather:GetBlackout(regionId)
exports.sbweather:IsTimeFrozen() / IsWeatherFrozen()
exports.sbweather:GetPresets()
exports.sbweather:GetPlayerRegion(source)
exports.sbweather:HasAccess(source)Event: sbweather:weatherChanged (regionId, weather, previous) (server, local).
Last updated 2026-11-08
