Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- receiver.lua (with debug output)
- local hologram = peripheral.find("hologram")
- local speaker = peripheral.find("speaker")
- local modem = peripheral.find("modem")
- if not hologram then print("No hologram!") return end
- if not speaker then print("No speaker!") return end
- if not modem then print("No modem!") return end
- local CHANNEL_LISTEN = 1
- local HOLOGRAM_SCALE = 0.1
- modem.open(CHANNEL_LISTEN)
- hologram.on()
- hologram.setScale(HOLOGRAM_SCALE)
- hologram.showPlayer(true)
- print("=== Camera & Voice Receiver ===")
- print("Listening on channel: " .. CHANNEL_LISTEN)
- local playerCount = 0
- while true do
- if modem.hasMessage() then
- local msg = modem.receive()
- if msg and msg.message and type(msg.message) == "table" then
- local message = msg.message
- if message.type == "hologram" then
- if message.players and message.center then
- -- Debug: print center coordinates
- print("[DEBUG] Center: x=" .. (message.center.x or "nil") ..
- " y=" .. (message.center.y or "nil") ..
- " z=" .. (message.center.z or "nil"))
- -- Debug: print first player coords
- if #message.players > 0 then
- local p = message.players[1]
- print("[DEBUG] Player: x=" .. (p.x or "nil") ..
- " y=" .. (p.y or "nil") ..
- " z=" .. (p.z or "nil"))
- end
- hologram.setPlayerData(message.players, message.center)
- if #message.players ~= playerCount then
- playerCount = #message.players
- print("[HOLO] " .. playerCount .. " player(s)")
- end
- else
- print("[WARN] Missing players or center in message!")
- if not message.players then print(" - players is nil") end
- if not message.center then print(" - center is nil") end
- end
- elseif message.type == "voice" then
- if message.packets and #message.packets > 0 then
- print("[VOICE] " .. #message.packets .. " packets")
- speaker.playRecordingPackets(message.packets)
- end
- end
- end
- else
- sleep(0.05)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment