Advertisement
BigBlow_

Untitled

Apr 2nd, 2023
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. -- Rayon de recherche des joueurs
  2. local range = 500
  3.  
  4. -- Déclaration de la variable qui stockera l'Advanced Peripherals Player Detector
  5. local playerDetector
  6.  
  7. -- Recherche de l'Advanced Peripherals Player Detector connecté
  8. for _, peripheralName in ipairs(peripheral.getNames()) do
  9. if peripheral.getType(peripheralName) == "playerDetector" then
  10. playerDetector = peripheral.wrap(peripheralName)
  11. break
  12. end
  13. end
  14.  
  15. -- Vérification que l'Advanced Peripherals Player Detector a été trouvé
  16. if playerDetector == nil then
  17. print("Advanced Peripherals Player Detector non trouvé")
  18. return
  19. else
  20. print("Advanced Peripherals Player Detector trouvé")
  21. end
  22.  
  23. -- Déclaration de la variable qui stockera l'Advanced Peripherals Monitor
  24. local monitor
  25.  
  26. -- Recherche de l'Advanced Peripherals Monitor connecté
  27. for _, peripheralName in ipairs(peripheral.getNames()) do
  28. if peripheral.getType(peripheralName) == "monitor" and peripheral.wrap(peripheralName).isColour() then
  29. monitor = peripheral.wrap(peripheralName)
  30. break
  31. end
  32. end
  33.  
  34. -- Vérification que l'Advanced Peripherals Monitor a été trouvé
  35. if monitor == nil then
  36. print("Advanced Peripherals Monitor non trouvé")
  37. return
  38. else
  39. print("Advanced Peripherals Monitor trouvé")
  40. end
  41.  
  42. -- Fonction pour afficher la liste des joueurs détectés
  43. local function displayPlayerList(playerList)
  44. -- Effacer l'écran et afficher l'en-tête de l'interface
  45. monitor.clear()
  46. monitor.setCursorPos(1, 1)
  47. monitor.write("============= PLAYERS ============")
  48. monitor.setCursorPos(1, 2)
  49. monitor.write("| |")
  50. -- Afficher chaque joueur détecté à partir de la ligne 3
  51. for i, playerName in ipairs(playerList) do
  52. monitor.setCursorPos(2, i + 2)
  53. monitor.write(playerName .. string.rep(" ", 20 - #playerName))
  54. end
  55. -- Afficher le bas de l'interface
  56. monitor.setCursorPos(1, 5)
  57. monitor.write("| |")
  58. monitor.setCursorPos(1, 6)
  59. monitor.write("===================================")
  60. end
  61.  
  62. -- Boucle principale du programme
  63. while true do
  64. -- Vérification si un joueur est en ligne dans le rayon de recherche
  65. local playersInRange = playerDetector.getPlayersInRange(range)
  66. if #playersInRange > 0 then
  67. -- Si un joueur est détecté, afficher la liste des joueurs
  68. displayPlayerList(playersInRange)
  69. -- Activer le signal de redstone pour indiquer qu'un joueur est en ligne
  70. redstone.setOutput("right", true)
  71. else
  72. -- Si aucun joueur n'est détecté, effacer l'écran et désactiver le signal de redstone
  73. monitor.clear()
  74. redstone.setOutput("right", false)
  75. end
  76. -- Attendre 1 seconde avant de vérifier à nouveau si un joueur est en ligne
  77. sleep(1)
  78. end
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement