Advertisement
XLT_Frank

Multiple Energy Cell Monitor v1.0

Aug 30th, 2014
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.25 KB | None | 0 0
  1. modem = peripheral.wrap("right")
  2. monitor = peripheral.wrap("top")
  3. monitor.setTextScale(1)
  4.  
  5. lastStoredEnergy = 0
  6. energyRate = 0
  7. timeEmpty = 0
  8.  
  9. while(true) do
  10.     numCells = 0
  11.     attachedCells = {}
  12.  
  13.     for index,value in pairs(modem.getNamesRemote()) do
  14.         if string.find(value,'energycell',1,true) then
  15.             numCells = numCells + 1
  16.             attachedCells[numCells] = value
  17.         end
  18.     end
  19.  
  20.     for i = 1,12 do
  21.         storedEnergy = 0
  22.         maxStoredEnergy = 0
  23.         for index,value in pairs(attachedCells) do
  24.             storedEnergy = storedEnergy + modem.callRemote(value, "getEnergyStored","")
  25.             maxStoredEnergy = maxStoredEnergy + modem.callRemote(value, "getMaxEnergyStored","")
  26.         end
  27.         percentStored = math.floor(100*storedEnergy/maxStoredEnergy)
  28.         energyRate = lastStoredEnergy - storedEnergy
  29.         timeEmpty = math.floor((storedEnergy/energyRate)/60)
  30.         monitor.clear()
  31.         monitor.setCursorPos(2,1)
  32.         monitor.write("Connected Cells: "..numCells)
  33.         monitor.setCursorPos(2,2)
  34.         monitor.write("Stored Energy: "..storedEnergy.." ("..percentStored.."%)")
  35.         monitor.setCursorPos(2,3)
  36.         monitor.write("Energy Use: "..energyRate.."/s")
  37.         monitor.setCursorPos(2,4)
  38.         monitor.write("Time to Empty: "..timeEmpty.." min")
  39.         print(i)
  40.         os.sleep(1)
  41.         lastStoredEnergy = storedEnergy
  42.     end
  43. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement