Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- state = true -- true = open (able to walk through), false other
- inTransition = false
- rednet.open("front")
- local closeTimer = nil
- function open()
- if inTransition then
- return
- end
- if state then
- return
- end
- state = true
- inTransition = true
- delay = 0.2
- -- Open gate
- rednet.send(460, 4)
- rednet.send(461, 3)
- sleep(delay)
- rednet.send(462, 6)
- rednet.send(463, 5)
- sleep(delay)
- rednet.send(455, 6)
- rednet.send(454, 6)
- sleep(delay)
- rednet.send(464, 12)
- rednet.send(465, 11)
- sleep(0.1)
- rednet.send(464, 2)
- rednet.send(465, 1)
- sleep(0.1)
- rednet.send(452, 16)
- rednet.send(461, 16)
- rednet.send(460, 12)
- rednet.send(459, 16)
- inTransition = false
- end
- function close()
- if inTransition then
- return
- end
- if not state then
- return
- end
- state = false
- inTransition = true
- delay = 0.1
- -- Close gate
- rednet.send(452, 6)
- rednet.send(461, 6)
- rednet.send(460, 2)
- rednet.send(459, 6)
- sleep(delay)
- rednet.send(455, 16)
- rednet.send(454, 16)
- sleep(delay)
- rednet.send(462, 16)
- rednet.send(463, 15)
- sleep(delay)
- rednet.send(460, 14)
- rednet.send(461, 13)
- inTransition = false
- end
- while true do
- local event, par1 = os.pullEvent()
- if event == "timer" and par1 == closeTimer then
- closeTimer = nil
- close()
- elseif event == "redstone" then
- closeTimer = os.startTimer(3)
- open()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment