Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Rayon de recherche des joueurs
- local range = 200
- -- Déclaration de la variable qui stockera l'Advanced Peripherals Player Detector
- local playerDetector
- -- Recherche de l'Advanced Peripherals Player Detector connecté
- for _, peripheralName in ipairs(peripheral.getNames()) do
- if peripheral.getType(peripheralName) == "playerDetector" then
- playerDetector = peripheral.wrap(peripheralName)
- break
- end
- end
- -- Vérification que l'Advanced Peripherals Player Detector a été trouvé
- if playerDetector == nil then
- print("Advanced Peripherals Player Detector non trouvé")
- return
- else
- print("Advanced Peripherals Player Detector trouvé")
- end
- -- Déclaration de la variable qui stockera l'Advanced Peripherals Monitor
- local monitor
- -- Recherche de l'Advanced Peripherals Monitor connecté
- for _, peripheralName in ipairs(peripheral.getNames()) do
- if peripheral.getType(peripheralName) == "monitor" and peripheral.wrap(peripheralName).isColour() then
- monitor = peripheral.wrap(peripheralName)
- break
- end
- end
- -- Vérification que l'Advanced Peripherals Monitor a été trouvé
- if monitor == nil then
- print("Advanced Peripherals Monitor non trouvé")
- return
- else
- print("Advanced Peripherals Monitor trouvé")
- end
- -- Fonction pour afficher la liste des joueurs détectés
- local function displayPlayerList(playerList)
- -- Définir les couleurs d'arrière-plan et de texte pour l'interface
- monitor.setBackgroundColor(colors.black)
- monitor.setTextColor(colors.white)
- -- Effacer l'écran et afficher l'en-tête de l'interface
- monitor.clear()
- monitor.setCursorPos(1, 1)
- monitor.write("===============================")
- monitor.setCursorPos(1, 2)
- monitor.write(" PLAYERS IN AREA ")
- monitor.setCursorPos(1, 3)
- monitor.write(" RANGE: "..range..string.rep(" ", 27 - #tostring(range)).."|")
- monitor.setCursorPos(1, 4)
- monitor.write("===============================")
- -- Afficher chaque joueur détecté à partir de la ligne 5
- for i, playerName in ipairs(playerList) do
- monitor.setCursorPos(1, i + 4)
- monitor.write(" " .. playerName .. string.rep(" ", 27 - #playerName) .. "|")
- end
- -- Afficher le bas de l'interface
- monitor.setCursorPos(1, #playerList + 5)
- monitor.write("===============================")
- end
- -- Boucle principale du programme
- while true do
- -- Vérification si un joueur est en ligne dans le rayon de recherche
- local playersInRange = playerDetector.getPlayersInRange(range)
- if #playersInRange > 0 then
- -- Si un joueur est détecté, afficher la liste des joueurs
- displayPlayerList(playersInRange)
- -- Activer le signal de redstone pour indiquer qu'un joueur est en ligne
- redstone.setOutput("right", true)
- else
- -- Si aucun joueur n'est détecté, effacer l'écran et désactiver le signal de redstone
- monitor.clear()
- redstone.setOutput("right", false)
- end
- -- Attendre 30 seconde avant de vérifier à nouveau si un joueur est en ligne
- sleep(30)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement