乌龟魔兽 太好玩啦

 找回密码
 立即注册
查看: 7463|回复: 12

[宏命令分享] 重新整理的宏命令

  [复制链接]

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
发表于 2023-8-7 20:10:46 | 显示全部楼层 |阅读模式
本人只会很简单的宏,复杂点的就搞不明白了
本人只是宏命令的搬运工,以及部分我正在使用的宏
网上发现好多宏不能用,抄袭过来做了一些修改
技能ID宏
/script local s,i,n="你的技能",1;while 1 do n=GetSpellName(i,"spell");if n then if strfind(n,s) then ChatFrame1:AddMessage(i);break;end;i=i+1;else break;end;end;
1,致盲+绷带
/施放 致盲
/script local b,s,l;for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"厚符文布绷带\") then UseContainerItem(b,s,1);break;end;end;end

2,破胆+绷带
/施放 破胆怒吼
/script local b,s,l;for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"厚符文布绷带\") then UseContainerItem(b,s,1);break;end;end;end

3,潜行(反复按不出潜行)
/script local a,_;if not UnitAffectingCombat("player") then _,_,a=GetShapeshiftFormInfo(1)
;ifnot a then CastSpellByName("潜行");end;end;

4,如果主手不是匕首,则用邪恶攻击。如果主手是匕首,则把主背包第1格的武器换到主手。
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot"));if(GameTooltipTextRight4:GetText()~="匕首") then CastSpellByName("邪恶攻击") else PickupContainerItem(0,1);PickupInventoryItem(16);end

5,如果主手不是匕首,则把主背包第1格的武器换到主手。如果是匕首,就背刺
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot"));if(GameTooltipTextRight4:GetText()~="匕首") then PickupContainerItem(0,1);PickupInventoryItem(16);else CastSpellByName("背刺");end

6,冷血剔骨
/施放 冷血
/script SpellStopCasting();
/施放 剔骨

7,盗贼一键DPS
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i)
;if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 而not f then c("切割");elseif p==5 and f then c("割裂");else c("邪恶攻击");end;

8,抓贼宏
/script TargetNearestEnemy({reverse})
/施放 闷棍

9,自动切割(平时用邪恶搌星 若无切割状态 只要有星 立即施放切割 若有 则继续 邪恶搌星 若能搌到5星时切割状态还在 则施放剔骨)
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i)
;if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 而not f then c("切割\");elseif p==5 and f then c("剔骨");else c("邪恶攻击\");end;

10,一键3DOT
/script local n,s,k,j,d,f={"Abomi","Sarge","Immol"},{"腐蚀术\","痛苦诅咒\","献祭"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;ifnot f then CastSpellByName(s[k]);break;end;end;
风筝版
/script local n,s,k,j,d,f={"Abomi","Requi","Sarge"},{"腐蚀术\","生命虹吸\","痛苦诅咒\"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;ifnot f then CastSpellByName(s[k]);break;end;end;

11,献祭 + 宠物攻击
/施放 献祭
/script PetAttack();

12,如果死亡缠绕不在CD就放缠绕,如果CD中则施放恐惧术,连续使用就是 缠绕 + 恐惧
死亡缠绕的编号看图自己填
/script local s,d=GetActionCooldown(死亡缠绕编号);if d<2 then CastSpellByName("死亡缠绕");else CastSpellByName("恐惧术\");end;

13,如果目标是恶魔或元素就放逐,否则恐惧
/script local t=UnitCreatureType("target");if t=="恶魔" or t=="元素生物\" then CastSpellByName("放逐术\");else CastSpellByName("恐惧术\");end;

15,优先驱散自己身上的debuff,没有就驱散对方身上的buff
/script local i,d,s,t,_;for i=1,16 do d,_,t=UnitDebuff("player",i)
;if d and t=="Magic" then s=1;break;end;end;CastSpellByName('吞噬魔法',s);

16,如果带的是虚空则牺牲,不是的话按第一下瞬召虚空,再按一下牺牲,之所以要按两下因为所谓瞬召实际还是有0.5秒时间
/script local c=CastSpellByName;if UnitCreatureFamily("pet")=="虚空行者" then c("牺牲\");else c("恶魔支配\");SpellStopCasting();c("召唤虚空行者");end;

17,宝宝打图腾
/script local t,n,i,_={"根基\","战栗\","地缚","灼热","清毒",};for _,i in t do n=i.."图腾";TargetByName(n,1);endetAttack();

18,没有灵魂石就制造,有就给目标绑灵魂石,并在小队或团队中报告
把做好的灵魂石放在动作条上
/script local s,i="party",灵魂石所在编号;if IsUsableAction(i) then if GetActionCooldown(i)==0 then UseAction(i);if UnitInRaid("player") then s="raid";end;SendChatMessage("%t 已被绑定",s);end;else CastSpellByName("制造特效灵魂石");end;

19,反击,猫鼬,猛禽
/script local b,s,j={反击编号,猫鼬编号,猛禽编号},{"反击\","猫鼬撕咬","猛禽一击\"};for j=1,3 do if IsUsableAction(b[j]) and GetActionCooldown(b[j])==0 then CastSpellByName(s[j]);break;end;end;

20,战、贼:毒蝎
猎、法、术,萨,牧:蝰蛇
骑,德:蝰蛇1
NPC:毒蛇
/script local c,s,t=UnitClass("target"),"毒蛇钉刺",UnitPowerType("target");if UnitIsPlayer("target") then if t==0 then s="蝰蛇钉刺";if c=="圣骑士" 或 c=="德鲁伊" then s=s.."(等级 1)";end;else s="毒蝎钉刺";end;end;CastSpellByName(s);

21,灵猴守护威慑
/script local c,i,b,f,s,d=CastSpellByName;对于 i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Monk") then f=1;break;end;end;ifnot f then c("灵猴守护");SpellStopCasting();end;s,d=GetActionCooldown(你威慑编号);if d<2 then c("威慑\");end;

22,假死陷阱
/script PetFollow();if UnitAffectingCombat("player") then CastSpellByName("假死");else CastSpellByName("冰冻陷阱\");end;

23,当然使用圣光闪现的时候 自动装备[神性圣契],当我使用驱散的时候 自动装备[优雅圣契]
把两个圣契一个装在身上,另一个放在右边第一个包的第一个格
/script local l=GetInventoryItemLink("player",17);if l and strfind(l,"神性") then CastSpellByName("圣光闪现");else UseContainerItem(0,1);end;

24,放清洁术,如果身上带的不是优雅圣契就先换,再按放清洁术
/script local l=GetInventoryItemLink("player",17);if l and strfind(l,"优雅") then CastSpellByName("清洁术\");else UseContainerItem(0,1);end;

25,有目标就放最高级奉献,没有目标就放1级奉献
/script if UnitCanAttack("target","player") then CastSpellByName("奉献");else CastSpellByName("奉献(等级 1)");end;[附件=2470][附件=2470]

26,平时用低级闪电箭,如果出"元素集中"自动换成最高级闪电箭
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"ManaB") then f=1;break;end;end;if f then SpellStopCasting();c("闪电箭");else c("闪电箭(等级 1)");end;

27,从防御姿态切换到狂暴姿态释放狂暴之怒再切换回防御姿态,狂暴之怒放在左下额外技能拦的第11个。
/script G=GetActionCooldown;
/script if(G(71)<2)then CastShapeshiftForm(3);end /script if(IsUsableAction(71)==1)then CastSpellByName("狂暴之怒");end /script if(G(71)>0)then CastShapeshiftForm(2);end 28,人形态变熊, 其他任何形态then变回人形
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s thenSendChatMessage("","yell");c(1);elseif s~=1 then c(s);end;

29,人形态变猫,其他任何形态则变回人形
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;ifnot s,then SendChatMessage("","yell");c(3);elseif s~=3 then c(s);end;

30,变身海豹(在水中才有效)其他任何形态then变回人形(在水中时)
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;ifnots,thenSendChatMessage("","yell");c(2);elseif s~=2 then c(s)
;end;


31,变身旅行形态
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;ifnots,thenSendChatMessage("","yell");c(4);elseif s~=4 thenc(s);end;

32,各种形态变回人形
/script local i,a,_;对于 i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if是then CastShapeshiftForm(i);破;结束;结束;

33,人形态下变鹌鹑,其他任何形态则变回人形
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;ifnot s,then SendChatMessage("","yell");c(5);elseif s~=5 then c(s);end;


34,双手/双持武器—>单手武器+盾牌(将防御单手武器放在最后一个包的第一个格子内,盾牌放在第二个格子内。)
/script P=PickupInventoryItem;C=拾取容器项;
/script P(17);if(CursorHasItem())then P(17);if(OffhandHasWeapon())then C(4,2)(17);end else C(4,1)(16);C(4,2)(17);完;

35,双手武器/单手武器+盾牌—>双持武器(将主手武器放在最后一个包的第一个格子内,副手放在第二个格子内。)
/script P=PickupInventoryItem;C=拾取容器项;
/script if(not OffhandHasWeapon())then C(4,1)(16);C(4,2)(17);完;

36,双持武器/单手武器+盾牌—>双手武器(将双手武器放在最后一个包的第一个格子内。)
/script P=PickupInventoryItem;C=拾取容器项;
/script P(17);if(CursorHasItem())then C(4,2);C(4,1)(16);结束;

37,切换姿态
/script CastShapeshiftForm(2),這1是戰鬥姿態,2是防禦姿態,3是狂暴姿態。

38,手雷
/script local b,s,l;if PlayerFrame.inCombat then AttackTarget();end;SpellStopCasting();for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"铁皮手雷") then UseContainerItem(b,s);break;end;end;end;

39,爆发宏
/施放 强力buff 好比奥术强化,能量灌注,血性狂暴等
/script SpellStopCasting();
/script UseInventoryItem(13);13是指饰品1,14是饰品2
/script SpellStopCasting();
/施放 秒人技能


123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:12:44 | 显示全部楼层
40,双采切换雷达
/script local t=GetTrackingTexture();if t and strfind(t, "Flower") then CastSpellByName("寻找矿物");else CastSpellByName("寻找草药");end;

41,搜索宏
/script local s="纳兹加克王子";TargetByName(s,1);if UnitName("target")==s then ChatFrame1:AddMessage("找到");end;

42,要水宏
/script if UnitClass("target")=="法师" then SendChatMessage("给点水好吗?谢谢");if IsAltKeyDown() then InitiateTrade("target");end;end;

43,标记宏(0-8)
/script SetRaidTarget("target",图标编号);

44,要BUFF
/script local x,c,i,s={["法师"]="智力",["牧师"]="韧",["德鲁伊"]="爪子"},UnitClass("target");for i,s in x do if i==c then SendChatMessage("给个"..s..",谢谢~","whisper",nil,UnitName("target"));end;end;

45,给团队血量最少刷血(改治疗手段) /script local p,h,i,j="raid",UnitHealth,1;for j=2,GetNumRaidMembers()
do if h(p..i)>h(p..j) then i=j;end;end;p=p..i;ifnot UnitIsDead(p) and UnitIsVisible(p),then TargetUnit(p);CastSpellByName("快速治疗");TargetLastTarget();end;

46,牧师小队一键驱散
/script local s,p,i,d,t,_={["Magic"]="驱散魔法",["Disease"]="驱除疾病"};for i=1,4 do p="party"..i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget();break;end;end;end

47,德鲁伊小队一键驱散
/script local s,p,i,d,t,_={["oison"]="驱毒术",["Curse"]="解除诅咒"};for i=1,4 do p="party"..i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget();break;end;end;end

48,萨满小队一键驱散
/script local s,p,i,d,t,_={["oison"]="消毒术",["Disease"]="袪病术"};for i=1,4 do p="party"..i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget();break;end;end;end

49,牧师团队一键驱散
/script local s,p,i,d,t,_={["Magic"]="驱散魔法",["Disease"]="驱除疾病"};for i=1,40 do p="raid"..i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget();break;end;end;end

50,德鲁伊团队一键驱散
/script local s,p,i,d,t,_={["oison"]="驱毒术",["Curse"]="解除诅咒"};for i=1,40 do p="raid"..i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget();break;end;end;end

51,萨满团队一键驱散
/script local s,p,i,d,t,_={["Poison"]="消毒术",["Disease"]="袪病术"};for i=1,40 do p="raid"..i;if CheckInteractDistance(p,4) then d,_,t=UnitDebuff(p,1,1);if d then TargetUnit(p);CastSpellByName(s[t]);TargetLastTarget();break;end;end;end

52,法师一键驱散
/script local n,p,t,i,d=4,"party";if UnitInRaid("player") then n=40;p="raid";end;for i=1,n do t=p..i;if UnitDebuff(t,1,1) and CheckInteractDistance(t,4) then TargetUnit(t);CastSpellByName("解除次级诅咒");TargetLastTarget();break;end;end;

53,骑士一键驱散
/script local n,p,t,i,d=4,"party";if UnitInRaid("player") then n=40;p="raid";end;for i=1,n do t=p..i;if UnitDebuff(t,1,1) and CheckInteractDistance(t,4) then TargetUnit(t);CastSpellByName("清洁术");TargetLastTarget();break;end;end;

54,灼烧5层就火球,否then灼烧
/script local c,i,d,n,f=CastSpellByName;for i=1,16 do d,n=UnitDebuff("target",i);if d and strfind(d,"SoulB") then f=1;break;end;end;if f and n==5 then c("火球术");else c("灼烧");end;

55,有目标就放最高级奥暴,没有目标就放1级奥暴
/script if UnitCanAttack("target","player") then CastSpellByName("魔爆术");else CastSpellByName("魔爆术(等级 1)");end;

56,一键加自身BUFF(SS可抄作业) /script local n,s,k,j,b,f={"tArm","lSen","hMag"},{"冰甲术","奥术智慧","魔法抑制"};for k=1,3 do f=nil;for j=1,16 do b=UnitBuff("player",j);if b and strfind(b,n[k]) then f=1;break;end;end;ifnot f then CastSpellByName(s[k])
;break;end;end;

屏蔽进入频道宏,不显示"xx进入频道":
/script ChatFrame_RemoveMessageGroup(ChatFrame1, "CHANNEL")

已测!WOW60版本通用可以正常使用的重置副本宏:
/run ResetInstances()

1.12版本战士剑盾宏和开始攻击宏:
/equip 单手武器名
/equip 盾名
/startattack
提示:if技能名???请去戳上面的地址去翻译一下技能名字就好了。


123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:19:56 | 显示全部楼层
盗贼宏:
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割");elseif p==5 and f then c("割裂");else c("邪恶攻击");end;
pve一键dps宏.....战斗剑专精作用是有星就切割5星就割裂平时邪恶攻击,战斗匕首就把邪恶攻击改成背刺即可....当年打pw就这宏= =#然后,你懂的.
【自动切割宏】
平时用邪恶搌星 若无切割状态 只要有星 立即施放切割 若有 则继续 邪恶搌星 若能搌到5星时切割状态还在 则施放剔骨
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割\");elseif p==5 and f then c("剔骨");else c("邪恶攻击\");end;
【邪恶还击宏 】
用 还击 在动作条上的序号替换下边红色字,查编号看上边基础知识
/script local s,d=GetActionCooldown(还击编号);if IsUsableAction(还击编号) and d<2 then CastSpellByName("还击\");else CastSpellByName("邪恶攻击\");end;法术书版
/script local s,d=GetSpellCooldown(还击编号,"spell");if IsUsableAction(还击编号) and d<2 then CastSpellByName("还击\");else CastSpellByName("邪恶攻击\");end;

【致盲 + 绷带 】
没满60级的或者在战场中的绷带名自己改
/施放 致盲
/script local b,s,l;for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"厚符文布绷带\") then UseContainerItem(b,s,1);break;end;end;end
1.12新潜行宏(不会因反复按而导致取消潜行)
/script local a,_;if not UnitAffectingCombat("player") then _,_,a=GetShapeshiftFormInfo(1);if not a then CastSpellByName("潜行");end;end;

/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then CastSpellByName("邪恶攻击(等级 8)") else PickupContainerItem(0,1); PickupInventoryItem(16); end

说明:如果主手不是匕首,则用邪恶攻击。如果主手是匕首,则把主背包第1格的武器换到主手。
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then PickupContainerItem(0,1); PickupInventoryItem(16);else CastSpellByName("背刺(等级 8)");end

说明:如果主手不是匕首,则把主背包第1格的武器换到主手。如果是匕首,就背刺。
注意,以上2个宏要求匕首有唯一属性。如果匕首不是唯一,把GameTooltipTextRight4改成3。
/施放 冷血
/script SpellStopCasting();
/施放 剔骨(等级 8)

说明:这个宏应该大部分贼都知道。冷血+剔骨,一键发出
PvE一键DPS宏/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割");elseif p==5 and f then c("割裂");else c("邪恶攻击");end;
抓贼宏/script TargetNearestEnemy({reverse})
/施放 闷棍

术士宏:
【一键3DOT宏 】
点一下放一个,缺啥补啥,一直按吧
注意,这是solo宏,团队中if有其他术士的话就不好用了,因为无法判断DOT是not你放的,比如其他术士放了痛苦诅咒,
这个宏就不会再放痛苦诅咒,直到那个术士的痛苦诅咒消失
[通用版]
/script local n,s,k,j,d,f={"Abomi","Sarge","Immol"},{"腐蚀术\","痛苦诅咒\","献祭"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;

[痛苦术士风筝版 ]
/script local n,s,k,j,d,f={"Abomi","Requi","Sarge"},{"腐蚀术\","生命虹吸\","痛苦诅咒\"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;

【献祭 + 宠物攻击 】
在使用前面一键3DOT宏之前我通常会使用这个宏作为起手,因为献祭有施法时间,这就跟猎人瞄准起手一样
/施放 献祭
/script PetAttack();
如果是痛苦术士,带小鬼而且作mana罐子的话用这个
/施放 献祭
/script if UnitCreatureFamily("pet")~="小鬼\" then PetAttack();end;

【RAID DOT宏 】
循环上DOT,如果使用间隔超过18秒则重新从第一个DOT开始放,以防止DOT序列没放完怪就死了
[普通版]
/script local x,t={"痛苦诅咒\","腐蚀术\","献祭"},GetTime();DOTI=DOTI or 3;DOTT=DOTT or t;DOTI=DOTI+1;if DOTI>3 or t-DOTT>18 then DOTI=1;DOTT=t;end;CastSpellByName(x[DOTI]);

[痛苦术士版 ]
/script local x,t={"生命虹吸\","痛苦诅咒\","腐蚀术\","献祭"},GetTime();DOTI=DOTI or 4;DOTT=DOTT or t;DOTI=DOTI+1;if DOTI>4 or t-DOTT>18 then DOTI=1;DOTT=t;end;CastSpellByName(x[DOTI]);

【RAID诅咒宏 】
如果目标没有元素诅咒就上元素,有元素没有暗影诅咒就上暗影诅咒,都有就上痛苦诅咒
/script local n,s,k,j,d={"lTouc","fAchi"},{"元素","暗影","痛苦\"},1;while k<3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if f then k=k+1;else break;end;end;CastSpellByName(s[k].."诅咒\");

智能契约分流宏 - 痛苦术士必备
可能有人觉得只要契约就好,何必还要分流,我们有魔甲术,每5秒恢复15点hp,还有生命虹吸,吸血,
各位瘾君子每3秒吸个五六十应该不在话下吧,生命长满就不会再长了。所以只用契约的话会有大量的生命浪费,
实际上这些生命变成蓝的话数量相当惊人的,所以在尽量保证自己血量的前提下使用分流可以达到最大的转换效率
不让小鬼满蓝,不让自己满血
小鬼满mana当然先抽他的,当抽到70%时,如果你受伤小于200就分流一次,然后继续抽小鬼,
直到抽空或者你血又差200没满,为了最大化的利用嘛,
如果把小鬼抽空了你还没搞定,没办法,抽自己吧
各位如果在raid而且治疗比较关照你的话可以把受伤200安全线往下降,比如1000,


/script local s,h,m="生命分流\";if UnitExists("pet") then h=UnitHealthMax("player")-UnitHealth("player");m=UnitMana("pet")/UnitManaMax("pet");if m>0.1 and h>200 or m>=0.7 then s="黑暗契约";end;end;CastSpellByName(s);
上边200是开始分流的安全线,0.7是停止虐待小鬼开始分流的比例,当然是自己满血情况下
计算了魔伤和强化生命分流天赋的分流宏
你魔伤和生命分流效率自己填你分流效率:你强化生命分流的天赋,1点就换成1.1,2点换成1.2,没有加这个天赋就是1
/script local b,r,p,j,h={30,75,140,220,310,424},{0.38,0.68,0.8,0.8,0.8,0.8},"player";for j=6,1,-1 do h=b[j]+r[j]*你魔伤;if UnitHealth(p)>=h and UnitManaMax(p)-UnitMana(p)>=h*你分流效率 then CastSpellByName("生命分流(等级 "..j..")");break;end;end

【死亡缠绕 + 恐惧】
死亡缠绕不在CD就放缠绕,CD中则施放恐惧术,连续使用就是 缠绕 + 恐惧
死亡缠绕的编号自己填
/script local s,d=GetActionCooldown(死亡缠绕编号);if d<2 then CastSpellByName("死亡缠绕");else CastSpellByName("恐惧术\");end;
法术书版
/script local s,d=GetSpellCooldown(死亡缠绕编号,"spell");if d<2 then CastSpellByName("死亡缠绕");else CastSpellByName("恐惧术\");end;

如果目标是恶魔或元素就放逐,否则恐惧
raidand跟术士PK时能省点事……
/script local t=UnitCreatureType("target");if t=="恶魔" or t=="元素生物\" then CastSpellByName("放逐术\");else CastSpellByName("恐惧术\");end;

双法术石
法术石放饰品1,备用法术石放的位置自己填,看上边基础知识
/script local s,d,e=GetInventoryItemCooldown("player",17),if d0 then UseInventoryItem(13);UseContainerItem(备用法术石包号,你备用法术石格子号);end;

狗智能吞噬魔法
优先驱散自己身上的debuff,没有就驱散对方身上的buff
/script local i,d,s,t,_;for i=1,16 do d,_,t=UnitDebuff("player",i);if d and t=="Magic" then s=1;break;end;end;CastSpellByName('吞噬魔法',s);

瞬召虚空并牺牲宏
如果带的是虚空则牺牲,不是的话按第一下瞬召虚空,再按一下牺牲,之所以要按两下因为所谓瞬召实际还是有0.5秒时间,当然如果你是非恶魔术士或者恶魔支配CD中,那瞬召就变成慢召了……
/script local c=CastSpellByName;if UnitCreatureFamily("pet")=="虚空行者" then c("牺牲\");else c("恶魔支配\");SpellStopCasting();c("召唤虚空行者");end;

宝宝打图腾
/script local t,n,i,_={"根基\","战栗\","地缚","灼热","清毒",};for _,i in t do n=i.."图腾";TargetByName(n,1);endetAttack();

拉人宏
1 小队/团队自适应版
/施放 召唤仪式
/script local s="party";if UnitInRaid("player") then s="raid";end;SendChatMessage("开始召唤>%t<,机票1G,女生半价,来点门啊",s);
2 车夫自虐版
寻问团队中所有和你不在同一区域的人,自动问他需不需要拉
/script local i,n,z,_;for i=1,GetNumRaidMembers() do n,_,_,_,_,_,z=GetRaidRosterInfo(i) if z~=GetZoneText() then SendChatMessage("要拉的MM","whisper",nil,n);end;end

灵魂石
没有就制造,有就给目标绑灵魂石,并在报告
把做好的灵魂石放在动作条上,查出编号,具体看上边基础知识
/script local s,i="party",灵魂石所在编号;if IsUsableAction(i) then if GetActionCooldown(i)==0 then UseAction(i);if UnitInRaid("player") then s="raid";end;SendChatMessage("%t 已被绑定",s);end;else CastSpellByName("制造特效灵魂石");end


123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:21:51 | 显示全部楼层
战士宏:
1. 自动检测自己的BUFF中是不是有战斗怒吼.没有就施放.有则普通攻击.
/script for i=1,20,1 do if (UnitBuff("player",i) ~= nil) then if (string.find(UnitBuff("player",i),"BattleShout") ~= nil) then CastSpellByName("攻击");break; end end if (i==20) then CastSpellByName("战斗怒吼(等级 6)"); end end
/施放 破甲
可替换其他技能

2.自动切换到狂暴姿态=>狂暴之怒=>然后切换到防御姿态
/script GS=GetShapeshiftFormInfo;CS=CastSpellByName;_,_,isActive,_ = GS(3);if isActive~=nil then CS("狂暴之怒") else CS("狂暴姿态");end
/script _,_,isActive,_ = GS(2);if isActive~=nil then CS("攻击") else CS("防御姿态");end

一,冲锋,压制,拦截,断筋
/script C=CastSpellByName;
/script U=IsUsableAction;
/script R=IsActionInRange;
/script if(U(61)==1)then C("冲锋");elseif(R(61)==1)then C("拦截");elseif(U(63)==nil)then C("断筋");elseif(GetActionCooldown(63)==0)then C("压制");else C("断筋");end

前3行是定义语句,要不然写不下,另外也使宏更加好看and简练
首先判断冲锋是否可以用,如果能用则冲锋;
如果不能用,判断是否目标在拦截的范围以内,如果在范围内则拦截;
如果不在拦截的范围内,判断压制是否可以使用,如果不能使用则用断筋;
如果压制可以使用,判断压制的冷却是否为0,如果为0则压制,如果不为0则断筋。
效果就是,如果离敌人远就冲锋或者拦截,如果接近了就断筋,如果断筋被躲闪则立刻压制。
压制完了继续上断筋。断筋上好就该用下面的宏了。

二,致死,旋风,压制,英勇打击
/script C=CastSpellByName;
/script if(GetActionCooldown(63)==0) then C("压制");end
/script if(UnitHealth("target")<20) then C("斩杀");end
/施放 致死打击
/script if(IsActionInRange(63)==1)then C("旋风斩");end
/script if(UnitMana("layer")>39) then C("英勇打击");end

第一行为定义语句
第二行判断压制的CD是否为0,感染CD为0则压制,如果不能压制此行无效
第三行判断是否能处决,能则处决
第四行释放致死打击,(我为什么要用中文?用英文的话宏图标会一直是亮的,用中文明暗时间同致死打击)
第五行,判断敌人的距离,if在5码内的话用旋风(利大弊大?自己衡量吧)
第六行,怒气大于39放英勇打击(这个自己可以随便定义)
效果,能压制压制,不能压制能处决就处决,都不能就放致死,致死CD中,敌人在攻击范围内就用旋风
怒非常多的时候就用英勇打击代替普通攻击。

三,破胆绷带
/施放 破胆怒吼
/script SpellStopCasting();
/target 安达里克
/script if(GetActionCooldown(69)>0) then UseContainerItem(3,1);end
/script TargetLastEnemy()

第一行,释放战士的技能
第二行,停止当前动作
第三行,选择绷带目标,名字改成你自己
第四行,判断破胆这个技能的CD是否大于0,用处就是看看你破胆是否释放成功,
经常我按技能的同时,对手跑出范围了,结果我在那傻傻的绷带,现在破胆不在CD中不会绷带了。
第五行,选择最后一个敌人
效果,目标被恐惧畏缩的同时你自己绷带,1秒都不浪费,恐惧结束刚好绷带完

四,群体攻击
/script G=GetActionCooldown;C=CastSpellByName;
/script F=CastShapeshiftForm;if(G(71)<2)then F(1);else F(3);end
/script if(IsUsableAction(71)==1)then C("横扫攻击");end
/施放 旋风斩
/施放 顺劈斩
/script if(UnitHealth("target")<5)then TargetNearestEnemy();end
自动判断横扫攻击的CD,当CD好了的时候if不在战斗姿态then自动切换到战斗姿态放横扫攻击
然后再自动切换回狂暴姿态,放旋风and顺劈
最后一行判断目标的血量,如果少于5%,则切换下一个目标


五,双手武器和盾切换
/script P=PickupInventoryItem;
/script C=PickupContainerItem;
/script P(17);if(CursorHasItem())then C(4,2);C(4,1)(16);else C(4,1)(16);C(4,2)(17);end

123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:23:03 | 显示全部楼层
猎人宏:
自动反击,猫鼬,猛禽宏
可以代替猛禽一击,能放的话会自动放反击,猫鼬出了反击天赋的
在下边依次填上反击,猫鼬撕咬,猛禽一击 在动作条上的编号,查编号看上边基础知识
/script local b,s,j={反击编号,猫鼬编号,猛禽编号},{"反击\","猫鼬撕咬","猛禽一击\"};for j=1,3 do if IsUsableAction(b[j]) and GetActionCooldown(b[j])==0 then CastSpellByName(s[j]);break;end;end;
没出反击的在下边依次填上猫鼬撕咬,猛禽一击 在动作条上的编号,查编号看上边基础知识
/script local b,s,j={猫鼬编号,猛禽编号},{"猫鼬撕咬","猛禽一击\"};for j=1,2 do if IsUsableAction(b[j]) and GetActionCooldown(b[j])==0 then CastSpellByName(s[j]);break;end;end;

智能钉刺宏
牧师不会解毒,应该用蝰蛇,反倒是对德鲁伊要用蝰蛇1骗驱毒,到头来毒蛇无用?其实应该对所有怪都用毒蛇
功能介绍:按照下列规则放钉刺
战、贼:毒蝎
猎、法、术,萨,牧:蝰蛇
骑,德:蝰蛇1
NPC:毒蛇
/script local c,s,t=UnitClass("target"),"毒蛇钉刺",UnitPowerType("target");if UnitIsPlayer("target") then if t==0 then s="蝰蛇钉刺";if c=="圣骑士" or c=="德鲁伊" then s=s.."(等级 1)";end;else s="毒蝎钉刺";end;end;CastSpellByName(s);

【打贼专用:标记 / 照明弹 】
有目标就标记,没有就放闪光弹
/script if UnitExists("target") then CastSpellByName("猎人印记");else CastSpellByName("照明弹");end;

【雄鹰守护 + 猎人印记 + 宠物攻击 】
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"RavenF") then f=1;break;end;end;if f then c("猎人印记")etAttack();else c("雄鹰守护");end;

【灵猴 猎豹切换 】
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Monk") then f=1;break;end;end;if f then c("猎豹守护");else c("灵猴守护");end;
【灵猴 雄鹰切换 】
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Monk") then f=1;break;end;end;if f then c("雄鹰守护");else c("灵猴守护");end;
【猎豹 雄鹰切换】
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"eTiger") then f=1;break;end;end;if f then c("雄鹰守护");else c("猎豹守护");end;

【灵猴守护 + 威慑 】
威慑的编号看上边基础知识自己填
/script local c,i,b,f,s,d=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Monk") then f=1;break;end;end;if not f then c("灵猴守护");SpellStopCasting();end;s,d=GetActionCooldown(你威慑编号);if d<2 then c("威慑\");end;

【收宠 假死 陷阱】
非战斗状态就放陷阱,否then假死,再按陷阱,注意,战斗中假死瞬间陷阱放不出来的,会提示你正在战斗中
所以战斗中需要狂按这个宏
这个宏WOW 2.0就用不着了
/script PetFollow();if UnitAffectingCombat("player") then CastSpellByName("假死"); else CastSpellByName("冰冻陷阱\");end;

【野兽护符 - 双多重宏 】
护符放饰品1上,把你多重射击换个地方,并查出编号,替换红色字,查编号看上边基础知识
/script local s,d;s,d=GetActionCooldown(你多重射击的编号);if d>2 then UseInventoryItem(13);SpellStopCasting();end;CastSpellByName("多重射击\");

法术书版
/script local s,d;s,d=GetSpellCooldown(你多重射击的编号,"spell");if d>2 then UseInventoryItem(13);SpellStopCasting();end;CastSpellByName("多重射击\");
这个宏可以目前替代多重了,但是马上WOW 2.0要来了,这个宏届时将失效,目前没有解决方案

【宝宝打图腾 】
/script local t,n,i,_={"根基\","战栗\","地缚","灼热","清毒",};for _,i in t do n=i.."图腾";TargetByName(n,1);endetAttack();
宠物宏 - 智能召唤/复活/治疗
如果宠物存在,死的就复活,没死就++,宠物消失了的话就召唤,如果是尸体消失,请同时按住Alt键,
会强制使用复活,因为WOW消失了仍然认为是活的……
/script local p,s="pet","召唤";if UnitIsDead(p) then s="复活\";elseif UnitExists(p) then s="治疗" elseif IsAltKeyDown() then s="复活\";end;CastSpellByName(s.."宠物\");

【寻找稀有精英宠物 】
公共部分已经有了,不过鉴于猎人特殊性在专门写一个
/script local s="断牙";TargetByName(s,1);if UnitName("target")==s then ChatFrame1:AddMessage("找到");end;
上边名字自己修改
针对不同目标调整宠物技能自动施放情况
这个宏可以针对不同类型的目标调整宠物技能的自动施放,比如带蝙蝠面对近战应该打开尖啸,而面对法系就应该关掉
带会爪击的宠物打怪时应该关掉爪击开低吼,而遇到玩家需要关低吼开爪击,这个宏可以自动为你做到
/施放 猎人印记
/script local x,p,j,e,_={1,1,1},UnitPowerType("target");if UnitIsPlayer("target") then if p==0 then x={1,nil,nil,1};else x={1,nil,1};end;end;for j=4,7 do _,_,_,_,_,_,e=GetPetActionInfo(j);if x[j-3]~=e then TogglePetAction(j);end;end;
说明一下,红色的{1,1,1}对应NPC,蓝色的{1,nil,nil,1}对应有蓝职业,绿色的{1,nil,1}对应战,贼
四个1/nil对应宠物技能条4 5 6 7按钮,1代表开,nil代表关,最后一个是nil的话可以不写,
大家可以自己调整技能and对应职业的开关顺序,毕竟不同bb技能不用
123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:23:57 | 显示全部楼层
法师宏:
【冰箱能用就冰箱,没冷却就急速冷却+冰箱】
把 寒冰屏障 放到一个你不用的按钮上,记下编号,编号看上边基础知识,
/script local c,i,b,f,d,_=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strsub(b,5)=="Frost" then f=1;break;end;end;if not f then _,d=GetActionCooldown(你冰箱编号);if d>2 then c("急速冷却");SpellStopCasting();end;c("寒冰屏障");end;

【奥术强化+护符+炎爆术 】
护符放哪里无所谓,会自动开已经冷却的护符
/script local c,x,u,s,p,d,e,_=CastSpellByName,GetInventoryItemCooldown,UseInventoryItem,SpellStopCasting,"player";c("奥术强化);s();_,d,e=x(p,13);if d<2 and e then u(13);else _,d,e=x(p,14);if d<2 and e then u(14);end;end;s();c("炎爆术\");

【气定神闲+炎爆术/施放 气定神闲 】
/script SellStopCasting();
/施放 "炎爆术\"
平时冰箭,出灵风8件效果就火球/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Telep") then f=1;break;end;end;if f then c("火球术\");else c("寒冰箭");end;
这类宏有个特点,平时用小技能,在特定buff出现后换大技能,比如这里冰箭就是小技能,火球就是大技能
既然分出了大小,那就知道可以怎么改了,火球术可以改成其他"大技能",比如 炎爆术
冰箭可以换成其他"小技能",比如 灼烧,都是中国字,别跟我说你不会
平时冰箭,出奥术专注效果就火球/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"ManaB") then f=1;break;end;end;if f then SpellStopCasting();c("火球术\");else c("寒冰箭");end;
同上,火球术可以改成其他的,比如 炎爆术,奥术飞弹,冰箭可以改成 灼烧


【平时冰箭,出奥术专注 或 出灵风8件效果就火球 】
奥术专注是下个法术免费,所以一旦出了特效,要马上取消当前法术,换大的,否then免费特效就被当前法术浪费了
而灵风8件是下个法术瞬发,当前正在引导的不受影响,所以不用取消当前的
由于256字节限制,要取消两个都取消,否then都不取消,那就是说必须都取消,这样灵风会损失当前引导的法术
这种损失就是半个冰箭或者半个灼烧,if大家认为这种损失可以接受的话,就用这个合并版:
/script local c,i,j,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and (strfind(b,"ManaB") or strfind(b,"Telep")) then f=1;break;end;end;if f then SpellStopCasting();c("火球术\");else c("灼烧");end;

【灼烧叠5层就火球,否then继续灼烧 】
/script local c,i,d,n,f=CastSpellByName;for i=1,16 do d,n=UnitDebuff("target",i);if d and strfind(d,"SoulB") then f=1;break;end;end;if f and n==5 then c("火球术\");else c("灼烧");end;

【打贼奥爆宏】
有目标就放最高级奥暴,没有目标就放1级奥暴
/script if UnitCanAttack("target","player") then CastSpellByName("魔爆术\");else CastSpellByName("魔爆术(等级 1)");end;

【自动补 冰甲术,奥术智慧,魔法抑制 】
缺啥补啥,闲着没事按按能强身健体,定国安邦……
/script local n,s,k,j,b,f={"tArm","lSen","hMag"},{"冰甲术\","奥术智慧","魔法抑制"};for k=1,3 do f=nil;for j=1,16 do b=UnitBuff("player",j);if b and strfind(b,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;

【自动把被控制的队友变羊,小队,团队通用版 】
对于会控制玩家的BOSS很有用,比如哈卡,AQ神庙1
/script local n,p,i,t=4,"party";if UnitInRaid("player") then n=40;p="raid";end;for i=1,n do t=p..i;if UnitCanAttack("player",t) then TargetUnit(t);CastSpellByName("变形术\");SendChatMessage("%t 被控制,我把他变羊了~",p);break;end;end;

【随机变羊,猪,乌龟宏】
/script local s,m,r={"",":龟\",":猪\"},{"%t变羊了","%t是乌龟\","%t是猪\"},random(3); CastSpellByName("变形术\"..s[r]);SendChatMessage(m[r],"yell");
可以根据变的种类喊话,想喊什么自己改

【火冲打图腾】
/script local t,n,i,_={"根基\","战栗\","地缚","灼热","清毒",};for _,i in t do n=i.."图腾";TargetByName(n,1);end;CastSpellByName("火焰冲击(等级 1)");

【法师自动制造各种魔法宝石】
SuperMacro版,宏写不下
左边窗口:
/script ConjureManaStone();
右边窗口:
Code:
function ConjureManaStone()
local x,j,b,s,l,f={"红宝石","黄水晶","翡翠\","玛瑙"},1;
while j<5 do
f=nil;
for b=0,4 do
for s=1,18 do
l=GetContainerItemLink(b,s);
if l and strfind(l,"法力"..x[j]) then
f=j;break;
end;
end;
if f then break;end;
end;
if f then j=j+1;
123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:24:27 | 显示全部楼层
小德宏:
【中二变身宏】
RP的变形宏,其他形态then变回人形,人形then喊话并变成相应形态,反复按不会再变回人形
人形态下变熊,并喊"熊的力量!" 其他任何形态则变回人形
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s then SendChatMessage("熊的力量!","yell");c(1);elseif s~=1 then c(s);end;
人形态下变猫,并喊"豹的速度!" 其他任何形态则变回人形
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s then SendChatMessage("豹的速度!","yell");c(3);elseif s~=3 then c(s);end;
人形态下变风暴乌鸦,并喊"鹰的眼睛!" 其他任何形态则变回人形(资料片适用)
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s then SendChatMessage("鹰的眼睛!","yell");c(6);elseif s~=6 then c(s);end;
人形态下变鹌鹑/奶树,并喊"鹌鹑的可爱!" 其他任何形态则变回人形(鹌鹑/奶树自己根据天赋调整……)
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s then SendChatMessage("鹌鹑的可爱!","yell");c(5);elseif s~=5 then c(s);end;
海豹 台词征集中
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s then SendChatMessage("海豹,海豹……","yell");c(2);elseif s~=2 then c(s);end;
旅行 台词征集中
/script local c,s,i,a,_=CastShapeshiftForm;for i=1,6 do _,_,a=GetShapeshiftFormInfo(i);if a then s=i;break;end;end;if not s then SendChatMessage("旅行……","yell");c(4);elseif s~=4 c(s);end;
各种形态变回人形,包括资料片飞行形态
/script local i,a,_; for i=1,6 do _,_,a=GetShapeshiftFormInfo(i); if a then CastShapeshiftForm(i); break; end; end;

【1.12猎豹形态新潜行宏(不会因反复按而导致取消潜行) 】
/script local i,b,f;if not UnitAffectingCombat("player") then for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Ambu") then f=1;break;end;end;if not f then CastSpellByName("潜行");end;end;

【一键 精灵之火 + 月火 + 虫群 】
有虫群的:
/script local n,s,k,j,d,f={"rFall","tSwar","eFire"},{"月火术\","虫群","精灵之火\"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;
没有虫群的:
/script local n,s,k,j,d,f={"rFall","eFire"},{"月火术\","精灵之火\"};for k=1,2 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;

【月火打图腾 】
/script local t,n,i,_={"根基\","战栗\","地缚","灼热","清毒",};for _,i in t do n=i.."图腾";TargetByName(n,1);end;CastSpellByName("月火术(等级 1)");

【变熊 + 冲锋 】
/script local c,a,_=CastSpellByName;_,_,a=GetShapeshiftFormInfo(1);if a then c("野性冲锋\");else c("巨熊形态");end;

【重击 + 人形 + 加血 】
按第一下 重击 敌人,按第二下 如果敌人昏迷则回到人形,按第三下开始放治疗之触,想放别的可以改
优点是如果重击未击中,招架等敌人没晕的话不会变回人形,避免出现危险
由于变形无公共CD,狂按的话可以实现瞬间重击 + 人形效果 + 加血效果
/script local c,i,d,f,a,_=CastSpellByName;for i=1,16 do d=UnitDebuff("target",i);if d and strfind(d,"Bash") then f=1;break;end;end;if f then _,_,a=GetShapeshiftFormInfo(1);if a then c("巨熊形态");else c("治疗之触");end;else c("重击\");end;
治疗之触可以改成其他法术
123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:24:51 | 显示全部楼层
牧师宏:
【进入/取消暗影形态 并切换动作条 】
1是非暗影形态下的治疗魔法条,2是暗影形态下的攻击魔法条
进入/取消暗影形态,并在1,2两动作条间切换,数字可以自己改
/script local i,b,f,p;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"wform") then f=1;break;end;end;if f then p=1;else p=2;end;CastSpellByName("暗影形态");CURRENT_ACTIONBAR_PAGE=p;ChangeActionBarPage();

【心灵尖啸 + 取消暗影形态 】
/施放 心灵尖啸
/script local i,b,f;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"wform") then CastSpellByName("暗影形态");break;end;end;

【给自己能量灌注+心灵专注+护符+技能 】
具体最后跟什么技能自己考虑,因为心灵专注,所以这个技能是免费的,一般亡灵牧师都跟瘟疫了
护符放饰品1位置
/script local c,s,d,e,_=CastSpellByName,SpellStopCasting;c("能量灌注",1);s();c("心灵专注");s();_,d,e=GetInventoryItemCooldown("player",13);if d0 then UseInventoryItem(13);end;s();c("噬灵瘟疫");

【自动补 韧,心灵之火,防护暗影 】
缺啥补啥,闲着没事按按能强身健体,定国安邦……
/script local n,s,k,j,b,f={"dFor","rFir","iSha"},{"真言术:韧","心灵之火\","防护暗影"};for k=1,3 do f=nil;for j=1,16 do b=UnitBuff("player",j);if b and strfind(b,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;

【矮牧 反恐】
/script local i,b,f;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"Excor") then f=1;break;end;end;if not f then CastSpellByName("防护恐惧结界\");end;

【PK驱散宏 】
优先驱散自己身上的Debuff,没有就对目标驱散
/script local t; if UnitDebuff("player",1,1) then t=1;end; CastSpellByName("驱散魔法",t);
123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:25:08 | 显示全部楼层
骑士宏:
【自动换圣契 】
当然使用圣光闪现的时候 自动装备[神性圣契],当我使用驱散的时候 自动装备[优雅圣契]
把两个圣契一个装在身上,另一个放在右边第一个包的第一个格子里

第一个宏:放圣光闪,如果身上带的不是神性圣契就先换,再按放圣光闪现
/script local l=GetInventoryItemLink("player",17);if l and strfind(l,"神性") then CastSpellByName("圣光闪现");else UseContainerItem(0,1);end;

第二个宏:放清洁术,如果身上带的不是优雅圣契就先换,再按放清洁术
/script local l=GetInventoryItemLink("player",17);if l and strfind(l,"优雅") then CastSpellByName("清洁术\");else UseContainerItem(0,1);end;
if圣契放在包的其他位置,自己修改上边红色数字,修改方法看上边基础知识


【打贼奉献宏 】
有目标就放最高级奉献,没有目标就放1级奉献
/script if UnitCanAttack("target","player") then CastSpellByName("奉献");else CastSpellByName("奉献(等级 1)");end;[attachment=2470] [attachment=2470]

九、60年代萨满祭司1.12版宏:
【平时用低级闪电箭,如果出"元素集中"自动换成最高级闪电箭】
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"ManaB") then f=1;break;end;end;if f then SpellStopCasting();c("闪电箭");else c("闪电箭(等级 1)");end;
123123
回复

使用道具 举报

1

主题

9

回帖

29

积分

THWL新人

Rank: 1

积分
29
QQ
 楼主| 发表于 2023-8-7 20:27:29 | 显示全部楼层
萨满平时用低级闪电箭,如果出"元素集中"自动换成最高级闪电箭
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"ManaB") then f=1;break;end;end;if f then SpellStopCasting();c("闪电箭");else c("闪电箭(等级 1)");end;

2)取消泛光宏
/console ffxGlow 0
使用此宏后永久有效,可以解除喝醉或者中毒(尤其是打ZG)后屏幕模糊效果,尾数0改为1可以再次开启泛光

/script ChatFrame_RemoveMessageGroup(ChatFrame1, "CHANNEL") 魔兽大脚怎么屏蔽别人进入频道离开频道
/use [target=player]厚灵纹布绷带

3)跑尸效果宏
/console ffxDeath 0
点击此宏永久有效,效果是跑尸时候屏幕为正常彩色不变灰,0改为1可以恢复系统默认灰色跑尸界面

4)暴击数字变更宏
/console WorldTextScale 2
点击此宏永久有效,效果是暴击伤害数字调整,尾数1为正常,最大的3,喜欢享受暴击效果的可以使用此宏

5)天气效果宏
/console weatherDensity 1
最低是1,最高是3

6)最远视角宏 /console cameraDistanceMaxZoomFactor 4
4对应最远视角

7)聊天窗口显示职业颜色
/console SET chatClassColorOverride "0" 0代表打开,1代表关闭

8)友方姓名板显示职业颜色
/console ShowClassColorInFriendlyNameplate 1
1代表打开,0代表关闭

9)敌方姓名板显示职业颜色
/console ShowClassColorInNameplate 1
1代表打开,0代表关闭

10)隐藏错误红字
/script UIErrorsFrame:Hide() Hide改为Show变更为显示

11)
隐藏动作条两侧狮鹫图标
/Script MainMenuBarLeftEndCap:Hide();
Hide改为Show变更为显示
隐藏默认动作条右侧狮鹫图标
/Script MainMenuBarRightEndCap:Hide();
Hide改为Show变更为显示

12)设置溅血效果等级
/console violenceLevel 2
最后一位数字代表暴力等级,默认是2,最大是5,最小是0 13)

13)修改TAB的距离 改TAB距离0-50码
/console SET targetNearestDistance "50"
改TAB身后距离0-50码,默认10码
/console SET targetNearestDistanceRadius "50"

14)自身高亮
/console findYourselfAnywhere 1
使用此宏,自己角色脚下会有光圈出来,1改为0关闭

15)打开装备比较
/run SetCVar("alwaysCompareItems", "1")
0代表关闭,1代表打开,打开之后当你鼠标放在其他装备的时候会同时弹出你已装备物品框体

16)显示NPC血条
/script SetCVar("nameplateShowFriendlyNPCs",1) 1显示NPC血条,0关闭NPC血条显示

17)调整玩家头顶血条大小
/run SetCVar("nameplateGlobalScale", 1) 默认为1,可以自定义更改,支持小数

18)调整选中目标头顶血条大小
/run SetCVar("nameplateSelectedScale", 1.3) 默认为1,可以自定义更改,支持小数,设定一个大于1的值可以突出选定目标

19)调整未选中目标头顶血条透明度
/run SetCVar("nameplateNotSelectedAlpha", 0.5) 默认为1,可以自定义更改,支持小数,设定一个小于1的值可以淡化未选中的目标

20)调整当前目标头顶血条透明度
/run SetCVar("nameplateSelectedAlpha", 1)
默认为1,可以自定义更改。

21)浮动信息文字大小调整
/run SetCVar("WorldTextScale", 1.4) 数字可以自定义更改调整

22)焦点宏
/focus [target=focus,noexists] 对应取消焦点宏为
/clearfocus [@target,noexists]

23)退队宏
/script LeaveParty() 点击上述宏命令自动退队

24)重置副本宏
/run ResetInstances()
在副本之外的队
长点击此宏直接重置副本

25)暴富宏(纯娱乐)
/script SILVER_PER_GOLD =0.02
此宏是调整个人1G对应多少Y的换算比例,正常应该是100,上面尾数0.02就会导致你的背包内G币数额提升5000倍,更改数字可以自己调整倍率,纯娱乐宏~~
/script SILVER_PER_GOLD =100
就会恢复正常,下线自动恢复正常

26)
随机骑宏
#showtooltips
/run local t={"拉扎什迅猛龙","迅捷祖利安猛虎"};local z="随机坐骑"EditMacro(z,nil,nil,GetMacroBody(z):gsub("e".." .+","e"..""..t[random(#t)],1))
/use 拉扎什迅猛龙
制作此宏时要注意宏名称必须设置为"随机坐骑"四个汉字,坐骑名称改为自己坐骑名称,在{}内加入,""可以添加多个坐骑

27)隐藏LUA错误提示
/console scriptErrors 0 隐藏 LUA 错误 在没有载入LUA纠错第三方插件的情况下,点击此宏可以关闭默认上线之后弹出的LUA错误提示,对应的开启显示宏是
/console scriptErrors 1 以显示 LUA 错误

28)开怪倒数宏
/dbm pull 6 最后的数字可自定义更改倒数时间(暂定6秒)

29)荣誉通报
/script local B=5000 a,b,c,d=GetPVPLastWeekStats()P=(math.floor(GetPVPRankProgress()*B*2))/100 W=UnitPVPRank("player")-4 N=(W-2)*B+B*P/100 Q=(W-1)*B-N*0.8 SendChatMessage(("上周击杀%s 荣誉%s 排名%s 军衔经验等级%s 经验%s 经验%s 条%s%% 下周需%s经验升级"):format(a,c,d,W,N,P,Q),"emote")
通报上周获得荣誉,排名,军衔等级and经验,下周升级所需经验。

30)目标通报
/run local t,g="target"if UnitSex(t)==3 then g="女"else g="男"end;SendChatMessage("我的当前目标:"..UnitName(t).." 职业:"..UnitClass(t).." 血量"..单位健康(t).."("..math.floor(UnitHealth(t)/UnitHealthMax(t)*100).."%) 性别:"..g,"突袭") 团队通报当前目标的血量及百分比,最后的"raid"为团队频道通报,改为"RAID_WARNING"为团队警报频道,"SAY" 为白字,"EMOTE" 为表情橙字,"YELL" 为大喊红字,"PARTY" 为小队频道,"GUILD" 为公会频道,"OFFICER" 为官员频道,"BATTLEGROUND" 为战场频道,"WHISPER"为密语频道

31)冰箱倒数喊话宏
因宏命令字符255限制,首先要设置第一个宏延迟,宏名称设置为"YC",此宏在宏总表中保存即可
return function(f,e,j,c)CreateFrame("frame","H")
local i,s,g,d,T,t,R,E=nil,SendChatMessage,0,0,0,GetTime,H.SetScript,"OnUpdate"T=t()R(H,E,function()d=t()g=f()if g and d-T>1 then i=1 s(format(e,g),c)T=d elseif d-T>1 then m=i and s(j,c)R(H,E,nil)end end)然后再
设置 第二个冰箱喊话宏 /施放 寒冰屏障

/run local g,b,n,a=0,0,"寒冰屏障",loadstring(GetMacroBody("YC"))();a(function()b={AuraUtil.FindAuraByName(n,"player")}g=(b[6] or 0)-GetTime() if g>0 then返回 ceil(g)end end ,"["..n.."]已开,请给我治疗,剩余 %s 秒","["..n.."]效果结束!","yell") 配合延迟宏(此宏中的"YC"要与延迟宏名称一致),然后释放冰箱时候就会连续喊话10次倒数,"寒冰屏障"改为其他技能名称同理,最后的"YELL" 为大喊红字,改为"raid"为团队频道通报,"RAID_WARNING"为团队警报频道,"SAY" 为白字,"EMOTE" 为表情橙字,"PARTY" 为小队频道,"GUILD" 为公会频道,"OFFICER" 为官员频道,"BATTLEGROUND" 为战场频道,"WHISPER"为密语频道

32)阿拉希战场专用宏 通报安全宏,点击之后
通报守点位置安全
/script t=GetSubZoneText();if t=="" then本地 x,y=GetPlayerMapPosition("player")
;t=string.format("%d,%d",x*100,y*100);end;发送聊天消息("["..t.."]目前安全~~","instance_chat") 请求支援宏,点击之后通报守店需要支援
/script t=GetSubZoneText();if t=="" then本地 x,y=GetPlayerMapPosition("player")
;t=string.format("%d,%d",x*100,y*100);end;发送聊天消息("["..t.."]速度支援~~","instance_chat")
来袭人数通报宏,点击一次为1人,2次为2人,3次为3人...
/script ifnot ce 或not le 或 GetTime()-le>10 then ce=0;结束;le=GetTime();ce=ce+1;SendChatMessage( GetMinimapZoneText().."有"..ce.."个敌人来袭!", "instance_chat")

33)插件检索宏
/framestack
如果不清楚面板上的框体是哪个插件或者WA字符串的效果,输入此宏后鼠标挪动到指定位置即可显示框体来源,再次点击此宏关闭检索。

34)41码血条显示
/script SetCVar("nameplateMaxDistance", 41)

123123
回复

使用道具 举报

0

主题

6

回帖

136

积分

THWL会员

Rank: 2

积分
136
角色名
cenabrother
种族
高等精灵
职业
战士
发表于 2023-8-9 01:19:16 | 显示全部楼层
战士冲锋宏用了没反应是为啥呢
回复

使用道具 举报

0

主题

4

回帖

28

积分

THWL新人

Rank: 1

积分
28
角色名
qinxiaox
种族
人类
职业
战士
发表于 2024-1-21 16:50:20 | 显示全部楼层
大哥,ZS宏少了点
15337279588
回复

使用道具 举报

0

主题

39

回帖

2477

积分

THWL精英成员

Rank: 3Rank: 3

积分
2477
角色名
Kocow
种族
牛头人
职业
德鲁伊
发表于 2024-5-31 15:57:07 | 显示全部楼层
有没有判断目标身上debuff,如果中毒就使用驱毒术,如果诅咒,就施放解除诅咒。。。能否一键搞定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|乌龟服 魔兽世界 太好玩啦 公会论坛

GMT+8, 2025-5-4 18:28 , Processed in 0.066521 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表