Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- VARIABLES
- local host_id = os.computerID()
- local serv_id
- local id_found = false
- local want_exit = false
- -- FUNCTIONS
- function find_id()
- rednet.broadcast("server_id", "server_id")
- serv_id = rednet.receive("server_id_response", 5)
- if serv_id ~= nil then
- id_found = true
- end
- end
- function join(server_id)
- rednet.send(server_id, "join", "join")
- end
- function leave(server_id)
- rednet.send(server_id, "leave", "leave")
- textutils.slowPrint("Closing client . . .")
- sleep(2)
- want_exit = true
- end
- function list(server_id)
- rednet.send(server_id, "list", "list")
- local id, list = rednet.receive("list_response", 5)
- print(list)
- end
- function message_send(server_id, message)
- rednet.send(server_id, message, "message")
- end
- function message_receive(message)
- print(message)
- end
- function input()
- write(">")
- local input = read()
- if string.sub(input, 0, 1) == "/" then
- if input == "/help" then
- print("/help for help")
- print("/exit for exit")
- print("/list for list")
- elseif input == "/exit" then
- leave(serv_id)
- elseif input == "/list" then
- list(serv_id)
- else
- print("Unknown command, type /help")
- end
- else
- message_send(serv_id, input)
- end
- end
- -- MAIN CODE
- rednet.open("back")
- while not id_found do
- textutils.slowPrint("Looking for a server . . .")
- find_id()
- end
- join(serv_id)
- while true do
- event, param1, param2, param3 = os.pullEvent()
- if event == "rednet_message" then
- if param3 == "message" then
- message_receive(param2)
- end
- elseif event == "key" then
- input()
- end
- if want_exit then
- break
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement