Advertisement
Guest User

login

a guest
Dec 25th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.59 KB | None | 0 0
  1. rednet.open("top")
  2. mag = peripheral.wrap("right")
  3. os.loadAPI("tables")
  4. writer = peripheral.wrap("left")
  5. serverID = 190
  6.  
  7.  
  8. function getUser()
  9.   term.clear()
  10.   term.setCursorPos(1,1)
  11.   term.write("Enter username: ")
  12.   username = io.read()
  13. end
  14.  
  15. function getPin()  --gets pin code
  16.   term.clear()
  17.   term.setCursorPos(1,1)
  18.   term.write("Enter pin: ")
  19.     pin = tonumber(read("*"))
  20. end
  21.  
  22. function exists(user) -- checks if username exists
  23.   rednet.send(serverID,"requestInfo")
  24.   sleep(.5)
  25.   id,msg,chan = rednet.send(serverID,user)
  26.   id,msg,chan = rednet.receive(5)
  27.   if msg == "nonexisting" then
  28.     return false
  29.   else
  30.     accInfo = msg
  31.     print(msg)
  32.     return true
  33.   end
  34. end
  35. function login() --logs you in
  36.   getUser()
  37.   if exists(username) then
  38.     --accInfo = tables.load("accounts/"..username)
  39.     for k,v in pairs(accInfo) do
  40.       if k == "pin" then
  41.         getPin()
  42.         if pin == v then
  43.           print("access granted")
  44.           return true
  45.         else
  46.           print("access denied")
  47.           sleep(1)
  48.           return false
  49.         end
  50.       end
  51.     end
  52.   else
  53.     print("account: "..username.." doesnt exist")
  54.     return false
  55.   end
  56. end
  57.  
  58. repeat
  59. until login() == true
  60. --login complete, initiate task
  61.  
  62. --term.clear()
  63. --term.setCursorPos(1,1)
  64. --term.write("Press a button to choose action")
  65. --term.setCursorPos(1,2)
  66. --term.write("[1] = Print New RFID")
  67. --term.setCursorPos(1,3)
  68. --term.write("[2] = Make new Mag-stripe")
  69.  
  70. function writeRFID()
  71.   if char == "1" then
  72.     print(" making card")
  73.     for k,v in pairs(accInfo) do
  74.       if k == "Card number" then -- gets card number
  75.         CardNumber = v
  76.       end
  77.     end
  78.    
  79.     if writer.isPresent() then
  80.       print(writer.encode(tostring(CardNumber),tostring(username)))
  81.       for i = 1,29 do
  82.         term.clear()
  83.         term.setCursorPos(1,1)
  84.         term.write("Card Progress: ")
  85.         prcnt = writer.getProgress()*100
  86.         term.write(math.floor(prcnt).."%")
  87.         sleep(1)
  88.       end
  89.         event,side = os.pullEvent("rfid_written")
  90.         print("RFID card compelete!")
  91.       return true
  92.       else print("insert RFID card")
  93.       return false
  94.     end
  95.     else print("error")
  96.     return false
  97.   end
  98. end
  99.  
  100. function writeMag()
  101.   if char == "2" then
  102.     for k,v in pairs(accInfo) do
  103.       if k == "Card number" then
  104.         cardNumber = v
  105.         print(cardNumber)
  106.       end
  107.     end
  108.   end
  109.   mag.beginWrite(tostring(cardNumber),"KeyCard")
  110.   print("swipe card")
  111. end
  112. for k,v in pairs(accInfo) do
  113.   if k == "Card number" then
  114.     CN = v
  115.   end
  116. end
  117. --rednet.send(190,CN)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement