Clem105

MFE Final

Mar 7th, 2014
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.62 KB | None | 0 0
  1. local Data = {}
  2. local bridge = peripheral.wrap("top")
  3. local Width = 50
  4.  
  5. function FillData()
  6.     for i =1,#peripheral.getNames() do
  7.         if  peripheral.getNames()[i] ~= "left" and peripheral.getNames()[i] ~= "top" then
  8.             Data[i] = {}
  9.             Data[i]["Side"] = peripheral.getNames()[i]
  10.             Data[i]["Name"] = peripheral.getType(Data[i]["Side"])
  11.             Data[i]["Capacity"] = peripheral.call(Data[i]["Side"],"getEUCapacity")
  12.             Data[i]["Stored"] = peripheral.call(Data[i]["Side"],"getEUStored")
  13.         end
  14.     end
  15. end
  16.  
  17.  
  18.    
  19. function Middle(txt)
  20.     local f = (15+Width)/2
  21.     return f
  22. end
  23. function MaJ()
  24.     for i =1,#peripheral.getNames() do
  25.         if  peripheral.getNames()[i] ~= "left" and peripheral.getNames()[i] ~= "top" then
  26.             Barre[i].setWidth(Data[i]["Stored"]/Data[i]["Capacity"]*Width)
  27.             Name[i].setText(Data[i]["Name"])
  28.             Name[i].setX(Middle(Data[i]["Name"]))
  29.             Pourcent[i].setText(math.floor(Data[i]["Stored"]/Data[i]["Capacity"]*100))
  30.             Pourcent[i].setX(Middle(Pourcent[i].getText()))    
  31.         end
  32.     end
  33. end
  34.  
  35. --**********************
  36. --*****MainProgramm*****
  37. --**********************
  38.  
  39.  
  40.     local y = 15
  41.     Barre = {}
  42.     Name = {}
  43.     Pourcent = {}
  44.     for i =1,#peripheral.getNames() do
  45.         if  peripheral.getNames()[i] ~= "left" and peripheral.getNames()[i] ~= "top" then
  46.             bridge.addGradientBox(15,y,Width+2,18,0x000000,1,0x101010,0.75,2)
  47.             Barre[i] = bridge.addGradientBox(16,y+1,0,16,0xCC1818,0.5,0xCC1010,0.75,2)
  48.             Name[i] = bridge.addText(0,y+10," ",0xFFFFFF)
  49.             Name[i].setScale(0.8)
  50.             Pourcent[i] = bridge.addText(0,y+7," ",0xFFFFFF)
  51.             Pourcent[i].setScale(0.5)
  52.             y = y+24
  53.         end
  54.     end
  55.  
  56. while true do
  57.     FillData()
  58.     MaJ()
  59.     os.sleep(2)
  60. end
Advertisement
Add Comment
Please, Sign In to add comment