local component = require('component')
local computer = require('computer')
local fs = require ('filesystem')
local bridge = component.openperipheral_bridge
local sensor = component.openperipheral_sensor
local chest = component.diamond
local me_controller = component.me_controller
local average_counter = component.average_counter
TPS = 0
db = {}
db.sens = {}
db.team = {
["sashenka97"] = false,
["Ordrex"] = false,
["BlackCatBaam"] = false,
["Voin_Dragon"] = false,
["HeAdolix"] = false,
["6"] = false,
["7"] = false,
["8"] = false,
["9"] = false,
["0"] = false,
}
function online_checker()
for nick, _ in pairs(db.team) do
if (computer.addUser(nick)) then
db.team[nick] = 0x00ff00
else
db.team[nick] = 0x444444
end
computer.removeUser(nick)
end
end
function time()
local f = io.open("/tmp/timeFile","w")
f:write("test")
f:close()
return(fs.lastModified("/tmp/timeFile"))
end
function check_TPS()
local avgTPS = 0
for i = 1, 5 do
realTimeOld = time()
os.sleep(1)
realTimeNew = time()
realTimeDiff = realTimeNew-realTimeOld
avgTPS = avgTPS + 20000/realTimeDiff
end
TPS = avgTPS/5
end
function draw()
check_TPS()
online_checker()
db.sens = sensor.getPlayers()
voltage = average_counter.getAverage()
bridge.addText(5, 5, 'TPS: '..string.format("%.1f", TPS), 0xffffff)
bridge.addText(5, 5, 'Voltage: '..tostring(voltage), 0xffffff)
local y = 20
for nick, status in pairs(db.team) do
bridge.addText(5, y, nick, status)
y = y + 10
end
y = y + 5
for player = 1, #db.sens do
bridge.addText(5, y, db.sens[player].name, 0xffffaa)
y = y + 10
end
y = y + 7
local chest_items = chest.getAllStacks(false)
for _, item in pairs(chest_items) do
if item then
local me_item = me_controller.getItemsInNetwork({name=item.id, damage=item.dmg})
if me_item.n ~= 0 then
bridge.addIcon(3, y, item.id, item.dmg)
bridge.addText(23, y+5, tostring(me_item[1].size), 0xffffff)
y = y + 16
end
end
end
end
while true do
bridge.clear()
draw()
bridge.sync()
os.sleep(1)
end