下面是整个宏系统可用的条件列表。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
~~~
- 基础
- 循环
- 迭代器
- ipairs与pairs 的区别
- 流程控制if
- 函数
- 运算符
- 字符串
- 数组
- table(表)
- 模块与包
- 魔兽插件
- 初学介绍
- api
- Global API
- Widget API
- 窗口小部件类层次结构(Widget Class Hierarchy)
- 动画(Animation)
- 透明度(Alpha)
- 线条缩放比例(LineScale)
- 平移(Translation)
- 线平移(Line Translation)
- 路径(Path)
- 旋转(Rotation)
- 缩放(Scale)
- 纹理坐标平移(TextureCoordTranslation)
- 框架 :Frame
- 浏览器(Browser)
- 按键(Button)
- Item按钮(ItemButton)
- 检查按钮(CheckButton)
- 检测(Checkout)
- 颜色选择(ColorSelect)
- 冷却(Cooldown)
- 编辑框(EditBox)
- 战争迷雾(FogOfWarFrame)
- 游戏工具提示(GameTooltip)
- 消息框(MessageFrame)
- 小地图(Minimap)
- 模型(Model)
- 玩家模型(PlayerModel)
- 电影模型(CinematicModel)
- 换装模型(DressUpModel)
- 战袍模型(TabardModel)
- _模型场景(ModelScene)
- 电影Frame(MovieFrame)
- 根小部件(Root Widgets)
- UIObject衍生品(UIObject Derivatives)
- 动画衍生品(Animation Derivatives)
- FontInstance
- 地区衍生品(Region Derivatives)
- 帧衍生品(Frame Derivatives)
- 特殊(Special)
- Events(游戏中变化的事件)
- WoWAPI
- Global Function Groups
- 帐户(Account)
- 成就(Achievements)
- 动作条(Action Bars)
- Action Buttons
- 插件(AddOns)
- 冒险指南(Adventure Guide)
- 神器(Artifact)
- 拍卖行(Auction House)
- 黑市AH
- 魔兽代币(WoW Tokens)
- Azerite
- 背包(Bags)
- 容器(Containers)
- 库存(Inventory)
- 银行(Bank)
- 公会银行(Guild Bank)
- 理发店(Barber Shop)
- 书籍(书籍)
- 日历(calendar)
- 相机(Camera)
- 频道(Channels)
- 聊天窗口(Chat Window)
- 社区(communities)
- 语音聊天(Voice Chat)
- 推特(Twitter)
- 角色(Character)
- 角色表(Paper Doll)
- 试衣间(dressing room)
- 活动(Movement)
- 指定目标(Targeting)
- 死亡(Death)
- 过场动画(Cinematics)
- 职业(class)
- 天赋(Talents)
- 收藏(Collections)
- 坐骑(Mount Journal)
- 宠物(Pet Journal)
- 玩具箱(Toy Box)
- 传家宝(Heirlooms)
- 外观(Appearances)
- 战斗记录(Combat Log)
- 战斗宠物(Combat Pets)
- 同伴(Companions)
- Contribution Collection
- 货币(Currency)
- 光标(Cursor)
- 客户支持(Customer Support)
- 知识库(Knowledge Base)
- 设备管理器(Equipment Manager)
- 扩展(Expansions)
- FrameXML
- 好友(Friends)
- Who List
- 真实身份证(Real ID)
- 招募朋友(Recruit-a-Friend)
- 驻军(Garrisons)
- 建筑物(Buildings)
- 战利品(Trophies)
- 追随者与任务(Followers & Missions)
- 团队(Groups)
- Raid Groups
- Raid Profiles
- 组查找器(Group Finder)
- 突袭者(Raid Finder)
- 公会(Guild)
- 检查(Inspection)
- Instances
- 场景(Scenarios)
- Mythic+
- 入侵(Invasions)
- 海岛探险(Island Expeditions)
- Items
- 按键绑定(Key Bindings)
- Modifiers
- 劫掠(Looting)
- 失控(Loss of Control)
- 宏命令(Macros)
- 邮件(Mail)
- 地图(Maps)
- 飞行管理员(Flight Master)
- 追踪(Tracking)
- 商人(Merchant)
- 铭牌(Nameplates)
- 宠物大战(Pet Battles)
- 申请书(Petitions)
- 专业(Professions)
- 考古(Archaeology)
- 附魔(Enchantments)
- 雕文(glyphs)
- 物品插口(tem Socketing)
- PvP
- 竞技场(Arena)
- 战场(Battlegrounds)
- 世界战场(World Battlefields)
- 争吵(Brawl)
- 战争游戏(War Games)
- 战争模式(War Mode)
- 任务 (Quests)
- 任务日志(Quest Log)
- 任务选择(Quest Choices)
- Task Quests
- 闲聊(Gossip)
- 探险地图(Adventure Map)
- 战争战役(War Campaigns)
- 种族(Races)
- 境界(Realms)
- 报告(Reporting)
- 声望(Reputation)
- 报废的机器(Scrapping Machine)
- 法术(Spells)
- Spell Book
- 商店(Shop)
- 召唤(Summoning)
- 系统(System)
- 网络(Network)
- 控制台(Console)
- 日期时间(Date & Time)
- 调试(Debugging)
- 图形(Graphics)
- 语言环境(Locales)
- 脚本分析(Script Profiling)
- 安全执行(Secure Execution)
- 声音(Sound)
- Sound Drivers
- Talking Head
- 交易(Trading)
- 训练师(Trainer)
- 迁移(Transmogrification)
- 空白存储(Void Storage)
- 讲解(Tutorials)
- UI对象(UI Objects)
- 框架(Frame)
- 字体(Font)
- 质地(Texture)
- 混合(Mixin)
- 咒语(SpellMixin)
- ItemMixin
- 物品位置(ItemLocationMixin)
- PlayerLocationMixin
- 模型场景(ModelScene)
- 未分类
- UI窗口小部件管理器(UI Widget Manager)
- 单位(Units)
- 光环(Auras)
- 玩家(Players)
- 实用程序(Util)
- 车辆(Vehicles)
- Classic Specific Functions
- 猎人宠物(Hunter Pets)
- 专业(Professions)
- 手工制作(Crafting)
- @PvP
- 模拟器
- 训练师(Trainer)
- 8.x API
- 控制台(Console)
- 召唤(Summoning)
- See also
- 外部链接(External links)
- Widget handlers(UI交互事件)
- ScriptObject
- AnimationGroup
- Animation对象
- Alpha对象
- Scale
- LineScale
- Translation
- LineTranslation
- Path
- Rotation
- TextureCoordTranslation
- Frame
- Browser
- Button
- CheckButton
- ItemButton
- Checkout
- ColorSelect
- Cooldown
- EditBox
- FogOfWarFrame
- GameTooltip
- Model
- PlayerModel
- CinematicModel
- DressupModel
- TabardModel
- MovieFrame
- ScrollFrame
- Slider
- MessageFrame
- Minimap
- ModelScene
- OffScreenFrame
- POIFrame
- ArchaeologyDigSiteFrame
- QuestPOIFrame
- ScenarioPOIFrame
- SimpleHTML
- StatusBar
- UnitPositionFrame
- WorldFrame
- 入门
- .toc
- .lua
- .xml
- 示例
- 自动邀请插件
- 完整例子:显示任务坐标
- eCoordinates.toc
- eCoordinates.xml
- eCoordinates.lua
- 开发帮助组件
- AddOn Studio编辑器
- 暴雪自带调试工具
- DevTools调试插件
- wowlua
- 魔兽宏
- 战斗宠物命令
- 暴雪界面命令
- 聊天命令
- chat substitutions
- 角色指令
- 开发者工具
- 表情动作
- 战斗命令
- 公会命令
- 小队与团队命令、
- 宠物命令
- PvP的命令
- 系统命令
- 目标函数
- 命令
- 被禁用的命令
- 宏条件
- 装备物品编号