Advertisement
OmegaRogue

OCGeo2

May 25th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. local c = require("component")
  2. local event = require("event")
  3. local ser = require("serialization")
  4. local holo = c.hologram
  5. local glasses = c.glasses
  6.  
  7.  
  8. local radius
  9. local coords
  10. local localCoords = {
  11. x = -3051,
  12. y = 51,
  13. z = 3027
  14. }
  15. local rows = {}
  16. local maxPack = 0
  17.  
  18. local isDone = false
  19.  
  20. local function receive(evt,_,_,_,_,msg1,msg2,msg3,msg4,msg5)
  21. print("Received Message:")
  22.  
  23. if msg1 == "maxPack" then
  24. maxPack = tonumber(msg2)
  25. print(msg2 .. " total packages.")
  26. end
  27.  
  28. if msg1 == "UserData" then
  29. io.write("Coordinates are: ")
  30. coords = ser.unserialize(msg2)
  31. radius = msg3
  32. io.write("X:" .. coords.x .. " Y:" .. coords.y .. " Z:" .. coords.z .. " Radius: " .. msg3 .. "\n")
  33. end
  34.  
  35. if msg1 == "Data" then
  36. table.insert(rows,ser.unserialize(msg2))
  37. table.insert(rows,ser.unserialize(msg3))
  38. table.insert(rows,ser.unserialize(msg4))
  39. table.insert(rows,ser.unserialize(msg5))
  40. end
  41. print("Size: " .. #rows .. "/" .. maxPack)
  42. end
  43.  
  44. local function cleanUp()
  45. print("Interrupted. Press [ctrl+alt+c] to exit.")
  46. event.ignore("modem_message",receive)
  47. event.ignore("interrupted",cleanUp)
  48. end
  49.  
  50. local function toGlasses()
  51. local times = 1
  52. while times < #rows do
  53. for i=-radius,radius do
  54. for d=-radius,radius do
  55.  
  56. end
  57. end
  58. times=times+1
  59. end
  60. end
  61.  
  62.  
  63. local function createDot(x,y,z,color)
  64. local dot = glasses.addDot3D()
  65. dot.set3DPos(x+0.5,y+0.5,z+0.5)
  66. dot.setColor(table.unpack(color))
  67. end
  68.  
  69.  
  70. local function update()
  71. if #rows > 0 then
  72. toGlasses()
  73. end
  74.  
  75. end
  76. event.listen("modem_message",receive)
  77. event.listen("interrupted",cleanUp)
  78.  
  79.  
  80. --createDot(0,5,0,{255,0,0})
  81.  
  82. while true do
  83. update()
  84. os.sleep(1/5)
  85. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement