Advertisement
BigBlow_

Untitled

Apr 2nd, 2023
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. -- Initialisation du périphérique de détection de joueur
  2. local playerDetector = peripheral.find("advanced_peripheral_player_detector")
  3.  
  4. if playerDetector == nil then
  5. print("Erreur : Périphérique de détection de joueur introuvable")
  6. return
  7. end
  8.  
  9. print("Périphérique de détection de joueur trouvé")
  10.  
  11. -- Initialisation de l'écran
  12. local monitor = peripheral.find("monitor")
  13.  
  14. if monitor == nil then
  15. print("Erreur : Écran introuvable")
  16. return
  17. end
  18.  
  19. print("Écran trouvé")
  20.  
  21. -- Afficher les instructions pour configurer le rayon
  22. monitor.clear()
  23. monitor.setCursorPos(1,1)
  24. monitor.write("Entrez le rayon de détection :")
  25. monitor.setCursorPos(1,3)
  26. monitor.write("(Appuyez sur Entrée pour valider)")
  27.  
  28. -- Afficher le champ de saisie pour le rayon
  29. local inputField = window.create(monitor, 1, 4, 20, 1)
  30. inputField.write("500")
  31.  
  32. -- Attendre la saisie de l'utilisateur et récupérer le rayon
  33. local event, value
  34. repeat
  35. event, value = os.pullEvent()
  36. if event == "key" then
  37. if value == keys.enter then
  38. local radius = tonumber(inputField.read())
  39. if radius == nil or radius <= 0 then
  40. print("Erreur : Le rayon doit être un nombre positif")
  41. else
  42. print("Rayon défini à " .. radius)
  43. break
  44. end
  45. end
  46. end
  47. until false
  48.  
  49. -- Boucle principale de détection de joueur
  50. while true do
  51. -- Récupérer la liste des joueurs dans le rayon défini
  52. local players = playerDetector.getPlayersInRange(radius)
  53.  
  54. -- Effacer l'écran
  55. monitor.clear()
  56.  
  57. -- Afficher le titre
  58. monitor.setCursorPos(1,1)
  59. monitor.write("Détection de joueur")
  60.  
  61. -- Afficher le nombre de joueurs détectés
  62. monitor.setCursorPos(1,3)
  63. monitor.write("Nombre de joueurs : " .. #players)
  64.  
  65. -- Afficher la liste des joueurs détectés
  66. local y = 5
  67. for i, player in ipairs(players) do
  68. monitor.setCursorPos(1, y)
  69. monitor.write(player)
  70. y = y + 1
  71. end
  72.  
  73. -- Activer le signal de redstone si un joueur est détecté
  74. if #players > 0 then
  75. redstone.setOutput("back", true)
  76. print("Signal de redstone activé")
  77. else
  78. redstone.setOutput("back", false)
  79. print("Signal de redstone désactivé")
  80. end
  81.  
  82. -- Attendre avant la prochaine détection
  83. os.sleep(1)
  84. end
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement