Advertisement
Guest User

chatcl

a guest
Mar 28th, 2020
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.90 KB | None | 0 0
  1. local server=61
  2. local isTransfered=false
  3. local isTransferedStandby=false
  4. function standby()
  5. print("standing by to recieve messages from server" )
  6. local sID,hs,u1=rednet.receive("handshake")
  7. if(hs=="handshake") then
  8.   rednet.send(sID,"confirm","handshakeConfirm")
  9.   server=sID
  10. end
  11. end
  12. function connect()
  13. print("enter the id of the user you wish to connect to")
  14. local requestedConnection=read(requestedConnection)
  15. rednet.send(server,requestedConnection,"cProt")
  16. end
  17. function sendMessage()
  18. local sent=read(sent)
  19. local st, u2=string.find(sent,"/",1,true)
  20. if st==1 then
  21.   rednet.send(server,sent,"commandProtocol")
  22. else
  23.   rednet.send(server,sent,"messageProtocol")
  24. end
  25. end
  26. --local NicknameRec="default"
  27. function nickname()
  28. local id, nick, u3=rednet.receive("nickProt")
  29. NicknameRec=nick
  30. end
  31. function receiveMessage()
  32. local sID, message, u4=rednet.receive("MPincoming")
  33. print(NicknameRec..": "..message)
  34. end
  35.  
  36. function handshakeConfirm()
  37. local u5, hs ,u6=rednet.receive("handshake")
  38. if(hs == "handshake") then
  39.   rednet.send(server,"confirm","handshakeConfirm")
  40. end
  41. local id,nick=rednet.receive("nickProt")
  42. NicknameRec=nick
  43. end
  44. function transferConnections()
  45. local sID, msg=rednet.receive("relay", 1)
  46. server=msg
  47. connect()
  48. isTransfered=true
  49. end
  50. function transConStndby()
  51. local sID,msg=rednet.receive("relay")
  52. server=msg
  53. isTransferedStandby=true
  54. end
  55. print("Do you want to connect to someone? y/n")
  56. local answer=read(answer)
  57. if(answer=="y") then
  58.   connect()
  59.   parallel.waitForAny(transferConnections,handshakeConfirm)
  60.   if isTransfered==true then
  61.    handshakeConfirm()
  62.   end
  63.         while 1==1 do
  64.   parallel.waitForAny(receiveMessage,sendMessage,nickname)
  65.         end
  66. elseif(answer=="n") then
  67.   parallel.waitForAny(transConStndby,standby)
  68.    if isTransferedStandby==true then
  69.         standby()
  70.    end
  71.   while 1==1 do
  72.    parallel.waitForAny(receiveMessage,sendMessage,nickname)
  73.   end
  74. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement