Advertisement
BigBlow_

Spawner-Slave-Void

Mar 7th, 2025
8
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. -- Fonction pour demander un ID et le stocker
  2. local function demanderID()
  3. local fichierID = "id_spawner.txt"
  4.  
  5. -- Verifier si l'ID existe deja
  6. if fs.exists(fichierID) then
  7. -- Lire l'ID du fichier
  8. local fichier = fs.open(fichierID, "r")
  9. local id = tonumber(fichier.readAll())
  10. fichier.close()
  11. return id
  12. else
  13. -- Si le fichier n'existe pas, demander un ID
  14. write("Entrez l'ID du spawner: ")
  15. local id = tonumber(read())
  16.  
  17. -- Sauvegarder l'ID dans un fichier
  18. local fichier = fs.open(fichierID, "w")
  19. fichier.write(tostring(id))
  20. fichier.close()
  21.  
  22. return id
  23. end
  24. end
  25.  
  26. -- Demander l'ID du spawner (et le sauvegarder si c'est le premier démarrage)
  27. local SPAWNER_ID = demanderID()
  28.  
  29. local modem = peripheral.find("modem")
  30. if not modem then
  31. error("Aucun modem detecte")
  32. end
  33.  
  34. modem.open(100) -- Ecoute sur le canal 100
  35.  
  36. -- Desactive la redstone au depart
  37. redstone.setOutput("left", false)
  38. redstone.setOutput("right", true)
  39.  
  40. -- Fonction pour obtenir la date et l'heure au format HH:mm:ss_DD/MM
  41. local function getDateHeure()
  42. local heure, minute, seconde = os.date("*t").hour, os.date("*t").min, os.date("*t").sec
  43. local jour, mois = os.date("*t").day, os.date("*t").month
  44. return string.format("%02d:%02d:%02d_%02d/%02d", heure, minute, seconde, jour, mois)
  45. end
  46.  
  47. print("Attente des commandes pour le spawner ID: " .. SPAWNER_ID)
  48.  
  49. while true do
  50. local event, side, senderChannel, replyChannel, message = os.pullEvent("modem_message")
  51.  
  52. if type(message) == "table" and message.id == SPAWNER_ID then
  53. -- Gère la redstone en fonction de l'état du spawner
  54. redstone.setOutput("left", message.state) -- ON -> Gauche allumée, OFF -> Gauche éteinte
  55. redstone.setOutput("right", not message.state) -- ON -> Droite éteinte, OFF -> Droite allumée
  56.  
  57. -- Affichage avec la date et l'heure
  58. local dateHeure = getDateHeure()
  59. print("[" .. dateHeure .. "] Spawner " .. SPAWNER_ID .. " " .. (message.state and "active" or "desactive"))
  60. end
  61. end
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement