Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ Server side: accessServer ]]--
- local myid = os.computerID()
- local doorList = { 2 }
- local passwordForDoor = { "ACS" }
- mon=peripheral.wrap("bottom")
- print("Access Terminal")
- rednet.open("back")
- print("Computer id for Access Terminal is "..tostring(myid))
- function findIndexForId(id)
- for i,v in ipairs(doorList) do
- if id == v then
- return i
- end
- end
- return 0
- end
- --[[ for future implementation ]]--
- function setPasswordForLock(id,password)
- local i = findIndexForId(id)
- if i == 0 then
- return false
- end
- passwordForDoor[i] = password
- print("in setPasswordForLock"..id..password)
- return true
- end
- function checkPasswordForLock(id,password)
- local i = findIndexForId(id)
- if i == 0 then
- return -1
- end
- if passwordForDoor[i] == password then
- return 1
- else
- return 0
- end
- end
- --[[ Not needed yet, for later when we allow remove password changes ]]
- function saveData()
- local myfile = io.open("/doorpw.dat","w")
- print(tostring(myfile))
- print("1")
- for i,pw in ipairs(passwordForDoor) do
- myfile:write(pw)
- end
- print("4")
- myfile:close()
- end
- local isValid = 0
- while true do
- local timeString = textutils.formatTime(os.time(),false)
- senderId, message, distance = rednet.receive()
- isValid = checkPasswordForLock(senderId, message)
- if isValid == -1 then
- print("server "..senderId.." sent us a request but is not in our list")
- elseif isValid == 1 then
- rednet.send(senderId, "Valid")
- mon.scroll(1)
- mon.setCursorPos(1,4)
- mon.write("Access from "..senderId.." at "..timeString)
- else
- rednet.send(senderId, "Not Valid")
- mon.scroll(1)
- mon.setCursorPos(1,4)
- mon.write("Failure from "..senderId.." at "..timeString)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement