Advertisement
Guest User

client

a guest
May 14th, 2016
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.68 KB | None | 0 0
  1. local file = fs.open(".server", "r")
  2.  
  3. if file == nil then
  4.    print("No server configured")
  5.    return
  6. end
  7.  
  8. local server = tonumber(file.readLine())
  9. file.close()
  10.  
  11. local sid
  12. local user = "Guest"
  13. local modem = peripheral.find("modem")
  14. local event, side, sChannel, id, data, dist
  15. local _id = os.getComputerID()
  16. local admin = false
  17.  
  18. local function idRNG()
  19.    modem.close(_id)
  20.    _id = math.random(50000, 55000)
  21.    modem.open(_id)
  22. end
  23.  
  24. local function receive()
  25.    event, side, sChannel, id, data, dist = os.pullEvent("modem_message")
  26. end
  27.  
  28. local function send(to, msg)
  29.    idRNG()
  30.    modem.transmit(to, _id, msg)
  31.    receive()
  32. end
  33.  
  34. local function addmoney(usr, amt)
  35.    send(server,"add")
  36.    send(id,sid..":"..usr..":"..amt)
  37. end
  38.  
  39. local function remusr(usr)
  40.    send(server,"delete")
  41.    send(id,sid..":"..usr)
  42. end
  43.  
  44. local function chmod(usr,bool)
  45.    send(server,"chmod")
  46.    send(id,sid..":"..usr..":"..bool)
  47. end
  48.  
  49. local function PClick()
  50.    local evnt, button, x, y = os.pullEvent("mouse_click")
  51.    local A = x
  52.    local B = y
  53.    local C = button
  54.    return A, B, C
  55. end
  56.  
  57. local function start()
  58.    while true do
  59.       term.setBackgroundColor(8)
  60.       term.setTextColor(16)
  61.       term.clear()
  62.       term.setCursorPos(1, 1)
  63.       print("Welcome, " .. user)
  64.       if sid ~= nil then
  65.          term.setCursorPos(3, 4)
  66.          print("[Logout]")
  67.          term.setCursorPos(3, 6)
  68.          print("[Balance]")
  69.          term.setCursorPos(3, 8)
  70.          print("[Transfer]")
  71.          if admin then
  72.             term.setCursorPos(3, 10)
  73.             print("[R/A $]")
  74.             term.setCursorPos(3,12)
  75.             print("[Remove User]")
  76.             term.setCursorPos(3,14)
  77.             print("[Change User Status]")
  78.             x, y, button = PClick()
  79.             if button == 1 and x >= 3 and x <= 9 and y == 10 then
  80.                term.setBackgroundColor(8)
  81.                term.setTextColor(16)
  82.                term.clear()
  83.                term.setCursorPos(1, 1)
  84.                print("Welcome, " .. user)
  85.                term.setCursorPos(3, 4)
  86.                write("User: ")
  87.                USR = read()
  88.                term.setCursorPos(3, 5)
  89.                write("Amount: $")
  90.                ammt = read()
  91.                addmoney(USR,ammt)
  92.             elseif button == 1 and x >= 3 and x <= 15 and y == 12 then
  93.                term.setBackgroundColor(8)
  94.                term.setTextColor(16)
  95.                term.clear()
  96.                term.setCursorPos(1, 1)
  97.                print("Welcome, " .. user)
  98.                term.setCursorPos(3, 4)
  99.                write("User: ")
  100.                USR = read()
  101.                remusr(USR)
  102.             elseif button == 1 and x >= 3 and x <= 22 and y == 14 then
  103.                term.setBackgroundColor(8)
  104.                term.setTextColor(16)
  105.                term.clear()
  106.                term.setCursorPos(1, 1)
  107.                print("Welcome, " .. user)
  108.                term.setCursorPos(3, 4)
  109.                write("User: ")
  110.                USR = read()
  111.                term.setCursorPos(3, 5)
  112.                write("Admin (true/false): ")
  113.                BOOL = read()
  114.                chmod(USR,BOOL)
  115.             end
  116.          end
  117.       else
  118.          term.setCursorPos(3, 4)
  119.          print("[Login]")
  120.          term.setCursorPos(3, 6)
  121.          print("[Create Account]")
  122.       end
  123.       event, button, x, y = os.pullEvent("mouse_click")
  124.       if x >= 3 and x <= 10 and y == 4 and sid == nil then
  125.          send(server, "login")
  126.          term.clear()
  127.          term.setCursorPos(3, 4)
  128.          write("User: ")
  129.          user = read()
  130.          term.setCursorPos(3, 5)
  131.          write("Pass: ")
  132.          pass = read("*")
  133.          send(id, user .. ":" .. pass)
  134.           if data:find("Login Successful") and data:find(":") then
  135.             if data:find(":", data:find(":") + 1) then
  136.                admin = true
  137.                local c1 = data:find(":")
  138.                local c2 = data:find(":", c1 + 1)
  139.                sid = data:sub(c1 + 1, c2 - 1)
  140.             else
  141.                admin = false
  142.                sid = data:sub(data:find(":") + 1)
  143.             end
  144.             print(data:sub(0, data:find(":") - 1))
  145.          else
  146.             user = "Guest"
  147.             print(data)
  148.          end
  149.          term.setCursorPos(3, 2)
  150.          sleep(1)
  151.       elseif x >= 3 and x <= 10 and y == 4 and sid ~= nil then
  152.          user = "Guest"
  153.          send(server, "logout")
  154.          send(id, sid)
  155.          sid = nil
  156.          print(data)
  157.          sleep(1)
  158.       elseif x >= 3 and x <= 11 and y == 6 and sid ~= nil then
  159.          send(server, "balance")
  160.          send(id, sid)
  161.          term.clear()
  162.          term.setCursorPos(1, 1)
  163.          print("Balance is $" .. data)
  164.          os.pullEvent("mouse_click")
  165.       elseif x >= 3 and x <= 12 and y == 8 and sid ~= nil then
  166.          send(server, "transfer")
  167.          term.clear()
  168.          term.setCursorPos(3, 4)
  169.          write("Amount: $")
  170.          amt = read()
  171.          term.setCursorPos(3, 6)
  172.          write("To User: ")
  173.          user2 = read()
  174.          send(id, sid .. ":" .. user2 .. ":" .. amt)
  175.          term.setCursorPos(3, 2)
  176.          print(data)
  177.          os.pullEvent("mouse_click")
  178.       elseif x >= 3 and x <= 18 and y == 6 and sid == nil then
  179.          term.clear()
  180.          term.setCursorPos(3, 4)
  181.          write("Username: ")
  182.          user = read()
  183.          term.clear()
  184.          term.setCursorPos(3, 4)
  185.          write("Password: ")
  186.          pass = read("*")
  187.          term.clear()
  188.          send(server, "create")
  189.          send(id, user .. ":" .. pass)
  190.          user = "Guest"
  191.          term.setCursorPos(3, 4)
  192.          print(data)
  193.          os.pullEvent("mouse_click")
  194.       end
  195.    end
  196. end
  197.  
  198. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement