Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local event = require("event")
- local term = require("term")
- local com = require("component")
- local side = require("sides")
- local gpu = com.gpu
- local card = com.card_reader
- local red = com.redstone
- local sideOutputRed = side.down
- local password = '0x1234567890'
- local OpenDoorTime = 35
- local ResX,ResY = 40, 20
- local startText = "Найди карту, чтобы пройти дальше!"
- local goodText = "Карта принята!"
- local badText = "Карта не подходит!"
- local colors = {
- ["background"] = 0x161a1e,
- ["foreground"] = 0xf5f5f5,
- ["startColorWindow"] = 0x313c48,
- ["goodColorWindow"] = 0x447744,
- ["badColorWindow"] = 0x541008
- }
- local function Init()
- gpu.setBackground(colors.background)
- gpu.setForeground(colors.foreground)
- gpu.setResolution(ResX, ResY)
- term.clear()
- end
- local function drawWindow(color,text)
- gpu.setBackground(color)
- gpu.fill(3,2,ResX-4,ResY-2," ")
- gpu.set(ResX/2-#text/4,ResY/2+1,text)
- gpu.setBackground(colors.background)
- gpu.set(ResX-10,ResY, "by lokin135")
- end
- local function openDoor()
- red.setOutput(sideOutputRed,15)
- os.sleep(OpenDoorTime)
- red.setOutput(sideOutputRed,0)
- end
- local function getCardEvent()
- local _, _, _, cardData = event.pull("card_event")
- return cardData == password
- end
- local function Main()
- while true do
- drawWindow(colors.startColorWindow,startText)
- card.read()
- if getCardEvent() then
- drawWindow(colors.goodColorWindow,goodText)
- openDoor()
- else
- drawWindow(colors.badColorWindow,badText)
- os.sleep(2)
- end
- end
- end
- Init()
- Main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement