Advertisement
colhaydutu

lock v3

Sep 6th, 2023 (edited)
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.91 KB | None | 0 0
  1. local advancedMonitor = peripheral.wrap("right")
  2.  
  3. local redstoneOutput = "back"
  4.  
  5. local correctPassword = "7667"
  6. local enteredPassword = ""
  7. redstone.setOutput(redstoneOutput, false)
  8. local function drawScreen()
  9. advancedMonitor.setBackgroundColor(colors.lightGray)
  10. advancedMonitor.clear()
  11.  
  12. local w, h = advancedMonitor.getSize()
  13. term.redirect(advancedMonitor)
  14. paintutils.drawLine(2, 2, w-1, 2, colors.lightBlue)
  15. paintutils.drawLine(2, 2, 2, h-1, colors.lightBlue)
  16. paintutils.drawLine(w-1, 2, w-1, h-1, colors.lightBlue)
  17. paintutils.drawLine(2, h-1, w-1, h-1, colors.lightBlue)
  18. paintutils.drawLine(2, 5, w-1, 5, colors.lightBlue)
  19.  
  20. advancedMonitor.setBackgroundColor(colors.lightGray)
  21. advancedMonitor.setCursorPos(3, 3)
  22. advancedMonitor.setTextScale(1)
  23. advancedMonitor.setTextColor(colors.black)
  24. advancedMonitor.write("Enter Password")
  25.  
  26. paintutils.drawLine(8, 4, 12, 4, colors.lightGray)
  27. advancedMonitor.setCursorPos(7, 4)
  28.  
  29. advancedMonitor.write(" " .. string.rep("*", #enteredPassword) .. " ")
  30.  
  31. paintutils.drawLine(3, 4, 6, 4, colors.red)
  32. advancedMonitor.setCursorPos(4,4)
  33. advancedMonitor.write("DEL")
  34.  
  35. paintutils.drawLine(13,4,w-2,4, colors.green)
  36. advancedMonitor.setCursorPos(14,4)
  37. advancedMonitor.write("OK")
  38.  
  39.  
  40. advancedMonitor.setCursorPos(3, 7)
  41. advancedMonitor.setTextColor(colors.white)
  42. advancedMonitor.setBackgroundColor(colors.blue)
  43. advancedMonitor.write("[1 ")
  44. paintutils.drawLine(3, 6, 16, 6, colors.lightBlue)
  45. paintutils.drawLine(3, 8, 16, 8, colors.lightBlue)
  46. paintutils.drawLine(3, 10, 16, 10, colors.lightBlue)
  47. paintutils.drawLine(3, 12, 16, 12, colors.lightBlue)
  48. paintutils.drawLine(7, 6, 7, 12, colors.lightBlue)
  49. paintutils.drawLine(11, 6, 11, 12, colors.lightBlue)
  50. paintutils.drawLine(6, 6, 6, 12, colors.lightBlue)
  51. paintutils.drawLine(12, 6, 12, 12, colors.lightBlue)
  52. advancedMonitor.setCursorPos(8, 7)
  53. advancedMonitor.setTextColor(colors.white)
  54. advancedMonitor.setBackgroundColor(colors.blue)
  55. advancedMonitor.write( " 2 ")
  56.  
  57. advancedMonitor.setCursorPos(13, 7)
  58. advancedMonitor.setTextColor(colors.white)
  59. advancedMonitor.setBackgroundColor(colors.blue)
  60. advancedMonitor.write(" 3]")
  61.  
  62. advancedMonitor.setCursorPos(3, 9)
  63. advancedMonitor.setTextColor(colors.white)
  64. advancedMonitor.setBackgroundColor(colors.blue)
  65. advancedMonitor.write("[4 ")
  66.  
  67. advancedMonitor.setCursorPos(8, 9)
  68. advancedMonitor.setTextColor(colors.white)
  69. advancedMonitor.setBackgroundColor(colors.blue)
  70. advancedMonitor.write("[5]")
  71.  
  72. advancedMonitor.setCursorPos(13, 9)
  73. advancedMonitor.setTextColor(colors.white)
  74. advancedMonitor.setBackgroundColor(colors.blue)
  75. advancedMonitor.write(" 6]")
  76.  
  77. advancedMonitor.setCursorPos(3, 11)
  78. advancedMonitor.setTextColor(colors.white)
  79. advancedMonitor.setBackgroundColor(colors.blue)
  80. advancedMonitor.write("[7 ")
  81.  
  82. advancedMonitor.setCursorPos(8, 11)
  83. advancedMonitor.setTextColor(colors.white)
  84. advancedMonitor.setBackgroundColor(colors.blue)
  85. advancedMonitor.write("[8]")
  86.  
  87. advancedMonitor.setCursorPos(13, 11)
  88. advancedMonitor.setTextColor(colors.white)
  89. advancedMonitor.setBackgroundColor(colors.blue)
  90. advancedMonitor.write(" 9]")
  91.  
  92. paintutils.drawLine(3, 13, 16, 13, colors.lightBlue)
  93. paintutils.drawLine(3, 15, 16, 15, colors.lightBlue)
  94. paintutils.drawLine(3, 14, 4, 14, colors.lightBlue)
  95. paintutils.drawLine(15,14,16,14,colors.lightBlue)
  96.  
  97. advancedMonitor.setCursorPos(5, 14)
  98. advancedMonitor.setBackgroundColor(colors.red)
  99. advancedMonitor.setTextColor(colors.white)
  100. advancedMonitor.write("[ RETURN ]")
  101.  
  102. end
  103.  
  104. local function checkpassword()
  105. if #enteredPassword >= 5 then
  106. enteredPassword = string.sub(enteredPassword, 1, -2)
  107. end
  108. end
  109.  
  110. local function resetPassword()
  111. enteredPassword = ""
  112.  
  113.  
  114. drawScreen()
  115. end
  116.  
  117. local function checkPassword()
  118. if enteredPassword == correctPassword then
  119. redstone.setOutput(redstoneOutput, true)
  120. advancedMonitor.setCursorPos(4, 16)
  121. advancedMonitor.setBackgroundColor(colors.green)
  122. advancedMonitor.setTextColor(colors.white)
  123. advancedMonitor.write("Correct pass")
  124. sleep(4)
  125. resetPassword()
  126. else
  127. resetPassword()
  128. advancedMonitor.setCursorPos(5, 16)
  129. advancedMonitor.setBackgroundColor(colors.red)
  130. advancedMonitor.setTextColor(colors.white)
  131. advancedMonitor.write("Wrong pass")
  132. sleep(4)
  133. end
  134. end
  135.  
  136. drawScreen()
  137.  
  138. while true do
  139.  
  140. local event, side, x, y = os.pullEvent("monitor_touch")
  141.  
  142.  
  143. if x >= 3 and x <= 6 and y == 7 then
  144. enteredPassword = enteredPassword .. "1"
  145. checkpassword()
  146.  
  147. elseif x >= 8 and x <= 10 and y == 7 then
  148. enteredPassword = enteredPassword .. "2"
  149. checkpassword()
  150.  
  151. elseif x >= 13 and x <= 15 and y == 7 then
  152. enteredPassword = enteredPassword .. "3"
  153. checkpassword()
  154.  
  155. elseif x >= 3 and x <= 6 and y == 9 then
  156. enteredPassword = enteredPassword .. "4"
  157. checkpassword()
  158.  
  159. elseif x >= 8 and x <= 10 and y == 9 then
  160. enteredPassword = enteredPassword .. "5"
  161. checkpassword()
  162.  
  163. elseif x >= 13 and x <= 15 and y == 9 then
  164. enteredPassword = enteredPassword .. "6"
  165. checkpassword()
  166.  
  167.  
  168. elseif x >= 3 and x <= 6 and y ==11 then
  169. enteredPassword = enteredPassword .. "7"
  170. checkpassword()
  171.  
  172. elseif x >= 8 and x <= 10 and y == 11 then
  173. enteredPassword = enteredPassword .. "8"
  174. checkpassword()
  175.  
  176. elseif x >= 13 and x <= 15 and y == 11 then
  177. enteredPassword = enteredPassword .. "9"
  178. checkpassword()
  179.  
  180. elseif y == 15 then
  181. redstone.setOutput(redstoneOutput, false)
  182.  
  183. elseif x >= 4 and x <= 6 and y == 4 then
  184. enteredPassword = string.sub(enteredPassword, 1, -2)
  185.  
  186. elseif x >= 14 and x <= 16 and y == 4 then
  187. checkPassword()
  188. end
  189. drawScreen()
  190. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement