os.loadAPI("dev/tools.lua") os.loadAPI("dev/button.lua") rednet.open("left") m = peripheral.wrap("right") button.setMonitor(m) tools.setMonitor(m) shell.run("clear") print("M.O.M. display started") print("Use CTRL+T to stop") bots = { BOB = { fuel = 0, toSleep = 0, btn = button.create().setText("FORCE RUN BOB").setPos(3, 11).setSize(15, 3).onClick(function() tools.sendToBot(tools.BOB_ID, "run") end) }, CHRIS = { fuel = 0, toSleep = 0, btn = button.create().setText("FORCE RUN CHRIS").setPos(34, 11).setSize(17, 3).onClick(function() tools.sendToBot(tools.CHRIS_ID, "run") end) } } local handleMessages = { f = function(botName, data) bots[botName].fuel = data end, s = function(botName, data) bots[botName].toSleep = data end } local function receiveData() local botId, message = tools.receiveFromBot() local prefix = string.sub(message, 1, 1) local data = string.sub(message, 2) handleMessages[prefix](tools.BOT_NAMES[botId], data) end local function btnAwait() button.await(bots.BOB.btn, bots.CHRIS.btn) end while true do m.clear() tools.writeHighlight(" BOB", 1, 2, 30) tools.displayFuelBar(bots.BOB.fuel, 3, 5, 20) m.setCursorPos(3, 8) m.write("Prochaine récolte dans "..tools.niceTime(bots.BOB.toSleep)) tools.writeHighlight(" CHRIS", 32, 2, 30) tools.displayFuelBar(bots.CHRIS.fuel, 34, 5, 20) m.setCursorPos(34, 8) m.write("Prochaine récolte dans "..tools.niceTime(bots.CHRIS.toSleep)) parallel.waitForAny(btnAwait, receiveData) end