검색하여 lua로 애드온을 만들어

대상의 유닛프레임에 숫자와 %를 둘다 나타내서 잘 사용하고 있습니다.

 

그러던 중에

 

자신 프레임과 주시대상의 프레임도 그렇게 만들고 싶어 같은 방식으로 플레이어 프레임과 포커스 프레임에 같은 명령어로 작성해서 추가했더니

 

맨 마지막에 추가한 프레임만 적용이 되고 앞에 두개(여기서는 대상과 플레이어네요..)는 숫자만 나오는 상태로 돌아갑니다.

 

일단 제가 쓴 lua 구문들 다 써봅니다.

 

--유닛프레임강화(타겟)

TF=CreateFrame("Frame")TFHB=TargetFrameHealthBar.TextString;local placeValue = ("%%.%df"):format(places or 0);function TTSB(num) if num >= 1000 then return placeValue:format(num / 1000).."k"; else return num; end; end

TF:SetScript("OnUpdate", function(target)TFHB:SetText(TTSB(UnitHealth("target")).."/"..TTSB(UnitHealthMax("target")).." ("..format("%.0f", ((UnitHealth("target")/UnitHealthMax("target"))*100)).."%)") end)


 

--유닛프레임강화(플레이어)

 

TF=CreateFrame("Frame")TFHB=PlayerFrameHealthBar.TextString;local placeValue = ("%%.%df"):format(places or 0);function TTSB(num) if num >= 1000 then return placeValue:format(num / 1000).."k"; else return num; end; end

TF:SetScript("OnUpdate", function(player)TFHB:SetText(TTSB(UnitHealth("player")).."/"..TTSB(UnitHealthMax("player")).." ("..format("%.0f", ((UnitHealth("player")/UnitHealthMax("player"))*100)).."%)") end)


 

--유닛프레임강화(주시)

 

TF=CreateFrame("Frame")TFHB=FocusFrameHealthBar.TextString;local placeValue = ("%%.%df"):format(places or 0);function TTSB(num) if num >= 1000 then return placeValue:format(num / 1000).."k"; else return num; end; end

TF:SetScript("OnUpdate", function(focus)TFHB:SetText(TTSB(UnitHealth("focus")).."/"..TTSB(UnitHealthMax("focus")).." ("..format("%.0f", ((UnitHealth("focus")/UnitHealthMax("focus"))*100)).."%)") end)

 

3개의 프레임을 한꺼번에 숫자, %를 나타내려면 어떤식으로 해야하는 지요?

그리고 플레이어프레임은 숫자를 k로 축약하지 않고 풀로 다쓰고 싶은데 어떻게 바꾸면 될까요?