Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local advancedMonitor = peripheral.wrap("right")
- local redstoneOutput = "back"
- local correctPassword = "7667"
- local enteredPassword = ""
- redstone.setOutput(redstoneOutput, false)
- local function drawScreen()
- advancedMonitor.setBackgroundColor(colors.lightGray)
- advancedMonitor.clear()
- local w, h = advancedMonitor.getSize()
- term.redirect(advancedMonitor)
- paintutils.drawLine(2, 2, w-1, 2, colors.lightBlue)
- paintutils.drawLine(2, 2, 2, h-1, colors.lightBlue)
- paintutils.drawLine(w-1, 2, w-1, h-1, colors.lightBlue)
- paintutils.drawLine(2, h-1, w-1, h-1, colors.lightBlue)
- paintutils.drawLine(2, 5, w-1, 5, colors.lightBlue)
- advancedMonitor.setBackgroundColor(colors.lightGray)
- advancedMonitor.setCursorPos(3, 3)
- advancedMonitor.setTextScale(1)
- advancedMonitor.setTextColor(colors.black)
- advancedMonitor.write("Enter Password")
- paintutils.drawLine(8, 4, 12, 4, colors.lightGray)
- advancedMonitor.setCursorPos(7, 4)
- advancedMonitor.write(" " .. string.rep("*", #enteredPassword) .. " ")
- paintutils.drawLine(3, 4, 6, 4, colors.red)
- advancedMonitor.setCursorPos(4,4)
- advancedMonitor.write("DEL")
- paintutils.drawLine(13,4,w-2,4, colors.green)
- advancedMonitor.setCursorPos(14,4)
- advancedMonitor.write("OK")
- advancedMonitor.setCursorPos(3, 7)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write("[1 ")
- paintutils.drawLine(3, 6, 16, 6, colors.lightBlue)
- paintutils.drawLine(3, 8, 16, 8, colors.lightBlue)
- paintutils.drawLine(3, 10, 16, 10, colors.lightBlue)
- paintutils.drawLine(3, 12, 16, 12, colors.lightBlue)
- paintutils.drawLine(7, 6, 7, 12, colors.lightBlue)
- paintutils.drawLine(11, 6, 11, 12, colors.lightBlue)
- paintutils.drawLine(6, 6, 6, 12, colors.lightBlue)
- paintutils.drawLine(12, 6, 12, 12, colors.lightBlue)
- advancedMonitor.setCursorPos(8, 7)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write( " 2 ")
- advancedMonitor.setCursorPos(13, 7)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write(" 3]")
- advancedMonitor.setCursorPos(3, 9)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write("[4 ")
- advancedMonitor.setCursorPos(8, 9)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write("[5]")
- advancedMonitor.setCursorPos(13, 9)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write(" 6]")
- advancedMonitor.setCursorPos(3, 11)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write("[7 ")
- advancedMonitor.setCursorPos(8, 11)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write("[8]")
- advancedMonitor.setCursorPos(13, 11)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.setBackgroundColor(colors.blue)
- advancedMonitor.write(" 9]")
- paintutils.drawLine(3, 13, 16, 13, colors.lightBlue)
- paintutils.drawLine(3, 15, 16, 15, colors.lightBlue)
- paintutils.drawLine(3, 14, 4, 14, colors.lightBlue)
- paintutils.drawLine(15,14,16,14,colors.lightBlue)
- advancedMonitor.setCursorPos(5, 14)
- advancedMonitor.setBackgroundColor(colors.red)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.write("[ RETURN ]")
- end
- local function checkpassword()
- if #enteredPassword >= 5 then
- enteredPassword = string.sub(enteredPassword, 1, -2)
- end
- end
- local function resetPassword()
- enteredPassword = ""
- drawScreen()
- end
- local function checkPassword()
- if enteredPassword == correctPassword then
- redstone.setOutput(redstoneOutput, true)
- advancedMonitor.setCursorPos(4, 16)
- advancedMonitor.setBackgroundColor(colors.green)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.write("Correct pass")
- sleep(4)
- resetPassword()
- else
- resetPassword()
- advancedMonitor.setCursorPos(5, 16)
- advancedMonitor.setBackgroundColor(colors.red)
- advancedMonitor.setTextColor(colors.white)
- advancedMonitor.write("Wrong pass")
- sleep(4)
- end
- end
- drawScreen()
- while true do
- local event, side, x, y = os.pullEvent("monitor_touch")
- if x >= 3 and x <= 6 and y == 7 then
- enteredPassword = enteredPassword .. "1"
- checkpassword()
- elseif x >= 8 and x <= 10 and y == 7 then
- enteredPassword = enteredPassword .. "2"
- checkpassword()
- elseif x >= 13 and x <= 15 and y == 7 then
- enteredPassword = enteredPassword .. "3"
- checkpassword()
- elseif x >= 3 and x <= 6 and y == 9 then
- enteredPassword = enteredPassword .. "4"
- checkpassword()
- elseif x >= 8 and x <= 10 and y == 9 then
- enteredPassword = enteredPassword .. "5"
- checkpassword()
- elseif x >= 13 and x <= 15 and y == 9 then
- enteredPassword = enteredPassword .. "6"
- checkpassword()
- elseif x >= 3 and x <= 6 and y ==11 then
- enteredPassword = enteredPassword .. "7"
- checkpassword()
- elseif x >= 8 and x <= 10 and y == 11 then
- enteredPassword = enteredPassword .. "8"
- checkpassword()
- elseif x >= 13 and x <= 15 and y == 11 then
- enteredPassword = enteredPassword .. "9"
- checkpassword()
- elseif y == 15 then
- redstone.setOutput(redstoneOutput, false)
- elseif x >= 4 and x <= 6 and y == 4 then
- enteredPassword = string.sub(enteredPassword, 1, -2)
- elseif x >= 14 and x <= 16 and y == 4 then
- checkPassword()
- end
- drawScreen()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement