《魔兽世界(WOW)台服》【心得】分享目前使用的脚本宏/巨集和来源网址
更新时间:1601453020 | 来源:巴哈姆特
以下所有巨集皆来自网路,本人只提出部分分享
来源网址
-------------------------------------
观看开始前为方便各位请点击右上方的开启图片
简易使用说明
可以先将巨集複製存入TXT,使用时,剪下贴上使用
每一个/run开头请单独使用
进阶使用(lua)
步骤一
建立一个Folder
名称设为Myaddon
步骤二
在Myaddon里,建立两个files名称为
Myaddon.toc
Myaddon.lua
步骤三(后方<--为说明,使用时请自行删除)
在Myaddon.toc内写入
## Interface: 40300 <--版本名称
## Title: MyAddon <--游戏内UI显示名称
## Notes:Myaddon <--简易说明
Myaddon.lua
步骤四
在myaddon.lua内写入所有要使用的巨集 (需自行删除巨集开头"/run " and "/script)
步骤五
将Myaddon移动至/interface/addons内即可使用
-------------------------------------
因回覆有人提出,我在这也写上如何查询技能编号
我个人使用的查询网站是http://wow.magelo.com
左下方可见 法术 选项,进入后可在上方选择 职业
下方点击你要查询的技能,此时网址后头会显示有一排数字,该排数字正是技能编号
-------------------------------------
DK符文移动并放大(红色为X,Y) 此巨集无法长期固定位置,需设巨集自行移动
/run RuneFrame:SetScript("OnShow", nil) RuneFrame:SetParent(UIParent) RuneFrame:ClearAllPoints() RuneFrame:SetPoint("CENTER",UIParent,"CENTER",0,-80) RuneFrame:SetScale(1.8)
显示竞技场血条
/run LoadAddOn("Blizzard_ArenaUI")
/run ArenaEnemyFrames:Show(); ArenaEnemyFrame1:Show(); ArenaEnemyFrame2:Show(); ArenaEnemyFrame3:Show();ArenaEnemyFrame1CastingBar:Show();ArenaEnemyFrame2CastingBar:Show();ArenaEnemyFrame3CastingBar:Show()
竞技场对方血条移动(红色为X,Y)
/run ArenaEnemyFrame1:ClearAllPoints();ArenaEnemyFrame1:SetPoint("CENTER", UIParent,"TOP", 280,-350)
interruptabr监视
(红色为监视的技能名称,黄色为监视的技能CD)
(绿色为可修改的,IC=大小,XP=X轴,YP=Y轴,n=排列数)
/run li={2139,19647,57994,48707,8143,8122,6552,1766,96231,47528,80965,44572}cd={24,24,5,45,60,27,10,10,10,10,10,45}
/run fl=0;ic=40;xp=-500;yp=320;n=6;sfc=CooldownFrame_SetTimer;crf=CreateFrame;ce=math.ceil;ih=IsInInstance;gsi=GetSpellInfo;up=UIParent pe="PLAYER_ENTERING_WORLD"cdf="Cooldown"
/run function cf(i,s,x,y)local _,_,t=gsi(s)local f=crf("Frame",nil,up)f:SetPoint("CENTER",x,y)f:SetSize(ic,ic)f.t = f:CreateTexture(nil,"BORDER")f.t:SetAllPoints(true)f.t:SetTexture(t)f.c=CreateFrame(cdf,nil,f)f.c:SetAllPoints(f)return f;end
/run function ud(f,ls,lc)f:SetScript("OnEvent",function(_,_,_,e,_,_,_,b,_,_,_,_,_,s)if((bit.band(b,0x40) == 0x40)and e=="SPELL_CAST_SUCCESS"and s==ls)then sfc(f.c,GetTime(),lc,1)end end)f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")end
/run for i,s in ipairs(li)do _G["ib"..i] = cf(i,s,xp+(ic+5)*ce((i-1)%n),yp-(ic+5)*ce(i/n))ud(_G["ib"..i],s,cd[i])end
/run ik=crf("Frame")ik:SetScript("OnEvent",function()local _,t=ih()for i,s in ipairs(li)do local f=_G["ib"..i]if(t=="arena"or fl==0)then f:Show()f.c:Show()else f:Hide()f.c:Hide()end end end)ik:RegisterEvent(pe)
Omnicc(CD显示)
/run cs=20;ps=10;ctp="CENTER"ptp="BOTTOMRIGHT"cp=5;ct=UNIT_NAME_FONT;crt=2;cDB={}action={}ccf=CreateFrame;gac=GetActionCooldown;ol="OUTLINE"cpe="PLAYER_ENTERING_WORLD"cau="ACTIONBAR_UPDATE_COOLDOWN"co="OnUpdate"
/run function rt(f)f.e=nil f.t:SetText("")f:SetScript(co,nil)end function sf(f,v)f.t:SetFont(ct,f.s*v,ol)end function acv(b)local x=b.cooldown x.a=b.action action[x]=x end function scv(p,f,po,s)if(s>1)then f.t:SetPoint(po,p)end f.s=s;end
/run function sr(f,e)if(e>60)then sf(f,0.7)if(f.s==cs)then return"%d:%02d",e,e else return"%dm",e+60,e end elseif(e>=cp)then sf(f,1)f.t:SetTextColor(1,1,0,1)return"%d",e elseif(e>0)then sf(f,0.9)f.t:SetTextColor(1,0,0,1)return"%.1f",e else return end end
/run function suc(f)if not f.e then f.e=1;f:SetScript(co,function(s,e)f.c=f.c+e;local fo,v1,v2=sr(f,f.r-f.c)if not fo then rt(f)elseif not v2 then f.t:SetFormattedText(fo,v1)else f.t:SetTextColor(1,1,1,1)f.t:SetFormattedText(fo,v1/60,v2%60)end end)end end
/run function scs(p,f)if(p:GetSize()<35)then scv(p,f,ptp,ps)else scv(p,f,ctp,cs)end end function gict(f)local c=ccf("Frame",nil,f)c:SetFrameLevel(f:GetFrameLevel()+5)c.t=c:CreateFontString(nil,"OVERLAY")c.t:SetAllPoints(c)scs(f:GetParent(),c)return c;end
/run function gct(f)if not cDB[f]then local c=gict(f)c:SetSize(c.s*crt,c.s*crt)sf(c,1)cDB[f]=c;end return cDB[f]end function cvf(f,s,d)local c=gct(f)if(s and d)then c.b=s;c.d=d;if(s>0 and d>1.5)then c.c=0;c.r=d-(GetTime()-s);suc(c)else rt(c)end end end
/run function cvc(DB)for c in pairs(DB)do if c.a then local s,d=gac(c.a)cvf(c,s,d)end end end function pcv(_,e)if e==cau then cvc(action)else cvc(cDB)end end for _,b in pairs(ActionBarButtonEventsFrame.frames)do acv(b)end
/run vc=ccf("Frame")vc:SetScript("OnEvent",pcv)vc:RegisterEvent(cpe)vc:RegisterEvent(cau)hooksecurefunc(getmetatable(ActionButton1Cooldown).__index,"SetCooldown",cvf)hooksecurefunc("SetActionUIButton",acv)
LoseContron(在竞技场对方血条右方显示控制技能)
/run RMP={[8122]=1,[408]=1,[1833]=1,[6770]=1,[2094]=1,[118]=1,[82691]=1,[71757]=1,[12598]=1,[122]=1,[33395]=1,[83302]=1,[76577]=1,[12357]=1,[44572]=1,[55021]=1};
/run LC={[33786]=1,[24259]=1,[3355]=1,[42964]=1,[85388]=1,[5782]=1,[82691]=1,[64044]=1,[5484]=1,[20511]=1,[118]=1,[51514]=1,[5211]=1,[8122]=1,[408]=1,[1776]=1,[44572]=1,[19503]=1,[9005]=1,[22570]=1,[853]=1,[90337]=1,[55021]=1,[15487]=1,[47476]=1};
/run table.insert(LC, 7922, 1);table.insert(LC, 1833, 1);table.insert(LC, 1330, 1);table.insert(LC, 2094, 1);table.insert(LC, 6770, 1);table.insert(LC, 80354, 1)
/run d="Debuff";TT="TargetDebuffFrameTemplate";L="LEFT";R="RIGHT";F="Frame";UA="UNIT_AURA";OE="OnEvent";AR="arena";UD=UnitDebuff;AE="ArenaEnemyFrame";d1="Debuff1";D=RefreshDebuffs;CF=CreateFrame;BO="Border";T="TOP";B="BOTTOM"
/run g1=CF(F);g1:RegisterEvent(UA);g2=CF(F);g2:RegisterEvent(UA);g3=CF(F);g3:RegisterEvent(UA);h1=CF(F);h1:RegisterEvent(UA);h2=CF(F);h2:RegisterEvent(UA);h3=CF(F);h3:RegisterEvent(UA);q1=CF(F);q1:RegisterEvent(UA);q2=CF(F);q2:RegisterEvent(UA)
/run function DoDebuffs(f,aura,template,R1,R2) for j=1,16 do local l = f:GetName()..aura;local n=l..j;local c=CF(F,n,f,template);c.unit=f.unit;c:SetPoint(R1,_G[l..(j-1)],R2);_G[n..BO]:SetAlpha(0);end end
/run f1=_G[AE.."1"]; g1:SetScript(OE,function(self,event,a1) if a1==f1.unit then D(f1,a1,16,nil,1);end end) DoDebuffs(f1,d,TT,L,R) local b=_G[f1:GetName()..d1];b:ClearAllPoints();b:SetPoint(L,f1,R,2,-2);
/run f2=_G[AE.."2"]; g2:SetScript(OE,function(self,event,a2) if a2==f2.unit then D(f2,a2,16,nil,1);end end) DoDebuffs(f2,d,TT,L,R) local b=_G[f2:GetName()..d1];b:ClearAllPoints();b:SetPoint(L,f2,R,2,-2);
/run f3=_G[AE.."3"]; g3:SetScript(OE,function(self,event,a3) if a3==f3.unit then D(f3,a3,16,nil,1);end end) DoDebuffs(f3,d,TT,L,R) local b=_G[f3:GetName()..d1];b:ClearAllPoints();b:SetPoint(L,f3,R,2,-2);
/run h1:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD(AR.."1",j);q=f1:GetName()..d..j if (not RMP[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(1.4);end end end)
/run h2:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD(AR.."2",j);q=f2:GetName()..d..j if (not RMP[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(1.4);end end end)
/run h3:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD(AR.."3",j);q=f3:GetName()..d..j if (not RMP[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(1.4);end end end)
/run p1=_G["PlayerFrame"]; q1:SetScript(OE,function(self,event,a1) if a1==p1.unit then D(p1,a1,16,nil,1);end end) DoDebuffs(p1,d,TT,T,B) local b=_G[p1:GetName()..d1];b:ClearAllPoints();b:SetPoint("CENTER", 55, 46.5);b.SetPoint = function() end
/run q2:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD("player",j);q=p1:GetName()..d..j if (not LC[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(2);end end end)/run RMP={[8122]=1,[408]=1,[1833]=1,[6770]=1,[2094]=1,[118]=1,[82691]=1,[71757]=1,[12598]=1,[122]=1,[33395]=1,[83302]=1,[76577]=1,[12357]=1,[44572]=1,[55021]=1};
/run LC={[33786]=1,[24259]=1,[3355]=1,[42964]=1,[85388]=1,[5782]=1,[82691]=1,[64044]=1,[5484]=1,[20511]=1,[118]=1,[51514]=1,[5211]=1,[8122]=1,[408]=1,[1776]=1,[44572]=1,[19503]=1,[9005]=1,[22570]=1,[853]=1,[90337]=1,[55021]=1,[15487]=1,[47476]=1};
/run table.insert(LC, 7922, 1);table.insert(LC, 1833, 1);table.insert(LC, 1330, 1);table.insert(LC, 2094, 1);table.insert(LC, 6770, 1);table.insert(LC, 80354, 1)
/run d="Debuff";TT="TargetDebuffFrameTemplate";L="LEFT";R="RIGHT";F="Frame";UA="UNIT_AURA";OE="OnEvent";AR="arena";UD=UnitDebuff;AE="ArenaEnemyFrame";d1="Debuff1";D=RefreshDebuffs;CF=CreateFrame;BO="Border";T="TOP";B="BOTTOM"
/run g1=CF(F);g1:RegisterEvent(UA);g2=CF(F);g2:RegisterEvent(UA);g3=CF(F);g3:RegisterEvent(UA);h1=CF(F);h1:RegisterEvent(UA);h2=CF(F);h2:RegisterEvent(UA);h3=CF(F);h3:RegisterEvent(UA);q1=CF(F);q1:RegisterEvent(UA);q2=CF(F);q2:RegisterEvent(UA)
/run function DoDebuffs(f,aura,template,R1,R2) for j=1,16 do local l = f:GetName()..aura;local n=l..j;local c=CF(F,n,f,template);c.unit=f.unit;c:SetPoint(R1,_G[l..(j-1)],R2);_G[n..BO]:SetAlpha(0);end end
/run f1=_G[AE.."1"]; g1:SetScript(OE,function(self,event,a1) if a1==f1.unit then D(f1,a1,16,nil,1);end end) DoDebuffs(f1,d,TT,L,R) local b=_G[f1:GetName()..d1];b:ClearAllPoints();b:SetPoint(L,f1,R,2,-2);
/run f2=_G[AE.."2"]; g2:SetScript(OE,function(self,event,a2) if a2==f2.unit then D(f2,a2,16,nil,1);end end) DoDebuffs(f2,d,TT,L,R) local b=_G[f2:GetName()..d1];b:ClearAllPoints();b:SetPoint(L,f2,R,2,-2);
/run f3=_G[AE.."3"]; g3:SetScript(OE,function(self,event,a3) if a3==f3.unit then D(f3,a3,16,nil,1);end end) DoDebuffs(f3,d,TT,L,R) local b=_G[f3:GetName()..d1];b:ClearAllPoints();b:SetPoint(L,f3,R,2,-2);
/run h1:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD(AR.."1",j);q=f1:GetName()..d..j if (not RMP[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(1.4);end end end)
/run h2:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD(AR.."2",j);q=f2:GetName()..d..j if (not RMP[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(1.4);end end end)
/run h3:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD(AR.."3",j);q=f3:GetName()..d..j if (not RMP[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(1.4);end end end)
/run p1=_G["PlayerFrame"]; q1:SetScript(OE,function(self,event,a1) if a1==p1.unit then D(p1,a1,16,nil,1);end end) DoDebuffs(p1,d,TT,T,B) local b=_G[p1:GetName()..d1];b:ClearAllPoints();b:SetPoint("CENTER", 70, 46.5);b.SetPoint = function() end
/run q2:SetScript(OE,function(self,event,a1)for j=1,16 do _,_,_,_,_,_,_,_,_,_,id=UD("player",j);q=p1:GetName()..d..j if (not LC[id]) then _G[q]:Hide();_G[q]:SetScale(.01);else _G[q]:Show();_G[q]:SetScale(2);end end end)
徽章监视
/run USS="UNIT_SPELLCAST_SUCCEEDED";OE="OnEvent";PvP="Interface\\Icons\\inv_jewelry_trinketpvp_01";F="Frame";CF=CreateFrame;BO="Border";PvPT="PvP Trinket";EMFH="Every Man for Himself";UC=UnitClass;AE="ArenaEnemyFrame"
/run function TrS(f,x,y,cd,T,s,h,n) f:SetPoint("LEFT",AE..n,"Right",x,y)f:SetSize(s,s)f.c=CF("Cooldown",cd)f.c:SetAllPoints(f)f.t=f:CreateTexture(nil,BO)f.t:SetAllPoints()f.t:SetTexture(T);if h then end f:RegisterEvent(USS) end
/run function Tr(f,cd,U,N,T)if(U==T and (N==PvPT or N==EMFH))then f:Show();CooldownFrame_SetTimer(cd,GetTime(),120,1) C=UC(T)end end
/run t1=CF(F);TrS(t1,0,0,"cd1",PvP,28,true,1);t2=CF(F);TrS(t2,0,0,"cd2",PvP,28,true,2);t3=CF(F)TrS(t3,0,0,"cd3",PvP,28,true,3)
/run t1:SetScript(OE,function(_,_,U,N)Tr(t1,cd1,U,N,"arena1")end);t2:SetScript(OE,function(_,_,U,N)Tr(t2,cd2,U,N,"arena2")end);t3:SetScript(OE,function(_,_,U,N)Tr(t3,cd3,U,N,"arena3")end)
显示职业头像
/run UFP = "UnitFramePortrait_Update"; UICC = "Interface\\TargetingFrame\\UI-Classes-Circles"; CIT = CLASS_ICON_TCOORDS;SP,CA="SetPoint","ClearAllPoints";NO=function() end
/run hooksecurefunc(UFP,function(s) if s.portrait then if UnitIsPlayer(s.unit) then local t=CIT[select(2,UnitClass(s.unit))] if t then s.portrait:SetTexture(UICC) s.portrait:SetTexCoord(unpack(t)) end else s.portrait:SetTexCoord(0,1,0,1) end end end)
对方DEBUFF放大(lua)
local function UpdateTargetAuraPositions(self, auraName, numAuras, numOppositeAuras, largeAuraList, updateFunc, maxRowWidth, offsetX)
local AURA_OFFSET_Y = 3;
local LARGE_AURA_SIZE = 30;
local SMALL_AURA_SIZE = 20;
local size;
local offsetY = AURA_OFFSET_Y;
local rowWidth = 0;
local firstBuffOnRow = 1;
for i=1, numAuras do
if ( largeAuraList[i] ) then
size = LARGE_AURA_SIZE;
offsetY = AURA_OFFSET_Y + AURA_OFFSET_Y;
else
size = SMALL_AURA_SIZE;
end
if ( i == 1 ) then
rowWidth = size;
self.auraRows = self.auraRows + 1;
else
rowWidth = rowWidth + size + offsetX;
end
if ( rowWidth > maxRowWidth ) then
updateFunc(self, auraName, i, numOppositeAuras, firstBuffOnRow, size, offsetX, offsetY);
rowWidth = size;
self.auraRows = self.auraRows + 1;
firstBuffOnRow = i;
offsetY = AURA_OFFSET_Y;
else
updateFunc(self, auraName, i, numOppositeAuras, i - 1, size, offsetX, offsetY);
end
end;
end;
hooksecurefunc("TargetFrame_UpdateAuraPositions", UpdateTargetAuraPositions)
--[[crapcleaner]]
local f = CreateFrame("Frame")
f:SetScript("OnEvent", function()
local c = 0
for b=0,4 do
for s=1,GetContainerNumSlots(b) do
local l = GetContainerItemLink(b, s)
if l then
local p = select(11, GetItemInfo(l))*select(2, GetContainerItemInfo(b, s))
if select(3, GetItemInfo(l))==0 and p>0 then
UseContainerItem(b, s)
PickupMerchantItem()
c = c+p
end
end
end
end
if c>0 then
local g, s, c = math.floor(c/10000) or 0, math.floor((c%10000)/100) or 0, c%100
DEFAULT_CHAT_FRAME:AddMessage("Your vendor trash has been sold and you earned".." |cffffffff"..g.."|cffffc125g|r".." |cffffffff"..s.."|cffc7c7cfs|r".." |cffffffff"..c.."|cffeda55fc|r"..".",255,255,255) --"Your vendor trash has been sold and you earned"
end
end)
f:RegisterEvent("MERCHANT_SHOW")
自身BUFF/DEBUFF移动,并且放大
/run BuffFrame:SetScale(1.0) ;BuffFrame:ClearAllPoints () ;BuffFrame:SetParent (MiniMapCluster) ;BuffFrame:SetPoint ("CENTER", 200, 320)
控场递减
/run DRt={{5782,8122,5484,20511,2094},{118,6770,1776,49203,28272,28271,61305,61721,61780,82691,51514}}
/run drx=110;drs=40;dp="RIGHT";dre="COMBAT_LOG_EVENT_UNFILTERED"drp="PLAYER_ENTERING_WORLD"dra="ARENA_OPPONENT_UPDATE"LoadAddOn("Blizzard_ArenaUI")function gaef(f,n)return _G["ArenaEnemyFrame"..n.."HealthBar"]end
/run function rDR(f)f.e=1;f.t:SetTexture(nil)f.c:Hide()end function sDR(f)f.e=f.e+1;f.c:Show()end function gDRt(i,j)return _G["drc"..i..":"..j]end function runDR(f,n)CooldownFrame_SetTimer(f.c,GetTime(),18,1)eDR(f,n)sDR(f)oDR(n)end
/run function eDR(f,n)local t=1;f:SetScript("OnUpdate",function(s,e)t=t+e;if(t>=18)then f:SetScript("OnUpdate",nil)rDR(f)oDR(n)end end)end function cDR(f,n,s)if f.e<4 then local _,_,t=GetSpellInfo(s)f.t:SetTexture(t)runDR(f,n)end end
/run function oDR(n)local r=1;for j in ipairs(DRt)do local f=gDRt(n,j)f:SetPoint(dp,gaef(f,n),dp,drx+(r-1)*50,0)r=r+1;end end function uDR(n,s)for i,t in ipairs(DRt)do for _,j in ipairs(t)do if s==j then cDR(gDRt(n,i),n,s)end end end end
/run function DRc(i,j)local f=CreateFrame("Frame",nil,UIParent)f:SetSize(drs,drs)f.t=f:CreateTexture(nil,"BORDER")f.t:SetAllPoints(true)f.c=CreateFrame("Cooldown",nil,f)f.c:SetAllPoints(f)f.e=1 return f end
/run function clDR(_,e,_,_,_,_,_,d,_,_,_,s)if(e=="SPELL_AURA_REMOVED" or e=="SPELL_AURA_REFRESH")then for i=1,5 do local ag=UnitGUID("arena"..i)if(ag ~= nil and d==ag)then uDR(i,s)end end end end
/run function iDRt(o,m)for i=1,m do for j in ipairs(DRt)do local f=gDRt(i,j)rDR(f)if o then f:Show()end end end end for i=1,5 do for j in ipairs(DRt)do _G["drc"..i..":"..j]=DRc(i,j)end end
/run dt=CreateFrame("Frame")dt:SetScript("OnEvent",function(_,e,...)if e==dre then clDR(...)elseif e==dra then iDRt(1,GetNumArenaOpponents())else iDRt(nil,5)end end)dt:RegisterEvent(dra)dt:RegisterEvent(drp)dt:RegisterEvent(dre)
Woundman 目标和焦点战斗中监视
/run CTT=CreateFrame("Frame")CTT:SetParent(TargetFrame)CTT:SetPoint("Right",TargetFrame,2,5)CTT:SetSize(35,35)CTT.t=CTT:CreateTexture(nil,BORDER)CTT.t:SetAllPoints()CTT.t:SetTexture("Interface\\Icons\\ABILITY_DUALWIELD")CTT:Hide()
/run local function FrameOnUpdate(self) if UnitAffectingCombat("target") then self:Show() else self:Hide() end end local g = CreateFrame("Frame") g:SetScript("OnUpdate", function(self) FrameOnUpdate(CTT) end)
/run CFT=CreateFrame("Frame")CFT:SetParent(FocusFrame)CFT:SetPoint("Left",FocusFrame,-30,5)CFT:SetSize(35,35)CFT.t=CFT:CreateTexture(nil,BORDER)CFT.t:SetAllPoints()CFT.t:SetTexture("Interface\\Icons\\ABILITY_DUALWIELD")CFT:Hide()
/run local function FrameOnUpdate(self) if UnitAffectingCombat("focus") then self:Show() else self:Hide() end end local g = CreateFrame("Frame") g:SetScript("OnUpdate", function(self) FrameOnUpdate(CFT) end)
/run b = 'Buff' st = 'Stealable' mM = '' mB = maxBuffs TFUA = 'TargetFrame_UpdateAuras' PFu = PlayerFrame.unit MTB = MAX_TARGET_BUFFS UB = UnitBuff UIE = UnitIsEnemy
/run hooksecurefunc(TFUA,function(s) sN=s:GetName() iE=UIE(PFu, s.unit) for i=1,MTB do _,_,ic,_,dT = UB(s.unit,i) fN=sN..b..i if(ic and(not s.mB or i<=s.mB))then fS=_G[fN..st] if(iE and dT==mM)then fS:Show() else fS:Hide() end end end end)
法术触发特效
/run SAF = SpellActivationOverlayFrame FOS = "TEXTURES\\SPELLACTIVATIONOVERLAYS\\FURY_OF_STORMRAGE.BLP" SAS = SpellActivationOverlay_ShowOverlay SAH = SpellActivationOverlay_HideOverlays PSF=CreateFrame("FRAME")
/run PSF:RegisterEvent("UNIT_AURA");PSF:SetScript('OnEvent',function() o=0 for i=1,40 do _,_,_,_,_,_,_,_,_,_,id=UnitAura("Player",i) if id==92108 then SAS(SAF,92108,FOS,"TOP",1,255,255,255,false,false) o=1 end end if o==0 then SAH(SAF,92108) end end)
自身技能监视
/run bl={57934,51713,5171,73651,31224,5277,1966,74001,11426,543,12472}
/run bs=28;xb=-208;yb=170;br=6;bdr="BORDER"be="UNIT_AURA"cbf=CreateFrame;gi=GetSpellInfo;bm=math.ceil;fm=math.floor;st=STANDARD_TEXT_FONT;function cu(s) return UnitBuff("player",gi(s))end
/run function Cb(i,s)local _,_,t3=gi(s)local f=cbf("Frame")f:SetSize(bs,bs)f.t=f:CreateTexture(nil,bdr)f.t:SetAllPoints(true)f.t:SetTexture(t3)f.f=f:CreateFontString(nil,bdr)f.f:SetFont(st,12,"OUTLINE")f.f:SetPoint("BOTTOMRIGHT",0,0)return f;end
/run function vb(s,i,row)local b1,_,_,b4=cu(s)local f=_G["B"..i]if b1 then f:Show()f:SetPoint("CENTER",xb+(bs+5)*bm((row-1)%br),yb-(bs+10)*bm(row/br))if(b4>1)then f.f:SetText(b4)end row=row+1;end return row;end
/run function ub()for i,s in ipairs(bl)do local b,_,_,_,_,_,k=cu(s)if b then local vt=fm(k-GetTime())if (vt>=60)then vt=bm(vt/60)_G["B"..i].c:SetText(vt.."m")elseif vt >= 0 then _G["B"..i].c:SetText(vt.."s")end end end end
/run function Cc(f)f.c=f:CreateFontString(nil,bdr)f.c:SetFont(st,14,"OUTLINE")f.c:SetPoint("CENTER",0,20)end function db()for i in ipairs(bl)do _G["B"..i]:Hide()end end
/run for i,s in ipairs(bl)do _G["B"..i]=Cb(i,s)Cc(_G["B"..i])_G["B"..i]:Hide()end function bb()db()local bw=1;for i,s in ipairs(bl)do bw=vb(s,i,bw)end end bk=cbf("Frame")bk:SetScript("OnEvent",bb)bk:SetScript("OnUpdate",ub)bk:RegisterEvent(be)
未补上的图片有时间在补上
※ 引述《cy8069 (路过的人)》之铭言
> 以下所有巨集皆来自网路,本人只提出部分分享
>)
> 步骤一
> 建立一个Folder ~~~~~这是什幺意思,可以请说中文或用电脑会出现的文字说明好吗
> 名称设为Myaddon ~~~同上
> 步骤二
> 在Myaddon里,建立两个files名称为~~~ file是新增资料夹吗
> Myaddon.toc ~~~~是新增资料夹的名称吗??我真的是电脑白痴所以不懂
> Myaddon.lua ~~~
> 步骤三(后方<--为说明,使用时请自行删除)
> 在Myaddon.toc内写入 ~~~~ 资料夹怎幺写入??
> ## Interface: 40300 <--版本名称
> ## Title: MyAddon <--游戏内UI显示名称
> ## Notes:Myaddon <--简易说明
> Myaddon.lua
> 步骤四
> 在myaddon.lua内写入所有要使用的巨集 (需自行删除巨集开头"/run " and "/script) ~~~~同上
> 以下所有巨集皆来自网路,本人只提出部分分享
>)
> 步骤一
> 建立一个Folder ~~~~~这是什幺意思,可以请说中文或用电脑会出现的文字说明好吗
> 名称设为Myaddon ~~~同上
> 步骤二
> 在Myaddon里,建立两个files名称为~~~ file是新增资料夹吗
> Myaddon.toc ~~~~是新增资料夹的名称吗??我真的是电脑白痴所以不懂
> Myaddon.lua ~~~
> 步骤三(后方<--为说明,使用时请自行删除)
> 在Myaddon.toc内写入 ~~~~ 资料夹怎幺写入??
> ## Interface: 40300 <--版本名称
> ## Title: MyAddon <--游戏内UI显示名称
> ## Notes:Myaddon <--简易说明
> Myaddon.lua
> 步骤四
> 在myaddon.lua内写入所有要使用的巨集 (需自行删除巨集开头"/run " and "/script) ~~~~同上
我真的很想监视敌人DEBUFF的东西,内建的在头像下方而且小到爆
有人有UI可以提供吗谢谢
> 我真的很想监视敌人DEBUFF的东西,内建的在头像下方而且小到爆
> 有人有UI可以提供吗谢谢
如果是巨集的话
有把DEBUFF放大的
我稍后会在编辑上
不好意思我的电脑是英文版的,有些中文名称不常用所以可能打起来不一定正确
步骤一
> 建立一个Folder (Folder=资料夹)
> 建立一个Folder (Folder=资料夹)
> 名称设为Myaddon (资料夹创立时使用的名称)
> 步骤二
> 在Myaddon里,建立两个files名称为~~~ (files是档案,妳也可以创立一个txt档)
> Myaddon.toc (创立的档案名称)
> Myaddon.lua (创立的档案名称)
> 步骤三(后方<--为说明,使用时请自行删除)
> 在Myaddon.toc内写入 (使用txt开启)
> ## Interface: 40300 <--版本名称
> ## Title: MyAddon <--游戏内UI显示名称
> ## Notes:Myaddon <--简易说明
> Myaddon.lua
> 步骤四
> 在myaddon.lua内写入所有要使用的巨集 (需自行删除巨集开头"/run " and "/script) (我上头所发的巨集都可以写入在myaddon.lua这个档案内,这样开启魔兽的时候就不用逐一将巨集脚本输入)
1.LoseContron(在竞技场对方血条右方显示控制技能)
此是指 在头像上 还是勋章右边~
2.可否再提供竞技场框架 的施法条(例如奶油用的)
3.可否再提供竞技场框架 的控制递减
4.头像框架,可否显示"战斗状态"
非常感谢~ GP先送上
1.就像楼上提供图片里面的肾击 (职业头像 > 变成肾击图示or 其他控制图示)
类似 PortraitTimers 头像显示控制技能 这个UI
http://wowui.178.com/ui/781 (FOR 4.3 左岸简体网站,不喜勿入)
http://www.curse.com/addons/wow/auratimers (FOR 4.0)
2. 原厂框架,血条-职业着色
类似 ClassColor Bars
http://www.curse.com/addons/wow/killaclasscolorbars
或是可以帮忙拆开UI内的LUA ,
非常感谢。
-
相关文章
- Related articles
更多
-
热门资讯
- Hot News
更多
- 1 《魔兽世界(WOW)》【问题】战役: 高贵的命运 不能完任
- 2 《魔兽世界(WOW)》【问题】ELVUI 聊天气泡
- 3 《魔兽世界(WOW)》【问题】新手回锅!!请问铭文中的奢华餐桌要怎么取得呢??
- 4 《魔兽世界(WOW)台服》【问题】求救! 怪物血条变透明
- 5 《魔兽世界(WOW)》【插件】Dugi任务高手 - 带你快速冲等解任务
- 6 《魔兽世界(WOW)》【问题】Raider io怎样改回中文介面?
- 7 《魔兽世界(WOW)台服》【问题】请问WeakAuras如何设定萨满监控有无上武器灌魔(风怒、火舌)的BUFF
- 8 《魔兽世界(WOW)》【问题】请问我奥杜亚打到系统通知守护者远古之门开启了...可是
- 9 《魔兽世界(WOW)》【攻略】珠宝设计1 - 600指南
- 10 《魔兽世界(WOW)》【攻略】成就 : 限时邮件的繁体中文WA字串分享
-
热游推荐
- Hot Game
更多
-
游戏视频
- Game Videos
更多
-
- 《黑色沙漠》【黑色沙漠台服】觉醒女拳码率录制测试bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】2021年万圣节活动 我遇见了阴间莎亦_网络游戏热门视频(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】降生 10代梦想马bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】万圣节前夜 韩服城战 天马攻城bilibili(视频)
- 时间:2021-11-12