Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local internet = require("internet")
- local component = require("component")
- local rs = component.redstone
- local sides = require("sides")
- local event = require("event")
- local fs = require("filesystem")
- local term = require("term")
- local computer = require("computer")
- local shell = require("shell")
- local apiUrl = "https://api.mineaurion.com/v1/serveurs/"
- --Function
- local function getStringFromResponce(responce)
- local ret = ""
- local resp = responce()
- while(resp~=nil) do
- ret = ret..tostring(resp)
- resp = responce()
- end
- return ret
- end
- local function getHTTPData(url)
- local ret = nil
- local request, responce = pcall(internet.request, url)
- if(request) then
- ret = getStringFromResponce(responce)
- end
- return ret
- end
- local function has_value(tab,val)
- for index,value in ipairs(tab) do
- if value == val then
- return true
- end
- end
- return false
- end
- --Debut prog
- if fs.exists('/lib/json.lua') == false then
- shell.execute('wget -fq "https://pastebin.com/raw/4UWzY19u" "/lib/json.lua"')
- end
- local json = require("json")
- if fs.exists('/home/player') == false then
- print("Entrez votre pseudo")
- name = term.read()
- print("Entrez l'adresse du serveur ex: infinity.mineaurion.com")
- serveur = term.read()
- local file = io.open("/home/player","w")
- file:write(name)
- file:write(serveur)
- file:close()
- local shrc = io.open("/home/.shrc","a")
- shrc:write("/home/detecteur.lua")
- shrc:close()
- computer.shutdown(true)
- else
- local file = io.open("/home/player","r")
- name = file:read()
- serveur = file:read()
- print("Detecte le joueur : " .. name)
- print("Sur le serveur : " .. serveur)
- end
- --Reset redstone
- rs.setOutput(sides.front,0)
- rs.setOutput(sides.top,0)
- rs.setOutput(sides.left,0)
- rs.setOutput(sides.right,0)
- rs.setOutput(sides.bottom,0)
- --Boucle
- while true do
- apiJson = json.decode(getHTTPData(apiUrl .. serveur))
- if apiJson.joueurs ~= false then
- if has_value(apiJson["joueurs"], name) then
- rs.setOutput(sides.front,15)
- --rs.setOutput(sides.top,15)
- rs.setOutput(sides.left,15)
- rs.setOutput(sides.right,15)
- rs.setOutput(sides.bottom,15)
- else
- rs.setOutput(sides.front,0)
- --rs.setOutput(sides.top,0)
- rs.setOutput(sides.left,0)
- rs.setOutput(sides.right,0)
- rs.setOutput(sides.bottom,0)
- end
- end
- os.sleep(10)
- end
Advertisement
Add Comment
Please, Sign In to add comment