From 046f3fbdb8f14615ff21520829a0cb639fc62047 Mon Sep 17 00:00:00 2001 From: tanthius Date: Thu, 12 Feb 2026 04:23:53 +0000 Subject: [PATCH] Upload files to "server" --- server/time.lua | 27 +++++++++++++++++++++++++++ server/weather.lua | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 server/time.lua create mode 100644 server/weather.lua diff --git a/server/time.lua b/server/time.lua new file mode 100644 index 0000000..0ad11e6 --- /dev/null +++ b/server/time.lua @@ -0,0 +1,27 @@ +print("^2[time]^7 Server time sync loaded") + +-- CONFIG +local DAY_LENGTH_MINUTES = 48 -- GTA full day length (48 = vanilla-ish) +local START_HOUR = 12 -- initial time on server start + +local currentMinute = START_HOUR * 60 + +CreateThread(function() + while true do + -- advance time + currentMinute = currentMinute + (1440 / (DAY_LENGTH_MINUTES * 60)) + if currentMinute >= 1440 then currentMinute = 0 end + + local hour = math.floor(currentMinute / 60) + local minute = math.floor(currentMinute % 60) + + TriggerClientEvent("time:sync", -1, hour, minute) + Wait(1000) + end +end) + +AddEventHandler("playerJoining", function() + local hour = math.floor(currentMinute / 60) + local minute = math.floor(currentMinute % 60) + TriggerClientEvent("time:sync", source, hour, minute) +end) diff --git a/server/weather.lua b/server/weather.lua new file mode 100644 index 0000000..9f504d1 --- /dev/null +++ b/server/weather.lua @@ -0,0 +1,33 @@ +print("^2[weather]^7 Server weather sync loaded") + +-- CONFIG +local WEATHER_TYPES = { + "CLEAR", + "EXTRASUNNY", + "CLOUDS", + "SMOG" + -- add RAIN / THUNDER if you want chaos 😈 +} + +local WEATHER_CHANGE_MINUTES = 30 + +local currentWeather = WEATHER_TYPES[1] + +local function setWeather() + currentWeather = WEATHER_TYPES[math.random(#WEATHER_TYPES)] + TriggerClientEvent("weather:sync", -1, currentWeather) +end + +CreateThread(function() + math.randomseed(os.time()) + setWeather() + + while true do + Wait(WEATHER_CHANGE_MINUTES * 60 * 1000) + setWeather() + end +end) + +AddEventHandler("playerJoining", function() + TriggerClientEvent("weather:sync", source, currentWeather) +end)