Skillkiller

Alarm Sound

Sep 7th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.88 KB | None | 0 0
  1. wModul = "back"
  2. sound = "top"
  3.  
  4. function dashboard(status)
  5. shell.run("clear")
  6. maxX, maxY = term.getSize()
  7. term.setCursorPos(1,2)
  8. text = ""
  9. for i = 0, maxX - 1, 1 do
  10.     text = text .. "#"
  11. end
  12. print(text)
  13.  
  14. term.setCursorPos(math.floor((maxX - string.len(header)) / 2), 4)
  15. print(header)
  16.  
  17. term.setCursorPos(math.floor((maxX - string.len(status)) / 2),math.floor(maxY / 2))
  18. print(status)
  19.  
  20. text = ""
  21. text = "Warte auf Befehle"
  22. term.setCursorPos(math.floor((maxX - string.len(text)) / 2),math.floor(maxY / 2) + 1)
  23. print(text)
  24.  
  25. text = ""
  26. term.setCursorPos(1,maxY)
  27. for i = 0, maxX - 1, 1 do
  28.     text = text .. "#"
  29. end
  30. print(text)
  31.  
  32. warten = " Signal kann empfangen werden "
  33. term.setCursorPos(math.floor((maxX - string.len(warten)) / 2),maxY - 1)
  34. print(warten)
  35. end
  36.  
  37. end
  38.  
  39. function wartenTimer()
  40. local event, timerID = os.pullEvent("timer")
  41. if timerID == myTimer then
  42.     redstone.setOutput(sound, false)
  43.     dashboard("Alarm wurde automatisch deaktiviert")
  44.     rednet.broadcast("Roter Alarm wurde automatisch deaktiviert", "1900Warn")
  45. end
  46. end
  47.  
  48. function alarmStart()
  49.     rednet.broadcast("status?", "1900Player")
  50.     senderId2, message2, protocol = rednet.receive("1900Player")
  51.     if message == "Online" then
  52.         myTimer = os.startTimer(300)
  53.     elseif message == "Offline" then
  54.         myTimer = os.startTimer(60)
  55.     end
  56.     redstone.setOutput(sound, true)
  57.     dasboard("Alarm ist an!")
  58.     parallel.waitForAny(wartenPlayer, wartenAlarm, wartenTimer)
  59. end
  60.  
  61. function alarmStop()
  62.     os.cancelTimer(myTimer)
  63.     redstone.setOutput(sound, false)
  64.     dashboard("Alarm wurde deaktiviert")
  65. end
  66.  
  67.  
  68.  
  69. function wartenAlarm()
  70. senderId1, message1, protocol = rednet.receive("1900Alarm")
  71. if message == "Alarm start!" then
  72.     alarmStart()
  73. elseif message == "Alarm stop!" then
  74.     alarmStop()
  75. end
  76. end
  77. --Einmalig
  78. rednet.open(wModul)
  79. dashboard("Alarm wurde deaktiviert")
  80.  
  81. while true do
  82. parallel.waitForAny(wartenAlarm)
  83. end
Add Comment
Please, Sign In to add comment