Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Alle 3 minuten den Timestamp vom Server holen. Hier diesen "Intervall" in Sekunden angeben.
- local localsavedrefresh = 180
- -- Start-refresh-festlegung, um einen Zeitstempel vom Server direkt beim Start zu holen.
- local localsavedlast = localsavedrefresh
- -- Speichervariable für den Zeitstempel
- local saved = 0
- -- Die Grundfunktion
- function getTimestamp()
- http.request('http://neogriever.atwebpages.com/time.php')
- local requesting = true
- while requesting do
- local event, url, sourceText = os.pullEvent()
- if event == 'http_success' then
- local responseText = sourceText.readAll()
- sourceText.close()
- requesting = false
- return(responseText)
- elseif event == 'http_failure' then
- requesting = false
- return(saved) -- Wenn URL-Abfrage fehlschlägt, gespeicherten Zeitstempel nutzen
- end
- end
- end
- -- Die Umrechnungs-Funktion
- function convertTime ()
- if localsavedlast > localsavedrefresh then
- saved = getTimestamp()
- localsavedlast = 0
- end
- local zone = 1
- local d, h, m, s = 0
- s = (saved + (3600 * zone)) % 86400
- m = math.floor(s / 60)
- s = s - (m * 60)
- h = math.floor(m / 60)
- m = m - (h * 60)
- d = math.floor(h / 24)
- h = h - (d * 24)
- if string.len(tostring(h)) < 2 then
- h = '0' .. tostring(h)
- end
- if string.len(tostring(m)) < 2 then
- m = '0' .. tostring(m)
- end
- if string.len(tostring(s)) < 2 then
- s = '0' .. tostring(s)
- end
- return(h .. ":" .. m .. ":" .. s)
- end
- -- Funktion zur Sekunden-Hochzählung des gespeicherten Zeitstempels
- function secondUp ()
- while true do
- if saved ~= nil then
- saved = saved + 1
- end
- localsavedlast = localsavedlast + 1
- sleep(1)
- end
- end
- -- Beispiel-Nutzung
- function showtime()
- while true do
- -- Im Computer testweise ausgeben
- term.clear()
- term.setCursorPos(1,1)
- -- convertTime() liefert stets den TimeZone+1 berechneten Timestamp in Form HH:MM:SS aus.
- print(convertTime())
- sleep(1)
- end
- end
- -- Als Parallel-Prozess!
- parallel.waitForAll(secondUp, showtime)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement