Advertisement
gpgautier

Portcullis

Dec 3rd, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.89 KB | None | 0 0
  1. local RUNNING = true
  2. local OPENING = false
  3. local CLOSING = false
  4. local STATE = "closed"
  5.  
  6. function open(autoClose)
  7.     if OPENING or CLOSING then
  8.         return
  9.     end
  10.  
  11.     print("OPENING")
  12.  
  13.         CLOSING = false
  14.         OPENING = true
  15.  
  16.         rs.setOutput("top", true)
  17.         os.sleep(0.2)
  18.         rs.setOutput("top", false)
  19.         os.sleep(0.7)
  20.     print(".")
  21.  
  22.         rs.setOutput("top", true)
  23.         os.sleep(0.2)
  24.         rs.setOutput("top", false)
  25.         os.sleep(0.7)
  26.     print(". .")
  27.  
  28.         rs.setOutput("top", true)
  29.         os.sleep(0.2)
  30.         rs.setOutput("top", false)
  31.         os.sleep(0.7)
  32.     print(". . .")
  33.  
  34.         rs.setOutput("top", true)
  35.         os.sleep(0.2)
  36.         rs.setOutput("top", false)
  37.         os.sleep(0.7)
  38.     print(". . . .")
  39.  
  40.        
  41.         OPENING = false
  42.         STATE = "opened"
  43.  
  44.     if autoClose then
  45.         sleep(3)
  46.         close()
  47.     end
  48. end
  49.  
  50. function close()
  51.     if OPENING or CLOSING then
  52.         return
  53.     end
  54.  
  55.     OPENING = false
  56.         CLOSING = true
  57.  
  58.     print("CLOSING")
  59.  
  60.         rs.setOutput("bottom", true)
  61.         os.sleep(0.2)
  62.         rs.setOutput("bottom", false)
  63.         os.sleep(0.7)
  64.     print(".")
  65.  
  66.         rs.setOutput("bottom", true)
  67.         os.sleep(0.2)
  68.         rs.setOutput("bottom", false)
  69.         os.sleep(0.7)
  70.     print(". .")
  71.  
  72.         rs.setOutput("bottom", true)
  73.         os.sleep(0.2)
  74.         rs.setOutput("bottom", false)
  75.         os.sleep(0.7)
  76.     print(". . .")
  77.  
  78.         rs.setOutput("bottom", true)
  79.         os.sleep(0.2)
  80.         rs.setOutput("bottom", false)
  81.         os.sleep(0.7)
  82.     print(". . . .")
  83.  
  84.         CLOSING = false
  85.         STATE = "closed"
  86. end
  87.  
  88. term.clear()
  89.  
  90. while RUNNING do
  91.   local type = os.pullEvent("redstone")
  92.  
  93.   if not OPENING and not CLOSING then
  94.     if rs.getInput("back") or rs.getInput("front") then
  95.       if STATE == "closed" then
  96.     open(true)
  97.       else
  98.     close()        
  99.       end
  100.     end
  101.   end
  102. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement