Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --ComputerCraft Player Dectector by Teki 0.1
- local summerTime = 1
- local debugMsg = ""
- local monitor
- local isMon = false
- local glasses
- local sensors = {}
- local noteBlock
- local isNote = false
- -- Glasses variables
- local glassesObjects
- local glassesObjectsCoords
- local captureMode = false
- local clickX = 1
- local clickY = 1
- local itemClicked = 0
- local itemClickedX = 0
- local itemClickedY = 0
- local movingItemId = 0
- local drawDECData = false
- -- end
- -- Note Block Variables
- local noteLoops = 0
- --end
- -- Energy Core
- rednet.open("top")
- local getEnergyStored = 0
- local getMaxEnergyStored = 0
- local lastEnergyStored = 0
- local energyFluctuation = 0
- local energyRatio = 0
- local length = 0
- --end
- local tArgs = { ... }
- local scale = 1
- local hours = 0
- local minutes = 0
- local seconds = 0
- local dlTime = nil
- local curTime = 0
- local players
- local playerList
- local playersList = ""
- local lastTimeSeen = {}
- local index
- if peripheral.find("monitor") == nil then
- monitor = term.current()
- else
- monitor = peripheral.find("monitor")
- isMon = true
- end
- if peripheral.find("openperipheral_bridge") == nil then
- return 0
- else
- glasses = peripheral.find("openperipheral_bridge")
- glasses.clear()
- glassesObjects = {}
- glassesObjects[1] = {}
- glassesObjects[1]["origin"] = {}
- glassesObjects[1]["origin"]["x"] = 1
- glassesObjects[1]["origin"]["y"] = 1
- glassesObjects[1]["irlTime"] = {}
- glassesObjects[1]["irlTime"]["x"] = 2
- glassesObjects[1]["irlTime"]["y"] = 2
- glassesObjects[1]["igTime"] = {}
- glassesObjects[1]["igTime"]["x"] = 50
- glassesObjects[1]["igTime"]["y"] = 2
- glassesObjects[1]["players"] = {}
- glassesObjects[1]["players"]["x"] = 2
- glassesObjects[1]["players"]["y"] = 11
- glassesObjects[1]["DECBox"] = {}
- glassesObjects[1]["DECBox"]["x"] = 150
- glassesObjects[1]["DECBox"]["y"] = 1
- glassesObjects[1]["Options"] = {}
- glassesObjects[1]["Options"]["x"] = 1
- glassesObjects[1]["Options"]["y"] = 1
- glassesObjects[2] = {}
- glassesObjects[2]["screen"] = glasses.addBox(glassesObjects[1]["origin"]["x"],glassesObjects[1]["origin"]["y"],1920,1080,0xFFFFFF,0)
- glassesObjects[2]["irlTime"] = glasses.addText(glassesObjects[1]["irlTime"]["x"],glassesObjects[1]["irlTime"]["y"],"", 0xFFFFFF)
- glassesObjects[2]["igTime"] = glasses.addText(glassesObjects[1]["igTime"]["x"],glassesObjects[1]["igTime"]["y"],"", 0xFFFFFF)
- -- PLAYER DETECTOR
- glassesObjects[2]["players"] = {}
- glassesObjects[2]["players"]["background"] = glasses.addBox(glassesObjects[1]["players"]["x"],glassesObjects[1]["players"]["y"],100,90,0x000000,0.2)
- glassesObjects[2]["players"]["player1"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+2,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player2"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+12,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player3"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+22,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player4"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+32,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player5"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+42,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player6"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+52,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player7"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+62,"", 0xFFFFFF)
- glassesObjects[2]["players"]["player8"] = glasses.addText(glassesObjects[1]["players"]["x"]+2,glassesObjects[1]["players"]["y"]+72,"", 0xFFFFFF)
- glassesObjects[2]["players"]["background"].setVisible(false)
- glassesObjects[2]["players"]["player1"].setClickable(false)
- glassesObjects[2]["players"]["player2"].setClickable(false)
- glassesObjects[2]["players"]["player3"].setClickable(false)
- glassesObjects[2]["players"]["player4"].setClickable(false)
- glassesObjects[2]["players"]["player5"].setClickable(false)
- glassesObjects[2]["players"]["player6"].setClickable(false)
- glassesObjects[2]["players"]["player7"].setClickable(false)
- glassesObjects[2]["players"]["player8"].setClickable(false)
- -- DRACONIC ENERGY CORE MONITOR
- glassesObjects[2]["DECBox"] = {}
- glassesObjects[2]["DECBox"]["background"] = glasses.addBox(glassesObjects[1]["DECBox"]["x"],glassesObjects[1]["DECBox"]["y"],140,50,0x000000,0.2)
- glassesObjects[2]["DECBox"]["energy"] = glasses.addText(glassesObjects[1]["DECBox"]["x"]+5,glassesObjects[1]["DECBox"]["y"]+5,"",0xFFFFFF)
- glassesObjects[2]["DECBox"]["fluctuation"] = glasses.addText(glassesObjects[1]["DECBox"]["x"]+5,glassesObjects[1]["DECBox"]["y"]+15,"",0xFFFFFF)
- glassesObjects[2]["DECBox"]["barGreen"] = glasses.addBox(glassesObjects[1]["DECBox"]["x"]+5,glassesObjects[1]["DECBox"]["y"]+25,110,20,0x00FF00,1)
- glassesObjects[2]["DECBox"]["barBlack"] = glasses.addBox(glassesObjects[1]["DECBox"]["x"]+10,glassesObjects[1]["DECBox"]["y"]+30,100,10,0x000000,1)
- glassesObjects[2]["DECBox"]["barRed"] = glasses.addBox(glassesObjects[1]["DECBox"]["x"]+10,glassesObjects[1]["DECBox"]["y"]+30,0,10,0xFF0000,1)
- glassesObjects[2]["DECBox"]["energy"].setClickable(false)
- glassesObjects[2]["DECBox"]["fluctuation"].setClickable(false)
- glassesObjects[2]["DECBox"]["barGreen"].setClickable(false)
- glassesObjects[2]["DECBox"]["barBlack"].setClickable(false)
- glassesObjects[2]["DECBox"]["barRed"].setClickable(false)
- -- GLASSES OPTIONS MENU
- glassesObjects[2]["Options"] = {}
- glassesObjects[2]["Options"]["button"] = glasses.addIcon(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],3)
- glassesObjects[2]["Options"]["background"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],140,50,0x000000,0.2)
- glassesObjects[2]["Options"]["DECBox"] = glasses.addText(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],"",0xFFFFFF)
- glassesObjects[2]["Options"]["irlTime"] = glasses.addText(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],"",0xFFFFFF)
- glassesObjects[2]["Options"]["igTime"] = glasses.addText(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],"",0xFFFFFF)
- glassesObjects[2]["Options"]["players"] = glasses.addText(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],"",0xFFFFFF)
- glassesObjects[2]["Options"]["DECBoxEnabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x00FF00,1)
- glassesObjects[2]["Options"]["DECBoxDisabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x000000,1)
- glassesObjects[2]["Options"]["irlTimeEnabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x00FF00,1)
- glassesObjects[2]["Options"]["irlTimeDisabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x000000,1)
- glassesObjects[2]["Options"]["igTimeEnabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x00FF00,1)
- glassesObjects[2]["Options"]["igTimeDisabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x000000,1)
- glassesObjects[2]["Options"]["playersEnabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x00FF00,1)
- glassesObjects[2]["Options"]["playersDisabled"] = glasses.addBox(glassesObjects[1]["Options"]["x"],glassesObjects[1]["Options"]["y"],15,10,0x000000,1)
- glassesObjects[2]["Options"]["background"].setVisible(false)
- glassesObjects[2]["Options"]["DECBox"].setVisible(false)
- glassesObjects[2]["Options"]["irlTime"].setVisible(false)
- glassesObjects[2]["Options"]["igTime"].setVisible(false)
- glassesObjects[2]["Options"]["players"].setVisible(false)
- glassesObjects[2]["Options"]["DECBoxEnabled"].setVisible(false)
- glassesObjects[2]["Options"]["DECBoxDisabled"].setVisible(false)
- glassesObjects[2]["Options"]["irlTimeEnabled"].setVisible(false)
- glassesObjects[2]["Options"]["irlTimeDisabled"].setVisible(false)
- glassesObjects[2]["Options"]["igTimeEnabled"].setVisible(false)
- glassesObjects[2]["Options"]["igTimeDisabled"].setVisible(false)
- glassesObjects[2]["Options"]["playersEnabled"].setVisible(false)
- glassesObjects[2]["Options"]["playersDisabled"].setVisible(false)
- glassesObjects[2]["Options"]["background"].setClickable(false)
- glassesObjects[2]["Options"]["DECBox"].setClickable(false)
- glassesObjects[2]["Options"]["irlTime"].setClickable(false)
- glassesObjects[2]["Options"]["igTime"].setClickable(false)
- glassesObjects[2]["Options"]["players"].setClickable(false)
- glassesObjects[2]["Options"]["DECBoxEnabled"].setClickable(false)
- glassesObjects[2]["Options"]["DECBoxDisabled"].setClickable(false)
- glassesObjects[2]["Options"]["irlTimeEnabled"].setClickable(false)
- glassesObjects[2]["Options"]["irlTimeDisabled"].setClickable(false)
- glassesObjects[2]["Options"]["igTimeEnabled"].setClickable(false)
- glassesObjects[2]["Options"]["igTimeDisabled"].setClickable(false)
- glassesObjects[2]["Options"]["playersEnabled"].setClickable(false)
- glassesObjects[2]["Options"]["playersDisabled"].setClickable(false)
- end
- if #tArgs > 0 then
- scale = tonumber(tArgs[1])
- end
- if peripheral.find("openperipheral_sensor") == nil then
- return 0
- else
- sensors = {peripheral.find("openperipheral_sensor", function(name, object) return object.getPlayers() end)}
- if sensors == nil then
- return 0
- end
- end
- if peripheral.find("note_block") ~= nil then
- noteBlock = peripheral.find("note_block")
- --noteBlock.setPitch(0)
- isNote = true
- end
- local function roundTo(num, n)
- local mult = 10^(n or 0)
- return math.floor(num * mult + 0.5) / mult
- end
- local function isInTable(tab, target, key)
- for i=1,#tab do
- if key ~= "" and key ~= nil then
- if tab[i][key] == target then
- return i
- end
- else
- if tab[i] == target then
- return i
- end
- end
- end
- return false
- end
- function updateList()
- playerList = {}
- for i=1,#sensors do
- players = sensors[i].getPlayers()
- if players ~= nil then
- for i=1,#players do
- if isInTable(playerList, players[i]["name"]) == false then -- and name ~= sensor.getowner()
- playerList[#playerList+1] = players[i]["name"]
- end
- end
- else
- monitor.write("No Players")
- end
- end
- end
- function updateLastTimeSeenList()
- if playerList ~= nil then
- for i=1,#playerList do
- index = isInTable(lastTimeSeen, playerList[i], "name")
- if index == false then
- if #lastTimeSeen ~= nil then
- lastTimeSeen[#lastTimeSeen+1] = {}
- lastTimeSeen[#lastTimeSeen]["name"] = playerList[i]
- lastTimeSeen[#lastTimeSeen]["time"] = curTime
- end
- else
- lastTimeSeen[index]["name"] = playerList[i]
- lastTimeSeen[index]["time"] = curTime
- end
- end
- end
- end
- function updatePlayersList()
- if playerList ~= nil then
- for i=1,8 do
- if i <= #playerList then
- glassesObjects[2]["players"]["player"..i].setText(playerList[i])
- else
- glassesObjects[2]["players"]["player"..i].setText("")
- end
- end
- end
- end
- function updateTime()
- while true do
- while dlTime == nil do
- dlTime = http.get("http://www.timeapi.org/gmt/in+" .. 1+summerTime .. "+hour?format={%25H,%25M,%25S}")
- if dlTime ~= nil then
- dlTime = textutils.unserialize(dlTime.readAll())
- hours = tonumber(dlTime[1])
- minutes = tonumber(dlTime[2])
- seconds = tonumber(dlTime[3])
- else
- sleep(30)
- end
- sleep(1)
- end
- dlTime = nil
- for i=seconds,60,1 do
- curTime = string.format("%02d:%02d", hours, minutes)
- seconds = i
- sleep(1)
- end
- end
- end
- function updateNoteBlock()
- if noteLoops >= 10 then
- for i=1,#playerList do
- if playerList[i] ~= "Galfae" then
- noteBlock.triggerNote()
- --break
- end
- end
- noteLoops = 0
- else
- noteLoops = noteLoops + 1
- end
- end
- function updateDECData()
- while true do
- -- Querry All ?
- rednet.broadcast("getAll", "CCDECClient")
- local id, msg = rednet.receive("CCDECServeur")
- -- Energy Stored ?
- getEnergyStored = msg[1]
- -- Max Energy Stored ?
- getMaxEnergyStored = msg[2]
- energyFluctuation = (getEnergyStored - lastEnergyStored)/20
- lastEnergyStored = getEnergyStored
- energyRatio = (getEnergyStored/getMaxEnergyStored)
- -- Energy Stored Rounded Milliards
- getEnergyStored = math.floor(getEnergyStored/1000000000)
- -- Max Energy Rounded Milliards
- getMaxEnergyStored = math.floor(getMaxEnergyStored/1000000000)
- glassesObjects[2]["DECBox"]["energy"].setText(getEnergyStored .. "/" .. getMaxEnergyStored .. " MRF (" .. roundTo(energyRatio*100, 3) .. "%)")
- if energyFluctuation > 0 then
- glassesObjects[2]["DECBox"]["fluctuation"].setText("+" .. energyFluctuation .. " RF/t")
- else
- glassesObjects[2]["DECBox"]["fluctuation"].setText(energyFluctuation .. " RF/t")
- end
- length = 100*energyRatio
- glassesObjects[2]["DECBox"]["barRed"].setWidth(length)
- sleep(1)
- end
- end
- function drawCaptureMode()
- if captureMode then
- glassesObjects[2]["players"]["background"].setVisible(true)
- if drawDECData == false then
- glassesObjects[2]["DECBox"]["background"].setVisible(true)
- glassesObjects[2]["DECBox"]["energy"].setVisible(true)
- glassesObjects[2]["DECBox"]["fluctuation"].setVisible(true)
- glassesObjects[2]["DECBox"]["barGreen"].setVisible(true)
- glassesObjects[2]["DECBox"]["barBlack"].setVisible(true)
- glassesObjects[2]["DECBox"]["barRed"].setVisible(true)
- end
- else
- glassesObjects[2]["players"]["background"].setVisible(false)
- if drawDECData == false then
- glassesObjects[2]["DECBox"]["background"].setVisible(false)
- glassesObjects[2]["DECBox"]["energy"].setVisible(false)
- glassesObjects[2]["DECBox"]["fluctuation"].setVisible(false)
- glassesObjects[2]["DECBox"]["barGreen"].setVisible(false)
- glassesObjects[2]["DECBox"]["barBlack"].setVisible(false)
- glassesObjects[2]["DECBox"]["barRed"].setVisible(false)
- end
- end
- end
- function draw()
- while true do
- updateList()
- updateLastTimeSeenList()
- if isNote then
- updateNoteBlock()
- end
- updatePlayersList()
- monitor.clear()
- if isMon then
- monitor.setTextScale(scale)
- end
- monitor.setCursorPos(1,1)
- monitor.write("Last Time Seen : ")
- for i=1,#lastTimeSeen do
- monitor.setCursorPos(1,1+i)
- monitor.write(lastTimeSeen[i]["name"] .. " : " .. lastTimeSeen[i]["time"])
- end
- sleep(0)
- end
- end
- function drawGlasses()
- while true do
- drawCaptureMode()
- glassesObjects[2]["irlTime"].setText(curTime)
- glassesObjects[2]["igTime"].setText(textutils.formatTime(os.time(), true))
- glasses.sync()
- sleep(0)
- end
- end
- function moveDECData()
- glassesObjects[1]["DECBox"]["x"] = glassesObjects[2]["DECBox"]["background"].getX()
- glassesObjects[1]["DECBox"]["y"] = glassesObjects[2]["DECBox"]["background"].getY()
- glassesObjects[2]["DECBox"]["energy"].setX(glassesObjects[1]["DECBox"]["x"]+5)
- glassesObjects[2]["DECBox"]["energy"].setY(glassesObjects[1]["DECBox"]["y"]+5)
- glassesObjects[2]["DECBox"]["fluctuation"].setX(glassesObjects[1]["DECBox"]["x"]+5)
- glassesObjects[2]["DECBox"]["fluctuation"].setY(glassesObjects[1]["DECBox"]["y"]+15)
- glassesObjects[2]["DECBox"]["barGreen"].setX(glassesObjects[1]["DECBox"]["x"]+5)
- glassesObjects[2]["DECBox"]["barGreen"].setY(glassesObjects[1]["DECBox"]["y"]+25)
- glassesObjects[2]["DECBox"]["barBlack"].setX(glassesObjects[1]["DECBox"]["x"]+10)
- glassesObjects[2]["DECBox"]["barBlack"].setY(glassesObjects[1]["DECBox"]["y"]+30)
- glassesObjects[2]["DECBox"]["barRed"].setX(glassesObjects[1]["DECBox"]["x"]+10)
- glassesObjects[2]["DECBox"]["barRed"].setY(glassesObjects[1]["DECBox"]["y"]+30)
- end
- function movePlayersData()
- glassesObjects[1]["players"]["x"] = glassesObjects[2]["players"]["background"].getX()
- glassesObjects[1]["players"]["y"] = glassesObjects[2]["players"]["background"].getY()
- glassesObjects[2]["players"]["player1"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player1"].setY(glassesObjects[1]["players"]["y"]+2)
- glassesObjects[2]["players"]["player2"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player2"].setY(glassesObjects[1]["players"]["y"]+12)
- glassesObjects[2]["players"]["player3"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player3"].setY(glassesObjects[1]["players"]["y"]+22)
- glassesObjects[2]["players"]["player4"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player4"].setY(glassesObjects[1]["players"]["y"]+32)
- glassesObjects[2]["players"]["player5"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player5"].setY(glassesObjects[1]["players"]["y"]+42)
- glassesObjects[2]["players"]["player6"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player6"].setY(glassesObjects[1]["players"]["y"]+52)
- glassesObjects[2]["players"]["player7"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player7"].setY(glassesObjects[1]["players"]["y"]+62)
- glassesObjects[2]["players"]["player8"].setX(glassesObjects[1]["players"]["x"]+2)
- glassesObjects[2]["players"]["player8"].setY(glassesObjects[1]["players"]["y"]+72)
- end
- function clickDownEvent()
- local event = { os.pullEvent("glasses_component_mouse_down") }
- if event[1] == "glasses_component_mouse_down" then
- for i=1,#event do
- term.setCursorPos(1,4+i)
- term.write(event[i])
- end
- term.write(glassesObjects[2]["irlTime"].getId())
- clickX = event[7]
- clickY = event[8]
- itemClicked = event[5]
- itemClickedX = math.floor(clickX)
- itemClickedY = math.floor(clickY)
- if itemClicked == glassesObjects[2]["irlTime"].getId() or itemClicked == glassesObjects[2]["igTime"].getId() or
- itemClicked == glassesObjects[2]["DECBox"]["background"].getId() or itemClicked == glassesObjects[2]["players"]["background"].getId() then
- movingItemId = itemClicked
- glasses.getObjectById(movingItemId).setClickable(false)
- end
- end
- end
- function clickUpEvent()
- local event = { os.pullEvent("glasses_component_mouse_up") }
- if event[1] == "glasses_component_mouse_up" then
- clickX = event[7]+1
- clickY = event[8]+1
- itemClicked = event[5]
- if itemClicked == glassesObjects[2]["screen"].getId() then
- if movingItemId ~= 0 then
- glasses.getObjectById(movingItemId).setX(clickX-itemClickedX)
- glasses.getObjectById(movingItemId).setY(clickY-itemClickedY)
- if movingItemId == glassesObjects[2]["players"]["background"].getId() then
- movePlayersData()
- elseif movingItemId == glassesObjects[2]["DECBox"]["background"].getId() then
- moveDECData()
- end
- glasses.getObjectById(movingItemId).setClickable(true)
- movingItemId = 0
- end
- elseif movingItemId ~= 0 then
- glasses.getObjectById(movingItemId).setClickable(true)
- movingItemId = 0
- end
- end
- end
- function captureOnEvent()
- local event = { os.pullEvent("glasses_capture") }
- if event[1] == "glasses_capture" then
- captureMode = true
- end
- end
- function captureOffEvent()
- local event = { os.pullEvent("glasses_release") }
- if event[1] == "glasses_release" then
- captureMode = false
- end
- end
- function catchEvents()
- --while true do
- parallel.waitForAny(clickDownEvent, clickUpEvent, captureOnEvent, captureOffEvent)
- --end
- end
- function updateDECData()
- while true do
- -- Querry All ?
- rednet.broadcast("getAll", "CCDECClient")
- local id, msg = rednet.receive("CCDECServeur")
- -- Energy Stored ?
- getEnergyStored = msg[1]
- -- Max Energy Stored ?
- getMaxEnergyStored = msg[2]
- energyFluctuation = (getEnergyStored - lastEnergyStored)/20
- lastEnergyStored = getEnergyStored
- energyRatio = (getEnergyStored/getMaxEnergyStored)
- -- Energy Stored Rounded Milliards
- getEnergyStored = math.floor(getEnergyStored/1000000000)
- -- Max Energy Rounded Milliards
- getMaxEnergyStored = math.floor(getMaxEnergyStored/1000000000)
- glassesObjects[2]["DECBox"]["energy"].setText(getEnergyStored .. "/" .. getMaxEnergyStored .. " MRF (" .. roundTo(energyRatio*100, 3) .. "%)")
- if energyFluctuation > 0 then
- glassesObjects[2]["DECBox"]["fluctuation"].setText("+" .. energyFluctuation .. " RF/t")
- else
- glassesObjects[2]["DECBox"]["fluctuation"].setText(energyFluctuation .. " RF/t")
- end
- length = 100*energyRatio
- glassesObjects[2]["DECBox"]["barRed"].setWidth(length)
- sleep(1)
- end
- end
- while true do
- parallel.waitForAny(draw, drawGlasses, updateTime, catchEvents, updateDECData)
- end
- monitor.clear()
- glasses.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement