View difference between Paste ID: C6TPhTd1 and xqGWye1t
SHOW: | | - or go back to the newest paste.
1
local pullEvent = os.pullEvent
2
os.pullEvent = os.pullEventRaw
3
4
function clear()
5
 term.setCursorPos(1,1)
6
 term.clear()
7
end
8
9
clear()
10
11
12
local setpass --for setting the password
13
local adminpass -- for setting the admin password
14
local opentime -- for setting how long the door will stay open
15
local rootpass -- for setting the rootpass
16
local redstoneOutputSide
17
local args = {...}
18
19
if fs.exists("doorlock-settings") and args[1] ~= "reset" then
20
	local f = fs.open("doorlock-settings", "r")
21
	setpass = f.readLine()
22
	adminpass = f.readLine()
23
	rootpass = f.readLine()
24
	opentime = tonumber(f.readLine())
25
	redstoneOutputSide = f.readLine()
26
	f.close()
27
else
28
	print("Please define the password to gain access to the door:")
29
	setpass = read("*")
30
	clear()	
31
	
32
	print("Please define the password to gain root access to the computer(to edit files):")
33
	rootpass = read("*")
34
	clear()
35
	
36
	print("Please define the admin password. This password will keep the door open when entered")
37
	adminpass = read("*")
38
	clear()
39
40
	print("Please define the amount of time the redstone pulse will be on:")
41
	opentime = tonumber(read())
42
	clear()
43
	
44
	local vside = false
45
	while true do
46
		print("Which side is the door on?")
47
		redstoneOutputSide = read()
48
		for k,v in pairs(rs.getSides()) do
49
			if v == redstoneOutputSide then
50
				vside = true
51
				break
52
			end
53
		end
54
		if vside then break end
55
		print("Invalid side!")
56
		sleep(0.5)
57
		clear()
58
	end
59
	local f = fs.open("doorlock-settings", "w")
60
	f.writeLine(setpass)
61
	f.writeLine(adminpass)
62
	f.writeLine(rootpass)
63
	f.writeLine(tostring(opentime))
64
	f.writeLine(redstoneOutputSide)
65
	f.close()
66
end
67
68
while true do
69
	clear()
70
	print ("Loading...")
71
	print ("Done Loading!")
72
	sleep(1)
73
	term.clear()
74
	term.setCursorPos(1,1)
75
76-
	print ("Door Lock v0.5")
76+
	print ("MM MANSIONS")
77-
	print ("Coded by Madster")
77+
	print ("Secured by VEBAsecurity")
78-
	write "Passcode: "
78+
	write "Enter Passcode: "
79
	input = read("*")
80
	if input == setpass then
81-
	    print ("Access Granted for " .. tostring(opentime) .. " seconds, better hurry!")
81+
	    print ("ACCESS GRANTED FOR " .. tostring(opentime) .. " SECONDS!")
82
	    rs.setOutput(redstoneOutputSide, true)
83
	    sleep(opentime)
84
	    rs.setOutput(redstoneOutputSide, false)
85
	    os.shutdown()
86
	elseif input == adminpass then
87-
	    print ("Door will remain open, remember to close!")
87+
	    print ("ACCESS GRANTED - DOOR WILL REMAIN OPEN")
88
	    rs.setOutput(redstoneOutputSide, true)
89
	    while true do
90
		    term.clear()
91
	    	    write "Passcode: "
92
	            input2 = read("*")
93
		    if input2 == adminpass then
94
		        rs.setOutput(redstoneOutputSide, false)
95
		        os.shutdown()
96
			break
97
 		    end
98
	    end
99
	elseif input == rootpass then
100
	    textutils.slowPrint ("Welcome, you may now edit the programs/files on this computer!")
101
	    term.clear()
102
	    os.pullEvent = pullEvent
103
	    print ("Root permissions enabled")
104
	    return
105
	else
106-
	    print ("Uhhm... Wrong password..")
106+
	    print ("ACCESS DENIED")
107
	    sleep(2)
108
	    os.shutdown()
109
	end
110
end