View Single Post
05-21-21, 06:48 PM   #5
nibsrs
A Defias Bandit
Join Date: May 2021
Posts: 3
Originally Posted by Fizzlemizz View Post
You're dead?

It should be gold text in the middle of your screen even if it's just 0/0.

If you're comming from an initial login rather than a /reload you can change the inital text setting to the PLAYER_LOGIN event.

You can change the "UNIT_HEALTH" to "UNIT_HEALTH_FREQUENT" if your doing this in Classic (leave it as is for BCC).
Lua Code:
  1. local function UpdateHealth(self) -- Update the health text
  2.     local health = UnitHealth("player")
  3.     self.Text:SetText(health .. '/' .. self.healthMax)
  4. end
  5. local function UpdateHealthMax(self) -- Update min./max. health values
  6.     self.healthMax = UnitHealthMax("player")
  7.     UpdateHealth(self)
  8. end
  9.  
  10. local f = CreateFrame("Frame", "nibsrsHealthText", UIParent)
  11. f:SetSize(5, 4)
  12. f:SetPoint("CENTER")
  13. f.Text = f:CreateFontString()
  14. f.Text:SetFontObject(GameFontNormal)
  15. f.Text:SetPoint("CENTER")
  16. f.Text:SetJustifyH("CENTER")
  17. f.Text:SetJustifyV("CENTER")
  18.  
  19. f:SetScript("OnEvent", function(self, event, ...)
  20.     if event == "UNIT_HEALTH" then -- Fired when health changes
  21.         UpdateHealth(self)
  22.     elseif event == "PLAYER_LOGIN" or event == "UNIT_MAXHEALTH" then -- Fired when max. health changes
  23.         UpdateHealthMax(self)
  24.     end
  25. end)
  26. f:RegisterEvent("UNIT_HEALTH") -- register the events to be used
  27. f:RegisterEvent("UNIT_MAXHEALTH")
  28. f:RegisterEvent("PLAYER_LOGIN") -- Fires only once before the "PLAYER_ENTERING_WORLD" event.
Sorry, it was my mistake lol Thank you so much!
  Reply With Quote