Macro 1:
/run function sp(f,i) tr="TOPRIGHT";f2=f.debuffFrames;s=f2[1]:GetWidth();f3=f2[i];f3:SetSize(s,s);f3:ClearAllPoints();if i>6 then f3:SetPoint("BOTTOMRIGHT",f2[i-3],tr,0,0) else f3:SetPoint(tr,f2[1],tr,-(s*(i-3)),0) end end
Macro 2:
/run function CBF(f,i) bf=CreateFrame("Button",f:GetName().."Debuff"..i,f,"CompactDebuffTemplate");bf.baseSize=22;bf:SetSize(f.buffFrames[1]:GetSize()) end;function mv(f) for i=4,12 do sp(f,i) end end
Macro 3:
/run function mv3(f) CompactUnitFrame_SetMaxDebuffs(f,12); if not f.debuffFrames[4] then for i=4,12 do CBF(f,i) end end mv(f) end;hooksecurefunc("CompactUnitFrame_UpdateAuras",function(f) n=f:GetName() if n and n:match("^Compact") then mv3(f) end end);
매크로 3개 이구요. 레이드 프레임에 디버프 갯수 제한 푸는 매크로 입니다.
캐릭 로그인하면 자동으로 1번 실행해주게 간단한 lua 매크로 만들고 싶은데요.
여기 들어가서 /run 빼고
이것을 보고
local frame=CreateFrame('frame')
frame:RegisterEvent('PLAYER_LOGIN')
frame:SetScript('OnEvent',function()
function sp(f,i) tr="TOPRIGHT";f2=f.debuffFrames;s=f2[1]:GetWidth();f3=f2[i];f3:SetSize(s,s);f3:ClearAllPoints();if i>6 then f3:SetPoint("BOTTOMRIGHT",f2[i-3],tr,0,0) else f3:SetPoint(tr,f2[1],tr,-(s*(i-3)),0) end
function CBF(f,i) bf=CreateFrame("Button",f:GetName().."Debuff"..i,f,"CompactDebuffTemplate");bf.baseSize=22;bf:SetSize(f.buffFrames[1]:GetSize()) end;function mv(f) for i=4,12 do sp(f,i) end
function mv3(f) CompactUnitFrame_SetMaxDebuffs(f,12); if not f.debuffFrames[4] then for i=4,12 do CBF(f,i) end end mv(f) end;hooksecurefunc("CompactUnitFrame_UpdateAuras",function(f) n=f:GetName() if n and n:match("^Compact") then mv3(f) end
end)
frame:UnregisterEvent('PLAYER_LOGIN')
이렇게 만들어봤습니다.
오류가 뜨네요.. 애드온 하나 만드는거 도와주십시오.