매크로 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[공통] 스크립트 애드온 관련 질문입니다.

아이콘 퍼티
조회: 314
2014-01-20 16:27:56
-- Buff Filter
buff={126700,53365,125489};bVal={85,-30,25,5};nBuff=5;

f=CreateFrame("frame");f:SetAllPoints();function checkBuff(unit,id) return UnitBuff(unit,GetSpellInfo(id)) end;

function mString(name,size) f.s=f:CreateFontString(name,"BORDER");f.s:SetFont("Fonts//2002B.TTF",size,0); return f.s;end;

function mFrame(name,size) f.t=f:CreateTexture("F"..name,"BORDER") f.t:SetSize(size,size) f.c=mString("S"..name,15);f.c:SetPoint("Bottom",f.t,"Top",0,0);f.c=mString("C"..name,14);f.c:SetPoint("Topleft",f.t,"Bottom",-3,13);end;

function Act(name,id,count)_G["F"..name]:SetTexture(GetSpellTexture(id));if(count>1)then _G["C"..name]:SetText(count);else _G["C"..name]:SetText("");end;end;

function MakeFrame(name,num,val)local x=val[1];for i=1,num do mFrame(name..i,val[3]);_G["F"..name..i]:SetPoint("Center", x,val[2]);x=x+val[3]+val[4]end;end;

function Buff(s,e, unit) if(unit=="player")then local num=1;for i=1,#buff do a={checkBuff(unit,buff[i])};if(a[1])then Act("B"..num,buff[i],a[4]);num=num+1;end;end;for i=num,nBuff do _G["FB"..i]:SetTexture("");_G["CB"..i]:SetText("");end;end;end;

function BuffStr() num=1;for i=1,#buff do a={checkBuff("player",buff[i])};if(a[1])then _G["SB"..num]:SetText(floor(a[7]-GetTime()));num=num+1;end;end;for i=num,nBuff do _G["SB"..i]:SetText("");end;end;

MakeFrame("B", nBuff, bVal);f:SetScript("OnEvent",Buff) f:RegisterEvent("UNIT_AURA");f:SetScript("OnUpdate", BuffStr);


-- Buff Filter
buff={126700,53365,125489};bVal={50,-20,35,5};
function checkBuff(unit,id) return UnitBuff(unit,GetSpellInfo(id)) end;
function mFrame(id) f=CreateFrame("frame") f:SetSize(bVal[3],bVal[3]) f.t=f:CreateTexture(nil,"BORDER") f.t:SetAllPoints() f.t:SetTexture(GetSpellTexture(id)) return f;end;
bFrame = {}; for i=1,#buff do bFrame[i] = mFrame(buff[i]) bFrame[i]:Hide() end ;
function Act(frame, offset, val) frame:Show();frame:SetPoint("CENTER",offset+val[1],val[2]);end;
function Buff(self,e, unit) if(unit=="player")then for i=1,#buff do bFrame[i]:Hide();end;local x=bVal[1];for i=1,#buff do if(checkBuff(unit,buff[i]))then Act(bFrame[i],x,bVal) x=x+bVal[3]+bVal[4]end;end;end;end;
f=CreateFrame("frame")
f:SetScript("OnEvent",Buff) f:RegisterEvent("UNIT_AURA")
function BuffStr() num=1;for i=1,#buff do a={checkBuff("player",buff[i])};if(a[1])then _G["SB"..num]:SetText(floor(a[7]-GetTime()));num=num+1;end;end;for i=num,nBuff do _G["SB"..i]:SetText("");end;end;


옛 고대인님께서 올려주신 버프필터 매크로애드온 입니다.
위에꺼는 버프시간이 나타나고 아래꺼는 안되는 건데요..
위에껄 쓰고싶지만 써보니 메모리 상승압박이 장난아니더군요.. 아래꺼는 메모리 고정이구요

혹시 아래매크로에 버프시간이 나타나게 할수있을지요?
아니면 위매크로 메모리압박의 문제가 뭔지좀 알고싶습니다..



Lv42 퍼티

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 와우
  • 게임
  • IT
  • 유머
  • 연예
AD