Advertisement
thatparadox

TP Relay v1

May 8th, 2013
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.56 KB | None | 0 0
  1. -- TP Relay v1
  2.  
  3. local side=nil
  4. for k,v in pairs(rs.getSides()) do
  5.   if peripheral.getType(v)=='modem' then
  6.    rednet.open(v)
  7.    break
  8.   end
  9. end
  10.  
  11. function servRegister() --sending
  12.   rednet.broadcast("tpRegister")
  13.   os.sleep(0.1)
  14.   serv, type = rednet.receive()
  15.   file = fs.open("serv", "w")
  16.   file.write(serv)
  17.   file:close()
  18.   if type == "true" then
  19.     term.clear()
  20.     term.setCursorPos(1,1)
  21.     term.write("Type the number of this level: ")
  22.     level = read()
  23.     --term.clear()
  24.     term.setCursorPos(1,1)
  25.     rednet.send(serv, level)
  26.   else
  27.     os.sleep(0.2)
  28.     rednet.send(serv, "true")
  29.   end
  30.   id, message = rednet.receive()
  31.   if id == serv and message == "ext" then
  32.     --term.clear()
  33.     term.setCursorPos(1,1)
  34.     print("registered with relay")
  35.   elseif id == serv and message == "true" then
  36.     --term.clear()
  37.     term.setCursorPos(1,1)
  38.     --print("registered with server")
  39.   end
  40. end
  41.  
  42. function tpRegister() --receiving
  43.   print("got: "..message.." from "..id)
  44.   os.sleep(0.2)
  45.   rednet.send(id, "ext")
  46.   os.sleep(0.1)
  47.   id, message = rednet.receive()
  48.   --print("got: "..message.." from "..id)
  49.   file = fs.open("ext", "w")
  50.   file.write(id)
  51.   file:close()
  52.   os.sleep(.1)
  53.   rednet.send(id, "ext")
  54. end
  55.  
  56. function conRegister()
  57.   os.sleep(0.2)
  58.   rednet.send(serv, "update")
  59.   os.sleep(0.1)
  60.   serv, message = rednet.receive()
  61.   --print(message.." sent to "..id)
  62.   rednet.send(id, message)
  63. end
  64.  
  65. result = fs.exists("serv")
  66. if result == true then
  67.   file = io.open("serv", "r")
  68.   serv = file.read()
  69.   file:close()
  70.   serv = tonumber(serv)
  71. else
  72.   servRegister()
  73. end
  74.  
  75. result = fs.exists("ext")
  76. if result == true then
  77.   file = io.open("ext", "r")
  78.   ext = file.read()
  79.   file:close()
  80.   ext = tonumber(ext)
  81. end
  82. while true do
  83.   id, message = rednet.receive()
  84.   print("got first message: "..message.." from: "..id)
  85.   if message == "true" and id == serv then
  86.     print("got tp command from serv")
  87.     rednet.send(ext, "true")
  88.   elseif message == "teleport" then
  89.     print("teleporting")
  90.     rednet.send(serv, message)
  91.     print("sent to server: "..message)
  92.     dud, message = rednet.receive()
  93.     print("got serv responce of: "..message.." from: "..dud)
  94.     rednet.send(id, message)
  95.     print("sent to ext: "..message)
  96.     dud, message = rednet.receive()
  97.     print("telling the server: "..message.." from: "..dud)
  98.     rednet.send(serv, message)
  99.   elseif message == "tpRegister" and fs.exists("ext") == false then
  100.     print("got register")
  101.     tpRegister()
  102.   elseif message == "conRegister" or "update" then
  103.     conRegister()
  104.   end
  105. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement