Advertisement
thatparadox

TPconsole-v2

May 1st, 2013
747
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.82 KB | None | 0 0
  1. --Tp Console V2
  2.  
  3. local side=nil
  4. for k,v in pairs(rs.getSides()) do
  5.   if peripheral.getType(v)=='monitor' then
  6.    side = v
  7.    mon = peripheral.wrap(side)
  8.    break
  9.   end
  10. end
  11.  
  12. local side=nil
  13. for k,v in pairs(rs.getSides()) do
  14.   if peripheral.getType(v)=='modem' then
  15.    rednet.open(v)
  16.    break
  17.   end
  18. end
  19.  
  20. function conRegister()
  21.   rednet.broadcast("conRegister")
  22.   os.sleep(0.1)
  23.   serv, levels = rednet.receive()
  24.   file = fs.open("serv", "w")
  25.   file.write(serv)
  26.   file:close()
  27.   file = fs.open("levels", "w")
  28.   file.write(levels)
  29.   file:close()
  30. end
  31.  
  32. function update()
  33.   rednet.send(serv, "update")
  34.   os.sleep(0.1)
  35.   dud, levels = rednet.receive()
  36.   file = fs.open("levels", "w")
  37.   file.write(levels)
  38.   file:close()
  39. end
  40.  
  41. function display()
  42. x,y = mon.getSize()
  43. mt = {}
  44. mon.setBackgroundColor(colors.black)
  45. mon.clear()
  46. mon.setTextColor(colors.black)
  47. levels = tonumber(levels)
  48. digi = levels
  49. p = 0
  50. for i = 1, levels, 2 do
  51.   p = p + 1
  52.   mon.setCursorPos(x/2,digi)
  53.   digi = digi - 1
  54.   mon.setBackgroundColor(colors.yellow)
  55.   p = tostring(p)
  56.   mon.write(" "..p.." ")
  57.   p = tonumber(p)
  58.   p = p + 1
  59.   mon.setCursorPos(x/2,digi)
  60.   digi = digi - 1
  61.   mon.setBackgroundColor(colors.orange)
  62.   p = tostring(p)
  63.   mon.write(" "..p.." ")
  64.   p = tonumber(p)
  65. end
  66. end
  67.  
  68. result = fs.exists("serv")
  69. if result == true then
  70.   file = io.open("serv", "r")
  71.   serv = file.read()
  72.   file:close()
  73.   serv = tonumber(serv)
  74.   file = io.open("levels", "r")
  75.   levels = file.read()
  76.   file:close()
  77.   levels = tonumber(levels)
  78. else
  79.   conRegister()
  80. end
  81. display()
  82. while true do
  83. event, side, xPos, yPos = os.pullEvent("monitor_touch")
  84. tpFloor = levels - yPos + 1
  85. if tpFloor > 0 then
  86.   rednet.send(serv, "teleport")
  87.   dud, dud2 = rednet.receive()
  88.   rednet.send(serv, tpFloor)
  89. end
  90.   os.sleep(0.5)
  91.   update()
  92.   display()
  93. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement