Advertisement
TheIncgi

Armor Hud Example

Sep 26th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.47 KB | None | 0 0
  1. --theincgi.armorHud = nil
  2. theincgi = theincgi or {}
  3. theincgi.armorHud = theincgi.armorHud or {}
  4. local hud = theincgi.armorHud
  5. --local hud = {}
  6. --log(theincgi)
  7.  
  8. hud.running = not hud.running
  9. if(not hud.running)then log("Armor HUD: &c&BOFF") return end
  10.  
  11. --if(hud.slots == nil or #hud.slots==0)then
  12.   hud.slots = {}
  13.   hud.bbar = {}
  14.   hud.bars = {}
  15.   for i=1, 4 do
  16.     local y = 5 + 16*i
  17.     hud.slots[i] = hud2D.newItem(nil, 5, y)
  18. --    hud.texts[i] = --hud2D.newText("",  5, 13+16*i)
  19. --    hud.texts[i].setTextSize(1)
  20.     y=y+15
  21.     hud.bbar[i] = hud2D.newRectangle(5, y, 16, 1)
  22.     hud.bbar[i].setColor(0xFFFF0000)
  23.     hud.bars[i] = hud2D.newRectangle(5, y, 16, 1)
  24.     hud.bars[i].setColor(0xFF00FF00)
  25.   end
  26. --end
  27.  
  28. if(hud.nameTag == nil)then
  29.   hud.nameTag = hud.nameTag or hud2D.newText("", 5, 5)
  30. end
  31.  
  32. hud.show = function(sPlayer)
  33.   --log(">>")
  34.   local player = getPlayer(sPlayer)
  35.   if(not player)then log("&c&BPlayer is no longer loaded") return end
  36.   local armor = player.inventory
  37.   hud.nameTag.setText(sPlayer)
  38.   hud.nameTag.enableDraw()
  39.   local inv = openInventory()
  40.   local map = inv.getMap()
  41.   local armorSlots = {map.helmet, map.chestplate, map.leggings, map.boots}
  42.   --llog(armorSlots)
  43.   for i=1, 4 do
  44.     local item = inv.getSlot(armorSlots[i]) --36 boots, 39 helm
  45.     --log(item)
  46.     if(item)then
  47.       log(item.id..":"..item.dmg)
  48.       hud.slots[i].setItem(item.id..":"..item.dmg)
  49.       hud.slots[i].enableDraw()
  50.       if item.dmg~=0 then
  51.         --log("Damaged!")
  52.         local bar
  53.         local len = 16
  54.         local p = 1 - (item.dmg / item.maxDmg)
  55.        
  56.         --log(string.rep("_", math.ceil(len*p)))
  57.         --bar = "&a&B"..string.rep("_", math.ceil(len*p))
  58.         --bar = bar.."&c&B"..string.rep("_", len-math.ceil(len*p))
  59.         --hud.texts[i].setText(bar)
  60.         --hud.texts[i].enableDraw()
  61.         hud.bbar[i].enableDraw()
  62.         hud.bars[i].enableDraw()
  63.         hud.bars[i].setWidth( math.ceil(len * p) )
  64.        
  65.       end
  66.     else
  67.       hud.slots[i].disableDraw()
  68.       hud.bbar[i].disableDraw()
  69.       hud.bars[i].disableDraw()
  70.     end
  71.   end
  72. end
  73.  
  74. hud.hide = function()
  75.   hud.nameTag.disableDraw()
  76.   for i=1, 4 do
  77.     hud.slots[i].disableDraw()
  78.     hud.bbar[i].disableDraw()
  79.     hud.bars[i].disableDraw()
  80.   end
  81. end
  82.  
  83.  
  84. local name = prompt("Player:","choice",table.unpack(getLoadedPlayers()))
  85. --log("Selected "..name)
  86. while(hud.running)do
  87.   hud.show(name)
  88.   sleep(250) --update every 1/4 second
  89. end
  90.  
  91. hud.hide()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement