Exports
The following events and exports can be used from your own scripts to interact and/or receive info from the weather script.
zoneUpdated
This event gets triggered when a zone is updated from server, contains the zone name and a table with zone info.
params:
zone:
stringdata:
tableAddEventHandler('av_weather:zoneUpdated', function(zone,data) print(zone, json.encode(data,{ indent = true})) --[[ data = { wind: number, zone: string, fog: string, windState: string, label: string, weather: string, freeze: boolean, frozenFog: string, temperature: number } ]]-- end
timeUpdated
This event gets triggered when in game time is updated.
params:
hours:
numberminutes:
numberseconds:
numberAddEventHandler('av_weather:timeUpdated',function(hours,minutes,seconds) print(hours, minutes, seconds) end)
Freeze/Unfreeze Time and Weather for local player
Use this event to freeze or sync the time for a local player, useful for multicharacter, spawn scripts, houses/motel scripts, etc.
params:
state:
Booleanhours:
numberoptionalminutes:
numberoptionalweather:
stringoptionalblackout:
Booleanoptionalfog:
stringoptionalsnow:
booleanoptional-- This is an example on how to freeze a player time: local state = true local hours = 23 local minutes = 0 local weather = "CLEAR" local blackout = false local fog = false local snow = false -- render snow on ground -- Fog options: "automatic", "no", "normal", "low", "medium", "high", "max" or false TriggerEvent('av_weather:freeze', state, hours, minutes, weather, blackout, fog, snow)-- This is an example on how to unfreeze player time and sync with server TriggerEvent('av_weather:freeze', false)
getZone()
Use this export to get the current zone where the player is standing.
returns:
zone:
table
wind:
floatzone:
stringweather:
stringlabel:
stringtemperature:
numberfog:
stringlocal zone = exports['av_weather']:getZone() if zone then print(json.encode(zone, {indent = true})) --[[ { "zone": "santos", "label": "Los Santos", "wind": 1.59, "weather": "OVERCAST", "temperature": 23, "fog": "normal", } ]]-- end
getBlackout()
Use this export to retrieve the current blackout state.
returns:
state: B
ooleanlocal blackout = exports['av_weather']:getBlackout() -- blackout = true or false
setRain()
Removes rain effects from the player, useful for those using YMAPs where rain comes through the roof creating puddles inside their map.
params:
state:
Booleanlocal state = true -- or false to enable effect again exports['av_weather']:setRain(state)
generateWeathers()
Use this export to generate random weathers for all zones.
exports['av_weather']:generateWeathers()
getZone()
Retrieve a zone info.
parameters:
name:
stringlocal name = "santos" -- options: "santos", "sandy", "paleto", "cayo local zoneInfo = exports['av_weather']:getZone(name) --[[ zone info returns false or table: { zone: string, label: string, weather: string, wind: number, temperature: number, freeze: boolean, fog: string } ]]--
updateZone()
Not recommended, use the weather menu instead.
parameters:
zone:
stringweather:
stringfreeze:
booleanlocal zone = "santos" local weather = "THUNDER" local freeze = false exports['av_weather']:updateZone(zone, weather, freeze)
updateTime()
Not recommended, use the weather menu instead.
parameters:
hour:
numberminutes:
numberfreeze:
booleaninstant:
booleanlocal hour = 20 local minutes = 0 local freeze = false local instant = false -- if false then time will increase progressively exports['av_weather']:updateTime(hour, minutes, freeze, instant)
setBlackout()
Change the blackout state for all server players.
parameters:
state:
Booleanlocal state = true -- enable/disable blackout globally exports['av_weather']:setBlackout(state)
getBlackout()
Get the server blackout state.
returns
state:
Booleanlocal state = exports['av_weather']:getBlackout()
getTime()
Get server time.
returns
value:
tablelocal serverTime = exports['av_weather']:getTime() print(json.encode(serverTime, {indent = true})) --[[ serverTime = { hour: number, minutes: number, seconds: number } ]]--
Last updated