Advertisement
Guest User

startup

a guest
Apr 23rd, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.83 KB | None | 0 0
  1. functions = {CheckPass = {{"Username"},{"Password","*"}},
  2.   NewUser = {{"Existing user username"},
  3.   {"Existing user password","*"},
  4.   {"New user username"},{"New user password","*"}}}
  5.  
  6. os.loadAPI("StoreData")
  7. rednet.open("bottom")
  8.  
  9. local running = true
  10.  
  11. local function CheckPass(Username,Password)
  12.   if Username ~= nil and Password ~= nil then
  13.     local Users = StoreData.Load("/Users")
  14.     local password = Users[Username]
  15.     if password ~= nil then
  16.       if password ~= Password then
  17.         return(false)
  18.       else
  19.         return(true)
  20.       end
  21.     else
  22.       return(false)
  23.     end  
  24.   end
  25. end
  26.  
  27. local oldPull = os.pullEvent
  28. os.pullEvent = os.pullEventRaw
  29.  
  30. local function TurnOff()  
  31.   os.pullEventRaw("terminate")
  32.   print("Username")
  33.   local U = read()
  34.   print("Password")
  35.   local P = read("*")
  36.   if CheckPass(U,P) then
  37.     os.pullEvent = oldPull
  38.     running = false
  39.   else
  40.     print("Wrong")
  41.   end  
  42. end
  43.  
  44. local function GetRednet()    
  45.   local sender,message,about = rednet.receive()
  46.  
  47.   if functions[message] ~= nil then
  48.     rednet.send(sender,functions[message])
  49.     local DoWhat = message
  50.     local sender,message = rednet.receive()
  51.     print(CheckPass("Bionicles_rule","Password"))
  52.     if DoWhat == "CheckPass" then
  53.       rednet.send(sender,CheckPass(message["Username"],message["Password"]))
  54.     elseif DoWhat == "NewUser" then
  55.       print(textutils.serialise(message))
  56.       if CheckPass(message["Existing user username"],message["Existing user password"]) then
  57.         StoreData.Edit("/Users",message["New user username"],message["New user password"])
  58.         print(textutils.serialise(StoreData.Load("/Users")))
  59.         rednet.send(sender,true)
  60.       end
  61.     end
  62.    else
  63.      rednet.send(sender,false)
  64.    end
  65.   sleep(0)
  66. end
  67.  
  68. while running do
  69. parallel.waitForAny(GetRednet,TurnOff)
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement