-- Sendet die deutsche Echtzeit an alle Clients -- Deutschland = UTC+1 (Winter) / UTC+2 (Sommer) - wird automatisch berechnet local function getGermanTime() local utcTime = os.time() -- Sommerzeit berechnen (letzter Sonntag im März bis letzter Sonntag im Oktober) local date = os.date("*t", utcTime) local year = date.year -- Letzter Sonntag im März local marchDate = os.time({year=year, month=3, day=31, hour=1, min=0, sec=0}) local marchWday = os.date("*t", marchDate).wday local dstStart = marchDate - ((marchWday - 1) % 7) * 86400 -- Letzter Sonntag im Oktober local octDate = os.time({year=year, month=10, day=31, hour=1, min=0, sec=0}) local octWday = os.date("*t", octDate).wday local dstEnd = octDate - ((octWday - 1) % 7) * 86400 local offset = 1 -- UTC+1 Winterzeit if utcTime >= dstStart and utcTime < dstEnd then offset = 2 -- UTC+2 Sommerzeit end local germanTime = os.date("*t", utcTime + offset * 3600) return germanTime.hour, germanTime.min, germanTime.sec end -- Alle 30 Sekunden Zeit an Clients senden CreateThread(function() while true do local hour, minute, second = getGermanTime() TriggerClientEvent('timesync:setTime', -1, hour, minute) Wait(2000) end end) -- Neue Spieler sofort synchronisieren AddEventHandler('playerSpawned', function() local src = source local hour, minute, second = getGermanTime() TriggerClientEvent('timesync:setTime', src, hour, minute) end)