Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local monitor = peripheral.find("monitor")
- if monitor == nil then
- print("Aucun moniteur disponible")
- return
- end
- local detector = peripheral.find("playerDetector")
- if detector == nil then
- print("Aucun détecteur de joueur disponible")
- return
- end
- local function centerText(text, width)
- local textLength = string.len(text)
- local padding = math.floor((width - textLength) / 2)
- return string.rep(" ", padding) .. text
- end
- local function displayPlayerList()
- monitor.clear()
- monitor.setCursorPos(1, 2)
- monitor.write("Fetching Players...")
- local players = detector.getOnlinePlayers()
- monitor.setTextScale(1.5)
- monitor.clear()
- local title = string.format("Liste des joueurs connectés : (%d/9999)", #players)
- local monX, monY = monitor.getSize()
- local centeredTitle = centerText(title, monX)
- monitor.setCursorPos(1, 1)
- monitor.write(centeredTitle)
- local startY = math.floor((monY - #players) / 2) + 1
- for i, player in ipairs(players) do
- local playerInfo = detector.getPlayerPos(player)
- print(playerInfo.x, playerInfo.y, playerInfo.z, playerInfo.life, playerInfo.health)
- if playerInfo then
- local formattedText = string.format("%s | Coords: X: %d, Y: %d, Z: %d", player, playerInfo.x, playerInfo.y, playerInfo.z)
- local centeredText = centerText(formattedText, monX)
- monitor.setCursorPos(1, startY + i)
- monitor.write(centeredText)
- else
- local centeredText = centerText(player .. " | Position inconnue", monX)
- monitor.setCursorPos(1, startY + i)
- monitor.write(centeredText)
- end
- end
- if #players == 0 then
- local noPlayersText = "Aucun joueur connecté"
- local centeredText = centerText(noPlayersText, monX)
- monitor.setCursorPos(1, startY)
- monitor.write(centeredText)
- end
- end
- while true do
- displayPlayerList()
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment