Advertisement
NeoGriever

Untitled

Mar 29th, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. -- Alle 3 minuten den Timestamp vom Server holen. Hier diesen "Intervall" in Sekunden angeben.
  2. local localsavedrefresh = 180
  3.  
  4. -- Start-refresh-festlegung, um einen Zeitstempel vom Server direkt beim Start zu holen.
  5. local localsavedlast = localsavedrefresh
  6. -- Speichervariable für den Zeitstempel
  7. local saved = 0
  8.  
  9. -- Die Grundfunktion
  10. function getTimestamp()
  11. http.request('http://neogriever.atwebpages.com/time.php')
  12. local requesting = true
  13. while requesting do
  14. local event, url, sourceText = os.pullEvent()
  15. if event == 'http_success' then
  16. local responseText = sourceText.readAll()
  17. sourceText.close()
  18. requesting = false
  19. return(responseText)
  20. elseif event == 'http_failure' then
  21. requesting = false
  22. return(saved) -- Wenn URL-Abfrage fehlschlägt, gespeicherten Zeitstempel nutzen
  23. end
  24. end
  25. end
  26.  
  27. -- Die Umrechnungs-Funktion
  28. function convertTime ()
  29. if localsavedlast > localsavedrefresh then
  30. saved = getTimestamp()
  31. localsavedlast = 0
  32. end
  33. local zone = 1
  34. local d, h, m, s = 0
  35. s = (saved + (3600 * zone)) % 86400
  36. m = math.floor(s / 60)
  37. s = s - (m * 60)
  38. h = math.floor(m / 60)
  39. m = m - (h * 60)
  40. d = math.floor(h / 24)
  41. h = h - (d * 24)
  42. if string.len(tostring(h)) < 2 then
  43. h = '0' .. tostring(h)
  44. end
  45. if string.len(tostring(m)) < 2 then
  46. m = '0' .. tostring(m)
  47. end
  48. if string.len(tostring(s)) < 2 then
  49. s = '0' .. tostring(s)
  50. end
  51. return(h .. ":" .. m .. ":" .. s)
  52. end
  53.  
  54. -- Funktion zur Sekunden-Hochzählung des gespeicherten Zeitstempels
  55. function secondUp ()
  56. while true do
  57. if saved ~= nil then
  58. saved = saved + 1
  59. end
  60. localsavedlast = localsavedlast + 1
  61. sleep(1)
  62. end
  63. end
  64.  
  65. -- Beispiel-Nutzung
  66. function showtime()
  67. while true do
  68. -- Im Computer testweise ausgeben
  69. term.clear()
  70. term.setCursorPos(1,1)
  71. -- convertTime() liefert stets den TimeZone+1 berechneten Timestamp in Form HH:MM:SS aus.
  72. print(convertTime())
  73. sleep(1)
  74. end
  75. end
  76.  
  77. -- Als Parallel-Prozess!
  78. parallel.waitForAll(secondUp, showtime)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement