魔兽世界正式服插件与宏-敏锐盗贼实用宏探索(1)-宏命令制作入门与基本知识
在《魔兽世界》正式服中,宏命令(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时我的宏窗口现状,还是很多年前的旧宏数据)