Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local c = require("component")
- local event = require("event")
- local ser = require("serialization")
- local holo = c.hologram
- local glasses = c.glasses
- local radius
- local coords
- local localCoords = {
- x = -3051,
- y = 51,
- z = 3027
- }
- local rows = {}
- local maxPack = 0
- local isDone = false
- local function receive(evt,_,_,_,_,msg1,msg2,msg3,msg4,msg5)
- print("Received Message:")
- if msg1 == "maxPack" then
- maxPack = tonumber(msg2)
- print(msg2 .. " total packages.")
- end
- if msg1 == "UserData" then
- io.write("Coordinates are: ")
- coords = ser.unserialize(msg2)
- radius = msg3
- io.write("X:" .. coords.x .. " Y:" .. coords.y .. " Z:" .. coords.z .. " Radius: " .. msg3 .. "\n")
- end
- if msg1 == "Data" then
- table.insert(rows,ser.unserialize(msg2))
- table.insert(rows,ser.unserialize(msg3))
- table.insert(rows,ser.unserialize(msg4))
- table.insert(rows,ser.unserialize(msg5))
- end
- print("Size: " .. #rows .. "/" .. maxPack)
- end
- local function cleanUp()
- print("Interrupted. Press [ctrl+alt+c] to exit.")
- event.ignore("modem_message",receive)
- event.ignore("interrupted",cleanUp)
- end
- local function toGlasses()
- local times = 1
- while times < #rows do
- for i=-radius,radius do
- for d=-radius,radius do
- end
- end
- times=times+1
- end
- end
- local function createDot(x,y,z,color)
- local dot = glasses.addDot3D()
- dot.set3DPos(x+0.5,y+0.5,z+0.5)
- dot.setColor(table.unpack(color))
- end
- local function update()
- if #rows > 0 then
- toGlasses()
- end
- end
- event.listen("modem_message",receive)
- event.listen("interrupted",cleanUp)
- --createDot(0,5,0,{255,0,0})
- while true do
- update()
- os.sleep(1/5)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement