test
This commit is contained in:
parent
f0ad867a68
commit
cf2eda8553
36
monitor_turtles.lua
Normal file
36
monitor_turtles.lua
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
local monitor = peripheral.find("monitor")
|
||||||
|
local turtleStates = {}
|
||||||
|
|
||||||
|
-- Set monitor display
|
||||||
|
monitor.setTextScale(0.5)
|
||||||
|
monitor.clear()
|
||||||
|
monitor.setCursorPos(1,1)
|
||||||
|
|
||||||
|
-- Pretty print function
|
||||||
|
local function draw()
|
||||||
|
monitor.clear()
|
||||||
|
monitor.setCursorPos(1,1)
|
||||||
|
monitor.write("Turtle Monitor")
|
||||||
|
local row = 2
|
||||||
|
for id, data in pairs(turtleStates) do
|
||||||
|
monitor.setCursorPos(1, row)
|
||||||
|
local age = os.clock() - data.time
|
||||||
|
local status = (age > 10) and "offline" or data.status
|
||||||
|
monitor.write(string.format("%s (ID %d): %s", data.label, id, status))
|
||||||
|
row = row + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Main loop
|
||||||
|
rednet.open("back") -- or side where modem is
|
||||||
|
while true do
|
||||||
|
local msg, proto
|
||||||
|
local id, message, protocol = rednet.receive("turtle_status", 2)
|
||||||
|
if id then
|
||||||
|
local ok, data = pcall(textutils.unserialize, message)
|
||||||
|
if ok and data and data.id then
|
||||||
|
turtleStates[data.id] = data
|
||||||
|
end
|
||||||
|
end
|
||||||
|
draw()
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue
Block a user