Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- c = require("component")
- local term = require("term")
- local component = require("component")
- event = require("event")
- os = require("os")
- computer = require("computer")
- serialization = require("serialization")
- local gpu_address = component.get("e86a")
- local screen_address = component.get("7d63")
- local gpu = component.proxy( gpu_address ) -- # get a 'proxy' to the gpu component
- gpu.bind( screen_address ) -- # call .bind from the proxy
- local w, h = gpu.getResolution()
- local modem_adress = component.get("6db7")
- local modem = component.proxy( modem_adress )
- local term = require("term")
- local text = require("text")
- local red = component.redstone
- gpu.fill(1, 1, w, h, " ")
- local sides = require("sides")
- local colors = require("colors")
- local pass = "wind"
- local abortcode = "1337"
- local port = 124
- local asd = 1
- print("Main door control")
- print("--------------------------------------------------------------------------------------------------------------------------------------------------------------")
- print()
- repeat
- term.clear(true)
- modem.open(port)
- print("Main door Control")
- print("")
- print("Password:")
- answer = text.trim(term.read(nil, false, nil, "*"))
- print()
- if answer == pass then
- term.clear(true)
- print("1. Open door")
- print("2. Close door")
- local signal = red.getBundledOutput(sides.south, colors.red)
- num = io.read()
- print()
- if num == "1" then
- if signal == 30 then
- print("Opening main door")
- red.setBundledOutput(sides.south, { [colors.red] = 0 } )
- print("Main door open.")
- os.sleep(5)
- red.setBundledOutput(sides.south, { [colors.white] = 15 } )
- modem.broadcast(124, "doormopen")
- print("Airlock closed.")
- os.sleep(5)
- else
- print("Door already open")
- os.sleep(5)
- end
- elseif num == "2" then
- if signal == 0 then
- print("Closing main door.")
- red.setBundledOutput(sides.south, { [colors.red] = 30 } )
- print("Main door closed.")
- os.sleep(5)
- red.setBundledOutput(sides.south, { [colors.white] = 0 } )
- modem.broadcast(124, "doormclosed")
- print("Airlock open.")
- os.sleep(5)
- else
- print("Door already closed")
- os.sleep(5)
- end
- else
- print("Choose either 1 or 2.")
- os.sleep(5)
- end
- else
- print("ACCESS DENIED")
- modem.broadcast(124, "intruderD")
- os.sleep(5)
- term.clear(true)
- print("Alarm abort code:")
- num = io.read()
- print()
- if num == abortcode then
- print("Alarms disabled.")
- modem.broadcast(124, "abort")
- os.sleep(5)
- else
- print("Await security")
- os.sleep(20)
- end
- end
- until asd == 2
Add Comment
Please, Sign In to add comment