Advertisement
Guest User

client

a guest
Jan 20th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.66 KB | None | 0 0
  1. -- VARIABLES
  2. local host_id = os.computerID()
  3. local serv_id
  4. local id_found = false
  5. local want_exit = false
  6.  
  7. -- FUNCTIONS
  8.  
  9. function find_id()
  10.   rednet.broadcast("server_id", "server_id")
  11.   serv_id = rednet.receive("server_id_response", 5)
  12.   if serv_id ~= nil then
  13.     id_found = true
  14.   end
  15. end
  16.  
  17. function join(server_id)
  18.   rednet.send(server_id, "join", "join")
  19. end
  20.  
  21. function leave(server_id)
  22.   rednet.send(server_id, "leave", "leave")
  23.   textutils.slowPrint("Closing client . . .")
  24.   sleep(2)
  25.   want_exit = true
  26. end
  27.  
  28. function list(server_id)
  29.   rednet.send(server_id, "list", "list")
  30.   local id, list = rednet.receive("list_response", 5)
  31.   print(list)
  32. end
  33.  
  34. function message_send(server_id, message)
  35.   rednet.send(server_id, message, "message")
  36. end
  37.  
  38. function message_receive(message)
  39.   print(message)
  40. end
  41.  
  42. function input()
  43.   write(">")
  44.   local input = read()
  45.   if string.sub(input, 0, 1) == "/" then
  46.     if input == "/help" then
  47.       print("/help for help")
  48.       print("/exit for exit")
  49.       print("/list for list")
  50.     elseif input == "/exit" then
  51.       leave(serv_id)
  52.     elseif input == "/list" then
  53.       list(serv_id)
  54.     else
  55.       print("Unknown command, type /help")
  56.     end
  57.   else
  58.     message_send(serv_id, input)
  59.   end
  60. end
  61. -- MAIN CODE
  62. rednet.open("back")
  63. while not id_found do
  64.   textutils.slowPrint("Looking for a server . . .")
  65.   find_id()
  66. end
  67. join(serv_id)
  68. while true do
  69.   event, param1, param2, param3 = os.pullEvent()
  70.   if event == "rednet_message" then
  71.     if param3 == "message" then
  72.       message_receive(param2)
  73.     end
  74.   elseif event == "key" then
  75.     input()
  76.   end
  77.   if want_exit then
  78.     break
  79.   end
  80. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement