查看装备耐久的宏:/脚本 local t,x,a,d,m={0,1},{"总计","最低"},0 for i=1,18 do
d,m=GetInventoryItemDurability(i)if m then if d/m<t[2]then t[2]=d/m
x[2]="最低"..GetInventoryItemLink("player",i)end t[1]=m+t[1]a=a+d end end
t[1]=a/t[1]for i=1,2 do ChatFrame1:AddMessage(x[i]..t[i])end
垃圾抛弃宏:/脚本 local a,i,j,l={"要抛弃物品名字1","要抛弃物品名字2"}for i=1,#a do for j=1,114
do l=GetContainerItemLink(j/23,j%23)if l and l:find(a[i])then
PickupContainerItem(j/23,j%23)DeleteCursorItem()end end end
看看你的纸 有多少种动作:先打开试衣间一次,再执行以下代码:
/script DressUpFrame:Show();local s= 2000;local a=
0;DressUpModel:SetScript("OnUpdate", function(self, e)s= s+(e*
1000);self:SetSequenceTime(a, s);if s> 2000 then s=
0;a=a+1;DEFAULT_CHAT_FRAME:AddMessage("第"..a.."号动作开始...") end end)
停止执行:/script DressUpModel:SetScript("OnUpdate",nil)
一键脱/穿装备宏:
脱装备:
自动搜索背包剩余位置脱掉装备
/run?L,Z={16,17,18,1,3,5,6,7,8,9,10},Z?or?{}local?n=Z[1]?and?#Z+1?or?1;for?i=0,4?do?for?j=1,GetContainerNumSlots(i)do?if?not?GetContainerItemLink(i,j)and?L[n]then?Z[n]={i,j}PickupInventoryItem(L[n])PickupContainerItem(i,j)n=n+1;end;end;end
穿装备:
和脱装备宏对应,穿回装备(背包里的装备位置不能动)
/run?for?i=1,#Z?do?if?GetContainerItemLink(Z[i][1],Z[i][2])then?PickupContainerItem(Z[i][1],Z[i][2])PickupInventoryItem(L[i])end;end;Z={}
倒计时喊话宏:
点一下开始,再一下停止
/脚本 T,F=T or 0,F or CreateFrame("frame")if X and i>0 then
X=nil else i=5;X=function()local t=GetTime()if t-T>1 then if i==0 then
F:SetScript("OnUpdate",nil)else SendChatMessage(i,"YELL")i=i-1;T=t end end end
end F:SetScript("OnUpdate",X)
左键点开始,再点重新计数,右键停止
/脚本 i=5;T,F=T or 0,F or
CreateFrame("frame")X=function()local t=GetTime()if t-T>1 then if i==0 or
X==nil then F:SetScript("OnUpdate",nil)else SendChatMessage(i,"YELL")i=i-1;T=t
end end end F:SetScript("OnUpdate",X);
/stopmacro [btn:1]
/脚本
X=nil;
打断提示宏:
自己打断的提示:
/脚本 F=F or
CreateFrame("frame")F:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");F:SetScript("OnEvent",function()if
arg4==UnitName("player")and arg2:sub(-2,-2)=="P"then
SendChatMessage("我打断了"..arg7.."的"..arg13,"yell")end end)
周围所有人的打断提示
/脚本 F=F or
CreateFrame("frame")F:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");F:SetScript("OnEvent",function()if
arg2:sub(-2,-2)=="P"and arg3:sub(5,5)=='0'then
SendChatMessage(arg4.."打断了"..arg7.."的"..arg13,"yell")end end)
取消提示:
/脚本 F:SetScript("OnEvent",nil)
智能拾取宏:
/脚本 hooksecurefunc(LootFrame,"Show",function()local
p,q,t;for i=1,IsAltKeyDown()and 0 or GetNumLootItems()do
_,_,p=GetLootSlotInfo(i)if p~=0 then
_,_,q,_,_,t=GetItemInfo(GetLootSlotLink(i))end if p==0 or(q and(q>0
or"武器"==t))then LootSlot(i)end end end)
自动拾取某件物品版:
/脚本 hooksecurefunc(LootFrame,"Show",function()local
t,p,n={"毛料","魔纹布"}for i=1,IsAltKeyDown()and 0 or GetNumLootItems()do
_,n,p=GetLootSlotInfo(i)for j=1,#n do if p==0 or n==t[j]then LootSlot(i)end end
end end)
BOSS掉落通报宏:历史版本:
/脚本 local n,c,S,t,m={},0,SendChatMessage;for
i=1,GetNumLootItems()do _,_,m,t=GetLootSlotInfo(i)if t>3 then
t=GetLootSlotLink(i)n[t]=n[t] and n[t]+m or m;c=c+1;end;end;if c>0 then for
i,j in pairs(n)do
S(i.."X"..j,"raid")end;S("=总计"..c.."件掉落=","raid")end
修复两件装备同名时的数量统计。
/脚本 local n,t,m,c={}for
i=1,GetNumLootItems()do _,_,m,t=GetLootSlotInfo(i)if t>3 then
t=GetLootSlotLink(i)_,_,c=t:find(".-m:(%d+)")n[c]=n[c] and n[c]+m or
m;end;end;for i,j in pairs(n)do
_,i=GetItemInfo(i)SendChatMessage(i.."X"..j,"raid")end
出售垃圾+修理装备宏:
在商人界面点击出售灰色物品,并自动修装备(优先使用公会银行)
/脚本 local q;if MerchantFrame:IsVisible()then for i=1,114 do
q=GetContainerItemLink(i/23,i%23)if q and q:sub(5,10)=="9d9d9d"then
UseContainerItem(i/23,i%23)end;end;if CanMerchantRepair()then
RepairAllItems(CanGuildBankRepair())end;end
如果不想用公会银行那么
/脚本 local q;if MerchantFrame:IsVisible()then for i=1,114 do
q=GetContainerItemLink(i/23,i%23)if q and q:sub(5,10)=="9d9d9d"then
UseContainerItem(i/23,i%23)end;end;if CanMerchantRepair()then
RepairAllItems()end;end
清理背包宏:在商人界面点宏一次性出售背包里所有灰色物品,其他情况点一下宏摧毁背包里的一件灰色物品,按住alt摧毁背包里所有灰色物品。
/脚本 local q;for i=1,120 do
q=GetContainerItemLink(i/23,i%23)if q and q:sub(5,10)=="9d9d9d"then if
MerchantFrame:IsVisible()then UseContainerItem(i/23,i%23)else
PickupContainerItem(i/23,i%23)DeleteCursorItem()if not IsAltKeyDown()then
break;end;end;end;end
获取鼠标持有物或悬停窗体信息宏:
/run local a,b,c,x,d,e,f=GetCursorInfo()if a then
x=a..":"..b.."" if a=="item"then _,_,_,_,_,d,e,_,f=GetItemInfo(x)x=x..""..c.."
"..d..""..e..""..f elseif c then x=x..c end else
x=GetMouseFocus():GetName()end
DEFAULT_CHAT_FRAME:AddMessage(x)
在这个强力 横行的年代,分享2个很有用的宏:
M语你的目标,告诉他你的近战AP,暴击,还有命中。。
/run
p="player";bap,map=UnitAttackPower(p);rcr=GetCritChance(p);
rhi=GetCombatRating(7);SendChatMessage("本人DD数值:近战AP"..bap+map.."---爆
击"..rcr.."---命
中"..rhi,"whisper",GetDefaultLanguage("target"),UnitName("target"))
这个是远程暴击,AP和命中的宏。。
/run
p="player";bap,map=UnitRangedAttackPower(p);rcr=GetRangedCritChance(p);
rhi=GetCombatRating(7);SendChatMessage("AP"..bap+map.."爆击"..rcr.."命
中"..rhi,"whisper",GetDefaultLanguage("target"),UnitName("target"))
这个是坦克的~~
/run
p="player";dod=GetDodgeChance(p);pa=GetParryChance(p);bl=GetBlockChance(p);ba,ar=UnitArmor("player");hm=UnitHealthMax(p);SendChatMessage("闪避"..dod.."招架"..pa.."格挡"..bl.."护甲"..ar.."HP"..hm,"whisper",GetDefaultLanguage("target"),UnitName("target"))
法系
/run
p="player";fd=GetSpellBonusDamage(3);fcr=GetSpellCritChance(3);shi=GetCombatRating(8);SendChatMessage("火伤"..fd.."法爆"..fcr.."命中"..shi,"whisper",GetDefaultLanguage("target"),UnitName("target"))
注意,法伤GetSpellBonusDamage()法爆GetSpellCritChance()
就是fd fcr那两行
()里面的数字
这是有分系的
1 for Physical
2 for Holy
3 for Fire
4
for Nature
5 for Frost
6 for Shadow
7 for Arcane
与焦点目标互补互助的“智能目标”宏:
首先打开宏面板创建一个名叫“记忆目标”的宏,将下面引用内容复制到此宏中。
再创建一个名为“目标”的空宏,无论是通用宏和专业宏。
将“记忆目标”和“目标”2个宏做好快捷设置。
/script
mz=UnitName("target")EditMacro(GetMacroIndexByName("目标"),"目标",3,"/目标"..mz.."
\n/focus [target=focus,noexists][target=focus,dead]\n/stopmacro
[noharm]\n/startattack\n/petattack",1)
/focus
[target=focus,noexists][target=focus,dead]
宏中的/focus [target=focus,noexists][target=focus,dead]
可以根据情况更改或删除,同时你可以在宏“目标”中加入技能。
宏“记忆目标”的运作原理:
将当前目标的名字和攻击命令写入宏库名为“目标”的宏里,使用宏“目标”就能选择并攻击之前记忆的目标。
使用 :
选择一个你需要设置为焦点或需要保存目标的目标,并运行宏“记忆目标”(战斗中无效),当你失去保存的目标或焦点后,运行宏“目标”就能找回保存的目标并设置为焦点目标(战斗中有效)。
例如你当前的目标是“张三”,使用宏“记忆目标”后,原本宏“目标”的内容会被篡改为:
/目标张三
/focus
[target=focus,noexists][target=focus,dead]
/stopmacro
[noharm]
/startattack
/petattack
当然,你也可以直接修改/目标后面的内容,宏“记忆目标”只是图个效率。
应用:
盗贼、法师和精灵种族都会消失并清楚焦点目标,照明弹、暴风雪等技能把他们拽出来,将宏“目标”加入无脑输出技能就可以找回之前目标,重新设置[焦点目标]并开始攻击和施法。
如果目标是个猎人,他假死的话就可以迅速找回目标。而且他跑再远你也不会失去“目标”,只要他在你附近的话,持续点击宏“目标”就行。
你会发现用此宏守尸很好很强大,尤其是猎人和术士。
baidu提示:字数超出最大允许值,请删减!
Wow里面的标记宏命令是“/标记”。
详细解释如下:
在魔兽世界中,“/标记”是一个非常重要的宏命令,它允许玩家对游戏内的特定目标进行标记,以便团队其他成员能够快速识别并关注该目标。这对于团队协作和战术执行是非常关键的。玩家使用这个宏命令可以在地图上标出重要的位置,例如敌人可能出现的地点,或是需要特别关注的区域。这对于团队战斗和探险任务中非常有帮助。使用这个宏命令时,通常需要配合其他文字指令,比如“/标记敌人”来标识某个敌人。这样可以迅速告诉团队哪个人是需要集中火力的目标。同时,“/标记”还可以用来标注掉落重要物品的怪物或者需要解谜的位置等。总之,“/标记”是Wow中非常重要的一个宏命令,可以帮助玩家和团队更好地进行协同作战和完成任务。玩家还可以根据个人习惯和团队需要自行设定更多个性化的标记宏命令,以更好地适应游戏环境和战术需求。使用宏命令时需要注意遵守游戏规定,防止滥用或不正当使用影响游戏体验或被惩罚。
战士常用宏命令
一、1键实现3姿态间的切换
首先,菜单里选择按键设置,把8号快捷键的键位设置2,设为Q
然后,打开技能书,在战斗姿态下,把“狂暴姿态”图标拖到8那格去
切换狂暴姿态,在狂暴姿态下,把“战斗姿态”图标拖到8那格去
最后鼠标点一下切换防御姿态,把“狂暴姿态”图标拖到8那格去
这样,在战斗姿态或者防御姿态按一下Q,都能切成狂暴姿态。而在狂暴姿态按一下Q,就能切回战斗姿态。如果要在切姿态的同时换武器,把姿态的图标换成以下宏:
从任意姿态任意武器切换到战斗姿态+双手武器
/script P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(4,15));if(oi) then P(17);PC(4,7);else P(17);PC(4,15);end;P(16);PC(4,11);end
/施放战斗姿态
从任意姿态任意武器切换到防御姿态+主手武器+盾牌
/script P=PickupInventoryItem;C=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(4,15));if(oi) then P(17);C(4,7);C(4,15);AutoEquipCursorItem();end;else C(4,11);P(16);C(4,15);P(17);end
/施放防御姿态
从任意姿态任意武器切换到狂暴姿态+双持武器
/script P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(4,7));if(oi) then P(17);PC(4,15);PC(4,7);AutoEquipCursorItem();end;else PC(4,11);P(16);PC(4,7);P(17);end
/施放狂暴姿态
副手武器放在4号背包(最左边的背包,因为这个包是最后被拾取的物品填满的背包,不容易因为盾或副手武器的那一格被填满导致宏实效)的7(副手武器)、11(主手武器或双手武器)、15(盾)三格。
背包的数法是:
1 2
3 4 5 6
7 8 9 10
11 12 13 14
15 16 17 18
由于某些同志提出他们只有14包,那么可以把宏中所有的“15”都改为比如“12”,然后把盾放到12那格就可以了。
切姿态同时换武器的宏倒非我原创,只是把自己用的这个给贴出来。武器战士倒不一定用,狂暴战士必备。
具体打法:起手拿慢速双手武器,选中目标后3.8秒再冲锋,这样近身瞬间0秒即可砍出一刀,然后按Q切狂暴姿态+双持。看到闪避了再次按Q切回战斗姿态+双手武器压制。(如果怪长得太高,我们需要比如dex这样的插件来提示狂暴姿态中打出的闪避)
二、三种姿态下的攻击常用技能整合
首先再次打开按键设置,把回复对话R键那里改为I。因为,第一,战斗到一半不小心把对话框按出来是很容易导致失败的。第二,R键是一个很就手的键,按久了不会累。
然后,把9号快捷键的键位设置2,改为R
在战斗姿态下,把以下这个宏的图标放到9
/施放冲锋(等级 3)
/施放压制(等级 4)
/script if( UnitHealth("target")<20) then CastSpellByName("斩杀(等级 5)"); else if( UnitHealth("target")>=20) then CastSpellByName("致死打击(等级 4)"); end end
/script if(UnitMana("Player")>80) then CastSpellByName("英勇打击");end
在防御姿态下,把以下图标放到9(这个我直接给出的是防战的版本了,其他天赋战士记得把第四行的“盾牌猛击”改为致死打击或者嗜血)
/施放盾牌格挡
/script SpellStopCasting();
/script if(UnitMana("Player")>5) then CastSpellByName("复仇");end
/script if(UnitMana("Player")>40) then CastSpellByName("盾牌猛击");end
/script if(UnitMana("Player")>59) then CastSpellByName("英勇打击");end
在狂暴姿态下,把以下宏的图标放到9
/施放拦截(等级 3)
/script if( UnitHealth("target")<20) then CastSpellByName("斩杀(等级 5)"); else if( UnitHealth("target")>=20) then CastSpellByName("致死打击(等级 4)"); end end
/script if(UnitAffectingCombat("player")==1) then CastSpellByName("旋风斩") else end
或者
/施放拦截(等级 3)
/script if( UnitHealth("target")<20) then CastSpellByName("斩杀(等级 5)"); else if( UnitHealth("target")>=20) then CastSpellByName("致死打击(等级 4)"); end end
/script if(UnitMana("Player")>80) then CastSpellByName("英勇打击");end
这样一个R键就实现了冲锋、压制、拦截、致死(嗜血、盾牌猛击)、斩杀、旋风、英勇、盾牌挡格、复 9个技能的使用。大大节约了键位。也弥补了某些操作上的缺陷。比如斩杀前出了闪避,R按下去就自动是压制了(一般压制秒人最后20%血还是可以的,还有打盗贼他很可能是开了闪避了,一味斩杀都是闪避)。还有能很方便的保持盾牌挡格和复仇。破甲的话另外设一个键吧。怒大于一定量的时候自动用英勇打击宣泄。狂暴战士的话可以把宏里面的数字改小一点。
三、破胆怒吼+立刻绷带,以及一键绷带宏
/施放破胆怒吼
/script SpellStopCasting()
/script UseContainerItem(2,1)
/script TargetUnit("player")
其中
/script UseContainerItem(2,1)
/script TargetUnit("player")
就是一键绷带宏。可以单独建一个。绷带放在中间那个包左上开始第一格。
这是战士的一个实用技巧。虽然时机有时候难以把握,但是只要敌我双方身上都没有流血效果,我们就可以25怒+2000血,也就是说这个宏用好了能顶一件+200耐的装备。成功用出后要是都没打赢,那基本上就是RP问题.....
一键绷带也非常有用。平时我们绷带都是点了绷带还要点人。或者要先F1再点绷带。总之就是要按两个键。将其简化到一个键,只要多节省1秒,那就是多获得了250血,也就等于比不会这招的对手多25耐。25耐的优势还不够多么?
3-2铿锵玫瑰烈朋友要的,一键血性狂暴+切换狂暴姿态
/施放血性狂暴
/script SpellStopCasting()
/施放狂暴姿态
/ if(UnitHealth("target")<20) then CastSpellByName("斩杀(等级 5)"); end
/施放嗜血(等级 4)
/ if(UnitMana("Player")>34) then CastSpellByName("旋风斩");end
/ if(UnitMana("Player")>34) then CastSpellByName("英勇打击");end
狂暴状态攻击的宏,如果对方的血少于20%则斩杀
否则放嗜血.如果怒气大于34,则使用旋风斩,或英勇打击
这个数值我自己设的,具体情况可以看自己更改.
武器战士的
/script if(UnitIsFriend("player","target")) then AssistUnit("target"); end;
/cast压制(等级 x)
/script if(UnitHealth("target")<20) then CastSpellByName("斩杀(等级 x)") else CastSpellByName("致死打击(等级 x)") end
第一行:点中目标时打目标,点中队友时协助队友打。
第二行:压制亮了打压制。
第三行:目标血少于20%时出斩杀,否则出致死打击。
/施放压制(等级 4)
/ if(UnitHealth("target")<20) then CastSpellByName("斩杀(等级 5)"); end
/施放嗜血(等级 4)
/ if(UnitMana("Player")>34) then CastSpellByName("英勇打击");end
战斗状态用的,原理同上
/ if(UnitAffectingCombat("player")==1) then CastSpellByName("旋风斩");end
只在战斗状态释放旋风斩,应某些朋友的要求添加的
/施放破胆怒吼
/ SpellStopCasting()
/target安达里克
/ UseContainerItem(4,1)
/ TargetLastEnemy()
破胆绷带宏,第3行名字改成你自己的
/施放破胆怒吼
/ SpellStopCasting()
/ UseContainerItem(4,1)
/ TargetUnit("player")
这个也可以
/施放盾牌格挡
/ SpellStopCasting();
/ if(UnitMana("Player")>14) then CastSpellByName("复仇");end
/ if(UnitMana("Player")>44) then CastSpellByName("盾牌猛击");end
/ if(UnitMana("Player")>59) then CastSpellByName("英勇打击");end
2月1日更新:优先使用盾牌格档的宏,我目前TANK用
/ P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(4,16));if(oi) then P(17);PC(4,15);else P(17);PC(4,16);end;P(16);PC(4,14);end
/施放战斗姿态
/ P=PickupInventoryItem;C=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(4,16));if(oi) then P(17);C(4,15);C(4,16);AutoEquipCursorItem();end;else C(4,14);P(16);C(4,16);P(17);end
/施放防御姿态
/ P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(4,15));if(oi) then P(17);PC(4,16);PC(4,15);AutoEquipCursorItem();end;else PC(4,14);P(16);PC(4,15);P(17);end
/施放狂暴姿态
最后一个背包的最后3个格分别放,主手/双手(4,14),副手(4,15),盾牌(4,16)
一、从任意姿态任意武器切换到战斗姿态双手武器
/ P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(背包,盾牌格));if(oi) then P(17);PC(背包,副手武器格);else P(17);PC(背包,盾牌格);end;P(16);PC(背包,主手/双手格);end
/施放战斗姿态
二、从任意姿态任意武器切换到防御姿态主手武器+盾牌
/ P=PickupInventoryItem;C=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(背包,盾牌格));if(oi) then P(17);C(背包,副手武器格);C(背包,盾牌格);AutoEquipCursorItem();end;else C(背包,主手/双手格);P(16);C(背包,盾牌格);P(17);end
/施放防御姿态
三、从任意姿态任意武器切换到狂暴姿态双持武器
/ P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi) then oi=(GetContainerItemLink(背包,副手武器格));if(oi) then P(17);PC(背包,盾牌格);PC(背包,副手武器格);AutoEquipCursorItem();end;else PC(背包,主手/双手格);P(16);PC(背包,副手武器格);P(17);end
/施放狂暴姿态