Clem105

Tank

Feb 1st, 2014
464
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.75 KB | None | 0 0
  1. local Tank = peripheral.wrap("top")
  2. local bridge = peripheral.wrap("left")
  3. local Data = {}
  4. Data["Rs"] = 0
  5. local Width = 50
  6.  
  7. function Initialisation()
  8.     bridge.clear()
  9.     Title = bridge.addText(0,210," ",0xFFFFFF)
  10.     Title.setScale(1.15)
  11.     bridge.addGradientBox(15,221,Width+2,22,0x000000,1,0x101010,0.75,2)
  12.     Barre = bridge.addGradientBox(16,222,0,20,0xFF3300,0.5,0xCCCC33,0.75,2)
  13.     Pourcent = bridge.addText(0,230," ",0xFFFFFF)
  14.     Pourcent.setScale(0.5)
  15.     Debit = bridge.addText(0,245," ",0xFFFFFF)
  16.     Debit.setScale(0.75)
  17. end
  18.  
  19. function FillData()
  20.     for k, v in pairs(Tank.getTankInfo("top")[1]) do
  21.         Data[k] = v
  22.     end
  23. end
  24.  
  25. function Split(str,pat)
  26.     local t = {}
  27.     local fpat = "(.-)" .. pat
  28.     local last_end = 1
  29.     local s, e, cap = str:find(fpat, 1)
  30.     while s do
  31.         if s ~= 1 or cap ~= "" then
  32.             table.insert(t,cap)
  33.         end
  34.         last_end = e+1
  35.         s, e, cap = str:find(fpat, last_end)
  36.     end
  37.     if last_end <= #str then
  38.         cap = str:sub(last_end)
  39.         table.insert(t, cap)
  40.     end
  41.     return t
  42. end
  43.  
  44. function Middle(len)
  45.     local x = ((Width-len)/2)+30
  46.     return x   
  47. end
  48. function Affichage()
  49.     Title.setText(Data["rawName"].." Tank")
  50.     Title.setX(Middle(bridge.getStringWidth(Title.getText())))
  51.     Barre.setWidth((Data["amount"]/Data["capacity"])*Width)
  52.     Pourcent.setText(math.floor(Data["amount"]/Data["capacity"]*100).." %")
  53.     Pourcent.setX(Middle(bridge.getStringWidth(Pourcent.getText())))
  54.     Debit.setText("Debit "..(Data["amount"]-Data["Rs"])/1000)
  55.     Debit.setX(Middle(bridge.getStringWidth(Debit.getText())))
  56.     Data["Rs"] = Data["amount"]
  57. end
  58.  
  59.  
  60. --*************************
  61. --******Main Programm******
  62. --*************************
  63.  
  64.  
  65.  
  66. Initialisation()
  67. while true do
  68.     FillData()
  69.     Affichage()
  70.     sleep(5)
  71. end
Advertisement
Add Comment
Please, Sign In to add comment