Advertisement
samuelask

door.lua

Jan 23rd, 2021
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. local c = require("component")
  2. local term = require("term")
  3. local component = require("component")
  4. local event = require("event")
  5. local serialization = require("serialization")
  6. local gpu = component.gpu
  7. local w, h = gpu.getResolution()
  8. if not component.isAvailable("redstone") then
  9. io.stderr:write("This program requires either a Redstone Card Tier 1 or Redstone I/O block to run.\n")
  10. return
  11. end
  12.  
  13. red = component.redstone
  14. gpu.fill(1, 1, w, h, " ")
  15. local asd = 1
  16. local os = require("os")
  17. local modem = component.modem
  18. local term = require("term")
  19. local text = require("text")
  20. local sides = require("sides")
  21. local pass = "wind"
  22. local abortcode = "1337"
  23. local port = 123
  24.  
  25. local address
  26. repeat
  27. term.clear(true)
  28. print("Door Control")
  29. print("")
  30. print("Password:")
  31. answer = text.trim(term.read(nil, false, nil, "*"))
  32. print()
  33. if answer == pass then
  34. print("ACCESS GRANTED!")
  35. print("Door is open for 5 seconds")
  36. red.setOutput(sides.front, 1)
  37. os.sleep(5)
  38. red.setOutput(sides.front, 0)
  39. print()
  40.  
  41. os.sleep(5)
  42.  
  43. else
  44. print("ACCESS DENIED")
  45. modem.broadcast(124, "intruderR")
  46. red.setOutput(sides.back, 1)
  47. os.sleep(5)
  48. term.clear(true)
  49. print("Alarm abort code:")
  50. num = io.read()
  51. print()
  52. if num == abortcode then
  53. print("Alarms disabled.")
  54. red.setOutput(sides.back, 0)
  55. modem.broadcast(124, "abort")
  56. os.sleep(5)
  57. else
  58. print("Await security")
  59. os.sleep(20)
  60. end
  61.  
  62.  
  63.  
  64. end
  65. until asd == 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement