EntireTwix

CCash Leaderboard

Apr 12th, 2021 (edited)
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.57 KB | None | 0 0
  1. --intended to be used with monitor of 2x blocks width
  2. local json = require("json")
  3. local ip = "ccash.ryzerth.com"
  4. local url = "https://"..ip.."/BankF"
  5. local monitor = peripheral.find("monitor")
  6.  
  7. assert(http.checkURL(url))
  8.  
  9. local function comp(a, b)
  10.     return a["balance"] > b["balance"];
  11. end
  12.  
  13. while true do
  14.     local request = http.get(url.."/allusers")
  15.     if (request ~= nil) then
  16.         local users_data = json.decode(request:readAll())
  17.         request.close()
  18.        
  19.         local users = users_data["value"]
  20.         if (users ~= nil) then
  21.             print("Request Sent")
  22.             for i=1,#users do
  23.                 local request = http.get(url.."/"..users[i].."/bal")
  24.                 if (request ~= nil) then
  25.                     local bal_data = json.decode(request:readAll())
  26.                     request.close()
  27.                    
  28.                     local bal = bal_data["value"]
  29.                     if (bal ~= nil) then
  30.                         users[i] = {name = users[i], balance = bal}
  31.                     end
  32.                 end
  33.             end
  34.            
  35.             print("Waiting...")
  36.             os.sleep(1)
  37.             term.setCursorPos(1,1)
  38.             monitor.clear()
  39.            
  40.             table.sort(users, comp)
  41.  
  42.             for i=1,#users do
  43.                monitor.setCursorPos(1,i)
  44.                monitor.write(users[i]["name"])
  45.                monitor.setCursorPos(19-#tostring(users[i]["balance"]), i)
  46.                monitor.write(users[i]["balance"])
  47.             end
  48.             term.clear()
  49.         end
  50.     end
  51. end
  52.  
Advertisement
Add Comment
Please, Sign In to add comment