在《魔兽世界》正式服中,宏命令(Macros)是玩家用来简化操作、实现条件施放或执行复杂指令的强大工具。宏命令通过特定的指令和条件语法,允许玩家在256字符的限制内编写脚本,控制技能、物品、目标选择等行为。以下是魔兽世界正式服宏命令支持的所有指令(截至2025年6月,基于11.0.2版本《地心之战》)的详细罗列,涵盖指令、条件、修饰符以及使用说明。
一、宏命令基础
宏长度限制:每个宏最多256个字符(包括空格和换行)。
执行限制:宏不能完全自动化施放技能,必须由玩家手动触发(Blizzard反自动化规则)。
输入方式:在游戏中输入/macro打开宏界面,创建或编辑宏。
执行宏:将宏拖到动作条,或使用/click MacroName触发。
二、宏命令支持的指令列表
以下是魔兽世界宏命令支持的核心指令,按功能分类,包含详细说明和示例:
1. 技能施放指令
这些指令用于施放技能、魔法或触发效果。
指令 |
功能 |
示例 |
说明 |
---|---|---|---|
/cast |
施放指定技能或魔法 |
/cast 火球术 |
施放指定技能,若冷却或条件不满足则无效。 |
/castsequence |
按顺序施放一系列技能 |
/castsequence 重置=战斗 影袭, 背刺, 肾击 |
按顺序执行技能,每次点击宏施放下一个技能。 reset 可指定重置条件(如 combat 、 target 、秒数)。 |
/stopcasting |
停止当前施法 |
/stopcasting |
中断正在施放的技能(如引导技能)。常用于快速切换技能。 |
/cancelaura |
取消指定增益效果 |
/cancelaura 冰霜护体 |
移除玩家身上的指定Buff。 |
/use |
使用技能、物品或饰品 |
/use 13 /use 强效治疗药水 |
使用指定物品或饰品(13/14为饰品栏位)。 |
/stopspelltarget |
停止当前技能目标选择 |
/stopspelltarget |
取消当前技能的光标选择模式。 |
注意:
/cast和/use可以结合条件(如[target=focus])实现复杂逻辑。
/castsequence适合简单循环,但冷却或资源不足会导致卡住。
2. 目标控制指令
这些指令用于切换或管理目标。
指令 |
功能 |
示例 |
说明 |
---|---|---|---|
/target |
选择指定目标 |
/target 希尔瓦娜斯 |
选择指定NPC或玩家为目标。 |
/targetenemy |
选择敌对目标 |
/targetenemy [noharm] |
选择下一个敌对目标, [noharm] 避免重复选择已有目标。 |
/targetfriend |
选择友方目标 |
/targetfriend |
选择下一个友方目标。 |
/focus |
设置焦点目标 |
/focus |
将当前目标设为焦点。 |
/cleartarget |
清除当前目标 |
/cleartarget |
取消当前目标选择。 |
/clearfocus |
清除焦点 |
/clearfocus |
移除焦点目标。 |
/assist |
协助目标 |
/assist focus |
选择焦点目标的目标(如协助坦克)。 |
注意:
目标指令常与条件结合,如/target [noexists] player在无目标时选择自己。
3. 战斗与动作控制
这些指令用于管理战斗状态或角色动作。
指令 |
功能 |
示例 |
说明 |
---|---|---|---|
/startattack |
开始自动攻击 |
/startattack |
开启近战自动攻击,适合物理职业。 |
/stopattack |
停止自动攻击 |
/stopattack |
停止近战自动攻击。 |
/petattack |
宠物攻击目标 |
/petattack |
命令宠物攻击当前目标。 |
/petfollow |
宠物跟随 |
/petfollow |
命令宠物停止攻击并跟随玩家。 |
/petstay |
宠物停留 |
/petstay |
命令宠物停在当前位置。 |
/petpassive |
宠物被动模式 |
/petpassive |
设置宠物为被动模式,不主动攻击。 |
/petdefensive |
宠物防御模式 |
/petdefensive |
设置宠物为防御模式,自动保护玩家。 |
/petassist |
宠物协助模式 |
/petassist |
设置宠物协助玩家攻击目标。 |
注意:
宠物指令适用于猎人、术士等有宠物的职业。
/startattack常与/cast结合,确保技能施放后立即开始攻击。
4. 物品与装备管理
这些指令用于操作物品或装备。
指令 |
功能 |
示例 |
说明 |
---|---|---|---|
/equip |
装备指定物品 |
/equip 毁灭者之刃 |
装备指定武器或装备。 |
/equipslot |
装备到指定栏位 |
/equipslot 16 毁灭者之刃 |
将物品装备到指定装备栏位(16为主手武器)。 |
/use |
使用物品 |
/use 强效治疗药水 |
使用背包或装备栏中的物品。 |
/useitem |
使用物品(较少用) |
/useitem 13 |
使用指定装备栏位的物品(如饰品)。 |
注意:
装备栏位编号:13/14为饰品,16为主手武器,17为副手武器。
/use支持物品名称或栏位编号。
5. 界面与通知
这些指令用于显示信息或控制游戏界面。
指令 |
功能 |
示例 |
说明 |
---|---|---|---|
/say |
在“说”频道发言 |
/say 准备打断! |
在附近频道发送消息。 |
/yell |
在“喊”频道发言 |
/yell 小心AoE! |
在喊话频道发送消息。 |
/party |
在队伍频道发言 |
/party 治疗我! |
在队伍频道发送消息。 |
/raid |
在团队频道发言 |
/raid 集合石已开 |
在团队频道发送消息。 |
/whisper |
私聊指定玩家 |
/whisper 玩家名 集合 |
向指定玩家发送私聊消息。 |
/run 或 /script |
执行Lua脚本 |
/run print("Hello!") |
执行简单的Lua脚本(受API限制)。 |
/raidwarning |
发送团队警告 |
/raidwarning 躲避! |
需要团队领袖或助理权限。 |
/castsequence |
显示技能序列 |
/castsequence 影袭, 背刺 |
可通过界面显示当前序列进度。 |
注意:
通知指令常用于团队协调,如提醒打断或机制。
/run受限,不能执行复杂自动化操作。
6. 其他指令
这些指令用于杂项功能或界面控制。
指令 |
功能 |
示例 |
说明 |
---|---|---|---|
/click |
模拟点击界面按钮 |
/click MultiBarBottomLeftButton1 |
模拟点击动作条按钮,需知道按钮名称。 |
/reload |
重新加载界面 |
/reload |
刷新UI,常用于调试宏或插件。 |
/dismount |
下坐骑 |
/dismount |
使玩家从坐骑上下来。 |
/leavevehicle |
离开载具 |
/leavevehicle |
使玩家离开载具。 |
/castrandom |
随机施放技能 |
/castrandom 火球术, 寒冰箭 |
从列表中随机选择一个技能施放。 |
/stopmacro |
停止宏执行 |
/stopmacro [noexists] |
如果条件不满足,停止宏后续指令。 |
注意:
/castrandom适合PvP或趣味宏,但不适合精确输出。
/stopmacro常用于条件分支,优化宏逻辑。
三、宏命令支持的条件修饰符
宏命令支持丰富的条件修饰符,用于控制指令在特定情况下执行。条件写在[]中,放在指令前(如/cast [condition] 技能)。多个条件可以用逗号分隔,表示“与”逻辑。
1. 通用条件
条件 |
说明 |
示例 |
---|---|---|
[combat] |
在战斗中 |
/cast [combat] 嗜血 |
[nocombat] |
不在战斗中 |
/use [nocombat] 坐骑 |
[exists] |
目标存在 |
/cast [exists] 火球术 |
[noexists] |
目标不存在 |
/target [noexists] enemy |
[harm] |
目标可攻击 |
/cast [harm] 暗影箭 |
[noharm] |
目标不可攻击 |
/targetenemy [noharm] |
[help] |
目标可治疗 |
/cast [help] 治疗术 |
[nohelp] |
目标不可治疗 |
/stopmacro [nohelp] |
[dead] |
目标已死亡 |
/cast [dead] 复活术 |
[nodead] |
目标未死亡 |
/cast [nodead] 治疗术 |
2. 目标相关
条件 |
说明 |
示例 |
---|---|---|
[target=单位] |
指定目标 |
/cast [target=focus] 驱散魔法 |
[mouseover] |
鼠标悬停目标 |
/cast [mouseover,help] 治疗术 |
[focus] |
焦点目标 |
/cast [focus,harm] 变形术 |
[targettarget] |
目标的目标 |
/assist [targettarget] |
3. 玩家状态
条件 |
说明 |
示例 |
---|---|---|
[stealth] |
潜行状态 |
/cast [stealth] 偷袭 |
[nostealth] |
非潜行状态 |
/cast [nostealth] 影袭 |
[mounted] |
在坐骑上 |
/dismount [mounted] |
[nomounted] |
不在坐骑上 |
/use [nomounted] 坐骑 |
[flying] |
飞行中 |
/cast [flying] 降落术 |
[noflying] |
非飞行中 |
/cast [noflying] 飞行形态 |
[swimming] |
游泳中 |
/use [swimming] 水下呼吸 |
[indoors] |
室内 |
/use [indoors] 炉石 |
[outdoors] |
室外 |
/use [outdoors] 坐骑 |
4. 按键修饰符
条件 |
说明 |
示例 |
---|---|---|
[mod:shift] |
按下Shift键 |
/cast [mod:shift] 肾击; 影袭 |
[mod:ctrl] |
按下Ctrl键 |
/cast [mod:ctrl] 冰箱 |
[mod:alt] |
按下Alt键 |
/cast [mod:alt] 传送门 |
[nomod] |
未按修饰键 |
/cast [nomod] 火球术 |
5. 技能与资源
条件 |
说明 |
示例 |
---|---|---|
[known:技能] |
已学会技能 |
/cast [known:嗜血] 嗜血 |
[noknown:技能] |
未学会技能 |
/cast [noknown:嗜血] 英雄主义 |
[mana:X] |
法力值达到X% |
/use [mana:20] 法力药水 |
[form:X] |
姿态/形态编号 |
/cast [form:1] 熊形态 |
[noform] |
无特定形态 |
/cast [noform] 旅行形态 |
[channeling] |
正在引导技能 |
/stopcasting [channeling] |
[nochanneling] |
未引导技能 |
/cast [nochanneling] 火球术 |
6. 其他条件
条件 |
说明 |
示例 |
---|---|---|
[spec:X] |
特定天赋专精(1-4) |
/cast [spec:1] 治疗波 |
[talent:行/列] |
选择了某天赋 |
/cast [talent:3/2] 牺牲咆哮 |
[equipped:物品] |
装备了某物品 |
/use [equipped:毁灭者之刃] 技能 |
[party] |
在队伍中 |
/say [party] 准备好了 |
[raid] |
在团队中 |
/raidwarning [raid] 机制提醒 |
[pet] |
宠物存在 |
/petattack [pet] |
[nopet] |
无宠物 |
/cast [nopet] 召唤恶魔 |
条件组合:
用逗号(,)表示“与”逻辑:[combat,harm]表示“战斗中且目标可攻击”。
用分号(;)分隔不同条件分支:/cast [combat] 火球术; [nocombat] 寒冰箭。
条件为空([])表示无条件:/cast [] 火球术。
四、宏命令示例
以下是一些实用宏,展示如何结合指令和条件实现复杂功能:
1. 单键输出循环(盗贼)
lua
/castsequence reset=combat 影袭, 背刺, 肾击
/startattack
功能:按顺序施放“影袭”→“背刺”→“肾击”,战斗重置序列,自动开始攻击。
限制:若技能冷却或连击点不足,序列会卡住。
2. 条件施放(法师)
lua
/cast [mod:shift] 冰箱; [mod:ctrl] 传送门; 火球术
功能:默认施放“火球术”,Shift施放“冰箱”,Ctrl施放“传送门”。
3. 治疗鼠标悬停(牧师)
lua
/cast [target=mouseover,help,nodead][help,nodead][target=player] 快速治疗
功能:优先治疗鼠标悬停的友方目标,若无则治疗当前目标,若无目标则治疗自己。
4. 打断宏(战士)
lua
/cast [harm] 拳击
/stopmacro [noharm]
/say 打断 %t 的技能!
功能:对敌对目标施放“拳击”,并在队伍频道通知打断目标名称。
5. 宠物管理(猎人)
lua
/cast [nopet] 召唤宠物; [pet, nodead] 治疗宠物
/petattack [pet,harm]
功能:无宠物时召唤,宠物存活时治疗宠物,并命令宠物攻击敌对目标。
五、宏命令的局限性与注意事项
自动化限制:
宏不能自动连续施放技能,必须每次手动触发。
不能使用循环或延时(禁止/wait等指令)。
全局冷却(GCD):
宏中的多个/cast受GCD限制,通常只有第一个技能生效。
使用/castsequence或条件分支避免GCD冲突。
字符限制:
256字符限制可能导致复杂宏无法完整编写,需精简逻辑。
调试与测试:
在训练假人或安全区域测试宏,确保逻辑正确。
使用/macro检查宏是否报错(如技能名称错误)。
版本兼容性:
技能名称可能因版本更新变化(如简中/繁中差异),确保使用当前版本的正确名称。
检查天赋或专精条件(如[spec:1])是否适配当前角色。
宏命令的整体编辑界面大致如下:(此为我开始写这篇BLOG时我的宏窗口现状,还是很多年前的旧宏数据)