Difference between revisions of "Making a Password Protected Door"
(Improve code) |
|||
Line 1: | Line 1: | ||
− | This tutorial covers on how to make a | + | This tutorial covers on how to make a Computer output redstone current when the right password is typed in. The current is used to trigger an iron door on the left side of the Computer, you can change the side, of course. |
__TOC__ | __TOC__ | ||
− | = | + | = How to make it = |
− | + | Here's the code for it, I'll explain what everything does in the comments. (the --'s). | |
− | + | In your Computer, type 'edit startup'. Then write this code into there. (You don't need the comments (the --'s) in the final code) | |
− | + | <code> | |
− | + | local side = "left" -- Change left to whatever side your door / redstone is on, E.G: left, right, front, back, bottom, top. Be sure to leave the "s around it, though | |
− | + | local password = "bacon" -- Change bacon to what you want your password to be. Be sure to leave the "s around it, though | |
− | + | local opentime = 5 -- Change 5 to how long (in seconds) you want the redstone current to be on. Don't put "s around it, though | |
− | + | term.clear() -- Clears the screen | |
− | + | term.setCursorPos(1,1) -- Fixes the cursor position | |
− | + | write("Password: ") -- Prints 'Password: ' to the screen | |
− | + | local input = read("*") -- Makes the variable 'input' have the contents of what the user types in, the "*" part sensors out the password | |
− | + | if input == (password) then -- Checks if the user inputted the correct password | |
− | + | term.clear() -- Already explained up top | |
− | + | term.setCursorPos(1,1) | |
− | + | print("Password correct!") -- Prints 'Password correct!' to the screen | |
− | + | rs.setOutput(side,true) -- Output a redstone current to the side you specified | |
− | + | sleep(opentime) -- Wait the amount of seconds you specifed, then.. | |
− | + | rs.setOutput(side,false) -- Stop outputting a redstone current | |
− | + | os.reboot() -- Reboot the computer, reopening the lock | |
− | + | else -- Checks if the user didn't input the correct password | |
− | + | term.clear() | |
− | + | term.setCursorPos() | |
− | + | print("Password incorrect!") -- Prints 'Password incorrect!' to the screen | |
− | + | sleep(2) -- Waits 2 seconds | |
− | + | os.reboot() -- Reboot the computer, reopening the lock | |
− | + | end | |
− | + | </code> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
(NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally) | (NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= No Termination = | = No Termination = | ||
If you don't want people holding CTRL+T and quitting your lock, use this code at the top of your program: | If you don't want people holding CTRL+T and quitting your lock, use this code at the top of your program: | ||
− | <pre> | + | <pre>os.pullEvent = os.pullEventRaw</pre> |
[[Category:Tutorials]] | [[Category:Tutorials]] |
Revision as of 00:48, 15 April 2012
This tutorial covers on how to make a Computer output redstone current when the right password is typed in. The current is used to trigger an iron door on the left side of the Computer, you can change the side, of course.
Contents
How to make it
Here's the code for it, I'll explain what everything does in the comments. (the --'s).
In your Computer, type 'edit startup'. Then write this code into there. (You don't need the comments (the --'s) in the final code)
local side = "left" -- Change left to whatever side your door / redstone is on, E.G: left, right, front, back, bottom, top. Be sure to leave the "s around it, though
local password = "bacon" -- Change bacon to what you want your password to be. Be sure to leave the "s around it, though
local opentime = 5 -- Change 5 to how long (in seconds) you want the redstone current to be on. Don't put "s around it, though
term.clear() -- Clears the screen
term.setCursorPos(1,1) -- Fixes the cursor position
write("Password: ") -- Prints 'Password: ' to the screen
local input = read("*") -- Makes the variable 'input' have the contents of what the user types in, the "*" part sensors out the password
if input == (password) then -- Checks if the user inputted the correct password
term.clear() -- Already explained up top term.setCursorPos(1,1) print("Password correct!") -- Prints 'Password correct!' to the screen rs.setOutput(side,true) -- Output a redstone current to the side you specified sleep(opentime) -- Wait the amount of seconds you specifed, then.. rs.setOutput(side,false) -- Stop outputting a redstone current os.reboot() -- Reboot the computer, reopening the lock
else -- Checks if the user didn't input the correct password
term.clear() term.setCursorPos() print("Password incorrect!") -- Prints 'Password incorrect!' to the screen sleep(2) -- Waits 2 seconds os.reboot() -- Reboot the computer, reopening the lock
end
(NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally)
No Termination
If you don't want people holding CTRL+T and quitting your lock, use this code at the top of your program:
os.pullEvent = os.pullEventRaw