Guten Abend zusammen,
ich nutze zum Heilen das standard Gruppen bzw. Raidinterface. hierbei lasse ich mir eben auch in Gruppen die Unitframes im Raiddesign anzeigen (option im normalen Interface). Ich vermisse hier leider die Option mir die ankommende Heilung auf meinem ziel als „vorschaubalken“ anzeigen zu lassen. Da ich jedoch auch nicht auf ein Addon wie Grid, Vudho oder so wechseln möchte, habe ich versucht mir mithilfe von Chatgpt den entsprechenden Code zu erstellen. Leider scheint er gelinde garnichts zu bewirken. Da Addon wird mir sowohl in der Charauswahl wie auch ingame unter Addons angezeigt.
Falls sich jemand von euch damit auskennt, kann er mir da eventuell ein wenig weiterhelfen? Ich selbst kenne mich mit Code schreiben nur soweit aus das ich kleinere Projekte in Excel VBA realisieren kann.
Vielen Dank schon mal.
local f = CreateFrame("Frame")
-- Event-Handler für das "UNIT_AURA"-Event
local function OnUnitAuraUpdate(self, event, unit)
if unit and (UnitIsUnit(unit, "raid" .. self:GetID()) or UnitIsUnit(unit, "party" .. self:GetID())) then
UpdateHealingBar(self)
end
end
-- Funktion zur Aktualisierung des Heilungsbalkens
local function UpdateHealingBar(frame)
local healthBar = _G[frame:GetName() .. "HealthBar"]
local _, maxHealth = healthBar:GetMinMaxValues()
local incomingHeals = UnitGetIncomingHeals(frame.unit) or 0
local totalHeal = UnitHealth(frame.unit) + incomingHeals
local percentHeal = totalHeal / maxHealth
if percentHeal > 1 then
percentHeal = 1
end
healthBar:SetStatusBarColor(0, 1, 0) -- Grüne Farbe für Heilung
healthBar:SetValue(percentHeal * maxHealth)
end
-- Funktion zur Initialisierung des Addons
local function InitializeAddon()
for i = 1, MAX_RAID_MEMBERS do
local raidFrame = _G["CompactRaidFrame" .. i]
if raidFrame then
raidFrame:RegisterEvent("UNIT_AURA")
raidFrame:SetScript("OnEvent", OnUnitAuraUpdate)
end
local partyFrame = _G["CompactPartyFrameMember" .. i]
if partyFrame then
partyFrame:RegisterEvent("UNIT_AURA")
partyFrame:SetScript("OnEvent", OnUnitAuraUpdate)
end
end
end
-- Registriere das "PLAYER_LOGIN"-Event, um das Addon zu initialisieren
f:RegisterEvent("PLAYER_LOGIN")
f:SetScript("OnEvent", function()
InitializeAddon()
end)