企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
下面是整个宏系统可用的条件列表。2.0补丁的目标之一是消除许多旧的“智能按钮”,这些按钮允许人们在整个游戏中反复发送一个键。然而,许多人们使用宏来简化的任务被认为是OK的,并且通过宏选项得到了暴雪的认可。 如果您没有在此处列出条件,则无法检查条件并采取与战斗有关的动作。尽管它们将来可能会增加,但这些基本上是不可协商的。 ## 下列前面可以加no的条件 下面列出的也可以通过在它们前面加上“ no”来检查它们的虚假性而不是真实性。例如,\[nocombat\]是有效的条件,并且只有在不参加战斗的情况下才会执行跟随它的动作。 actionbar:1/.../6 or bar:1/.../6 — 给定动作栏页面被选中。 bonusbar:1/... — 一个(特定的)奖励动作条当前会覆盖玩家的主要动作条。 button:1/.../5/<virtual click> 或者 btn:1/.../5/<virtual click> — 宏被给定的鼠标按钮激活。 canexitvehicle — 玩家在车里,可以随意离开。 channeling:<spell name> — 玩家正在引导给定的咒语。 cursor — 鼠标光标当前正在保存一个项目/能力/宏/等等。 combat — 玩家在战斗中。 dead — 条件目标存在且已死 nodead:存活 equipped:<item type> 或者 worn:<item type> — 判断某件物品是否在装备中 可以是装备栏编号、装备分类(武器、副手。。。)、装备子类(双手剑、法仗等等。。。) target=\<unit> — 可以把技能目标指定为任何有效的目标,并且可以另你不丢失当前目标!还可以为“none”,用来指定没有目标的时候。“self”,用来指定只对自己施放。比如`/use [target=self] 厚符文布绷带`,无论任何时候都只对自己使用绷带。 exists — 目标存在。 extrabar — 玩家目前有一个额外的行动栏/按钮。 flyable — 可飞行时 flying — 悬挂的或以飞行形式和在空中的。 form:0/1/2/.../n or stance:0/.../n — 以某种形式或姿态 比如 [Bear Form], [Shadowform], [Metamorphosis], [Battle Stance], 等等. group:party/raid — 玩家属于给定类型的组(如果参数省略,默认为party:小队)。 harm — 目标存在并且可以被有害法术(例如[火球])锁定。 同nohelp help — 目标存在并且可以被有效的增益法术(例如[治疗])锁定。 同noharm indoors — 玩家在室内 modifier:shift/ctrl/alt 或者 mod:shift/ctrl/alt — 按下功能键alt/shift/ctrl时,可缺省 ~~~ /cast [modifier, help] [modifier, @targettarget, help] 瞬间治疗; [help] [@targettarget, help] 强效治疗术 ~~~ 按下键盘左边的ctrl按钮时释放猎人的标记,但当按下键盘右边的shift按钮时释放假死 ``` /cast [modifier:lctrl] 猎人印记; [modifier:rshift] 假死 ``` 创建一个宏,它有一个x的修饰符和两个x的修饰符,其中一个修饰符和x的修饰符是一样的,对于y,你必须先写两个修饰符 ``` /cast [modifier:alt, modifier:ctrl, @focus] 奇美拉射击; [modifier:ctrl] 奥术射击; 稳固射击 ``` 当你不使用任何修饰词的时候,只希望获得某种效果的时候,负条件的nomodifier是有用的。例如,以下宏可以使漂浮术消失,除非使用了shift符,否则它会取消漂浮术的光环。如果没有‘nomodifier’,它每次都会被重新抛起。 ~~~ /cancelaura [modifier:shift] 飘浮术 /cast [nomodifier] 飘浮术 ~~~ self-cast变量的意思是“你的self-cast修饰符被设置成什么”。默认值是alt(施法时按住alt键会尝试施法给自己),不过一些插件会给你改变这个选项 ~~~ /cast [modifier:SELFCAST, @player] [@mouseover] [ ] Greater Heal ~~~ * AUTOLOOTTOGGLE (shift) * STICKYCAMERA (ctrl) * SPLITSTACK (shift) * PICKUPACTION (shift) * COMPAREITEMS (shift) * OPENALLBAGS (shift) * QUESTWATCHTOGGLE (shift) mounted — 播放器安装。 outdoors — 玩家在户外。 overridebar — 玩家的主要行动栏目前被覆盖行动栏取代。 party — 条件目标存在并且在你的队伍中。 pet:<pet name or type> — 它允许你根据你的宠物选择一个动作。跟宠物名或者宠物类型 宠物类型可以使用`/run print(UnitCreatureFamily("pet"))`获取 ~~~ /cast [pet] Freeze; Frost Nova ~~~ petbattle — 目前正在参加宠物大战。 possessbar — 玩家的主要行动栏目前被占有行动栏取代。 raid — 件目标存在并且在你的团队中。 resting — 玩家目前正在休息。 shapeshift — 玩家的主动作栏现在被临时变形动作栏取代。 spec:1/2 — 玩家的主动专精组(天赋,天赋和雕文)。 stealth —玩家在潜行中。 swimming — 玩家在游泳。 talent:<row#>/<column#> — Talent is activated. unithasvehicleui — 条件目标有载具UI。 vehicleui —玩家有载具UI。 @unit or target=unit — 将条件目标设置为unit(一个任意字符串,虽然unitIds与其他条件结合使用可能更有用);总是认为满意。 ## ### actionbar:1~6 将\[腐败\]施放到你的鼠标所在的单位上(如果它存在并且是敌对的),但如果不是这样,则施放\[生命之戳\]: ~~~ /cast [@mouseover,harm] 腐败; 偷取生命 ~~~ 该宏将在动作栏2和3之间切换 如果是2则施放狂野怒火 其他则施放野性守护 ``` /swapactionbar 2 3 /cast [actionbar:2] 狂野怒火;野性守护 ``` ### button:1~5 或者 btn:1~5 >判断某个特定按钮是否被用来触发技能 1(鼠标左键)、2(鼠标右键)、3(鼠标按键3,也就是鼠标滚轮向下按,不是向上滚也不是向下滚)、4(鼠标按键4,多键鼠标专用)、5(鼠标按键5,多键鼠标专用)。默认为1 ~~~ #show Swift Green Mechanostrider /userandom [nobutton:2, flyable, nomounted] 黑色狮鹫; [nomounted] 乌龟, 摩托车 /dismount [noflying] [button:2] ~~~ 未骑乘时的行为:如果可以使用,左键点击将选择黑色鹰头狮(可飞行),否则它将随机选择乌龟或摩托车。右键点击总是会选中一个。 骑乘时的行为:左键单机只会在不飞行时下马。右键单击总是会下马。 “虚拟点击”通常是可以忽略的,但如果你使用一个栏mod它可能是有用的。响应各种状态更改的操作栏将单击转换为决定使用哪个操作的虚拟操作栏。因为这些虚拟点击是插件指定的 ### exists 给定的单元是否存在。换句话说,如果没有目标,\[exists\]将返回false。如果你有一个焦点,\[@focus, exists\]就是真的。注意,在某些情况下\[存在\]是不必要的。 \[help\], \[harm\], \[dead\], \[party\], and \[raid\]都暗示\[exists\],如果它们是真的。 ### flyable [flyable]确定您是否在允许使用飞行支架的区域中。有一些例外,例如战斗中的冬草,即使禁止实际飞行,[flyable]也将是正确的 ### stance:1/2/3/4/5/6 或者 form:1/2/3/4/5/6 玩家处于某种形态 形态是德鲁伊变形,盗贼(潜行),牧师(暗影形态),萨满(幽灵狼),术士变形以及僧侣和战士姿态的总称 如: 恢复:1熊,2水栖,3豹,4旅行,5树,6飞行 平衡:1熊,2水栖,3豹,4旅行,5枭兽,6飞行 恢复:1熊,2水栖,3豹,4旅行,5树,6飞行 ~~~ /cast [form:1/3] 撕裂; [noform] 愤怒 ~~~ 以下脚本将打印您当前所在的表单/姿势的表单索引: ~~~ /run print(GetShapeshiftForm()) ~~~ ### channeling:<spell name> >通常情况下,如果你正在引导一个法术并开始施放另一个法术,它将取消该通道。这个选项允许您避免这种情况发生,还有其他一些用途。例如,你可能想取消某个咒语,但又不想取消另一个。单独通灵可以匹配任何法术,你也可以列出任意数量的法术名来检查。 注意:引导和施法不一样。\[引导]条件只适用于\[奥术飞弹\]、\[吸取生命\]、\[心灵鞭笞\]等法术,这些法术必须随时间引导才能产生效果。 ### equipped:\<item type> 或者 worn:\<item type> 挑选盾牌重击或重击取决于我有什么装备 ~~~ #show [equipped:Shields] 盾牌猛击; Pummel /cast [equipped:Shields,stance:1/2] 盾牌猛击; [equipped:Shields] 防守姿态; [stance:3] Pummel; 狂战士姿态 ~~~ 下面用伪代码显示上面宏的逻辑 ~~~ if 装备了盾牌 and 我处于战斗或防御姿态 then /cast 盾牌猛击 else if a shield is equipped then /cast 防守姿态 else if 我是狂战士姿态 then /cast Pummel else /cast 狂战士姿态 ~~~ ## **对特定目标释放技能** ``` #showtooltip /cast [@目标名,exists] [] 技能名  #showtooltip /cast [@哈提,exists] [] 灵魂治愈 ``` >此宏会对特定目标释放所定的技能,目标不存在的话就直接释放技能 如果没有同名的那么系统会选择一个"某种程度上比较相近"的人 同时也可以写player,raid#之类的,详见第一部分 ## **简单的循环** #showtooltip /castsequence reset=条件1/条件2 技能1,技能2,技能3 依次释放技能,技能名之间用","间隔 条件可以是  #(秒数) target(切换目标) combat(进入战斗) shift/alt/ctrl(按下shifit/alt/ctrl) 例 Code:  ``` #showtooltip /castsequence reset=6/combat 痛击,横扫,挫志咆哮,横扫 ``` ``` /run local a={"萦雾","幽界","幽影"} b=mod(b or 0,#(a))+1 BrowseName:SetText(a[b]) QueryAuctionItems(a[b]) ``` 2.1.5.双技能宏 #showtooltip ``` /cast [条件]技能1;技能2 ``` >符合条件就释放技能1,否则就释放技能2 技能名之间用";"间隔 条件可以是自身条件也可以是目标条件 可以用来节省空间,制作也极为简单  例1: Code:  ``` #showtooltip /cast [stance:1]激怒;猛虎之怒 例2: Code: #showtooltip /cast [harm]安抚;解除腐蚀 ``` in :延迟执行 ~~~ /say start! /in 3 /say 3s later /in 6 /say 6s later ~~~