Advertisement
Lyqyd

biolock door code

Aug 4th, 2013
224
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local authorized = {}
  2. local authorizing
  3. local close
  4.  
  5. local handle = io.open(".auth", "r")
  6. if handle then
  7.   for user in handle:lines() do
  8.     authorized[user] = true
  9.   end
  10.   handle:close()
  11. end
  12.  
  13. while true do
  14.   event = {os.pullEvent()}
  15.   if event[1] == "biolock" then
  16.     if authorized[event[2]] then
  17.       if rs.getOutput("right") then
  18.         --accept new authorized entry
  19.         authorizing = true
  20.       else
  21.         rs.setOutput("right", true)
  22.         close = os.startTimer(20)
  23.       end
  24.     elseif authorizing then
  25.       authorized[event[2]] = true
  26.       authorizing = false
  27.       local handle = io.open(".auth", "w")
  28.       if handle then
  29.         for k, v in pairs(authorized) do
  30.           handle:write(k.."\n")
  31.         end
  32.         handle:close()
  33.       end
  34.     end
  35.   elseif event[1] == "redstone" then
  36.     if rs.getInput("bottom") then
  37.       authorizing = false
  38.       rs.setOutput("right", false)
  39.     end
  40.   elseif event[1] == "timer" and event[2] == close then
  41.     authorizing = false
  42.     rs.setOutput("right", false)
  43.   end
  44. end
Advertisement
RAW Paste Data Copied
Advertisement