Advertisement
MagmaLP

Plot Resets Monitor

Jul 6th, 2024 (edited)
743
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. os.loadAPI("json")
  2. mon = peripheral.wrap("top")
  3. mon.clear()
  4.  
  5. w, h = mon.getSize()
  6.  
  7. -- Lade JSON Daten von der URL
  8. a = http.get("http://lyco-web.justin-wittwer.de/old_players")
  9. rawJson = a.readAll()
  10. parsedJson = json.json_decode(rawJson)
  11.  
  12. -- Setze den Header Text
  13. mon.setCursorPos(1,1)
  14. mon.setTextColor(colors.orange)
  15. mon.write("Player whose plots get")
  16. mon.setCursorPos(1,2)
  17. mon.write("reset within the next 60 days")
  18. mon.setCursorPos(1,3)
  19. mon.write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  20.  
  21. -- Konvertiere die JSON-Daten in eine Liste
  22. local playerList = {}
  23. for k, v in pairs(parsedJson) do
  24.     table.insert(playerList, {name = k, value = tonumber(v)})
  25. end
  26.  
  27. -- Sortiere die Liste nach den Werten in absteigender Reihenfolge
  28. table.sort(playerList, function(a, b)
  29.     return a.value > b.value
  30. end)
  31.  
  32. -- Starte die Liste bei Zeile 3
  33. i = 3
  34. for _, player in ipairs(playerList) do
  35.     -- Überprüfe, ob die Zahl größer als 365 ist
  36.     if player.value <= 365 then
  37.         -- Abwechselnde Farben für die Zeilen
  38.         if i % 2 == 0 then
  39.             mon.setTextColor(colors.gray)
  40.         else
  41.             mon.setTextColor(colors.lightGray)
  42.         end
  43.  
  44.         -- Schreibe den Namen und die Zahl in die Liste
  45.         mon.setCursorPos(1, i)
  46.         mon.write(player.name)
  47.         mon.setCursorPos(w - 2, i)
  48.  
  49.         local textValue = tostring(player.value)  -- Konvertiere die Zahl wieder in Text
  50.         mon.write(textValue)  -- Schreibe den Text auf den Monitor
  51.         i = i + 1
  52.     end
  53. end
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement