魔兽世界正式服宏命令攻略进阶篇 魔兽世界宏命令大全
魔兽世界正式服宏命令攻略进阶篇 魔兽世界宏命令大全
《魔兽世界》中的宏命令系统是一个强大的工具,能够帮助玩家简化操作流程,提高游戏效率。本文将深入讲解宏命令的进阶用法,包括条件语法、可使用条件的命令以及脚本的使用方法。
一、条件语法
1. 条件语句
首先介绍概念,该类别的宏命令会检查条件是否正确,并判断释放技能。命令条件语可以通过对一组条件进行的判断来选择命令的实际参数。分号相当于高级语言中的else或elseif。条件的组数不定,也可以没有,同一组条件用一个方括号括在一起。每组条件中可以包含多个条件。
示例:
/cast [help] [target=targettarget, help] [target=player] 快速治疗
解释:首先判断当前目标是否能被快速治疗,如果不能则将目标改变为当前目标的目标并判断是否能被快速治疗,如果还是不能则将目标改变为玩家自己进行快速治疗。
2. 条件语句组成
注意:条件对大小写敏感。每组条件都是由逗号分隔的一些条件语组成的,各条件不分前后次序。在逻辑上,[target=]赋值总是先起到效果,再进行条件判定,其中","的含义为"并且"。
示例:
/cast [stance:1/2]盾击;防御姿态
解释:如果玩家处于姿态1或姿态2则使用盾击,否则切换为防御姿态。
3. 条件为空
有时候我们需要在特定条件下对特定目标释放技能,并在条件不成立的情况下按常规释放,此效果可以用空条件来实现:
示例:
/cast [target=mouseover,help][ ]圣光闪现
解释:如果鼠标当前目标可以被治疗则对目标释放圣光闪现,如果不能被治疗则直接释放圣光闪现。
4. 参数为空
示例:
/petattack [target=focus, harm];
解释:无论焦点目标能否被伤害,都会释放宠物攻击。
二、可以使用条件的命令
以下是一些可以使用条件的命令:
/assist
/cancelaura
/cancelform
/cast
/castrandom
/castsequence
/changeactionbar
/clearfocus
/cleartarget
/click
/dismount
/equip[2]
/equipslot[2]
/focus
/petagressive
/petattack
/petautocastoff
/petautocaston
/petdefensive
/petfollow
/petpassive
/petstay
/startattack
/stopattack
/stopcasting
/stopmacro
/swapactionbar
/target
/targetenemy
/targetfriend
/targetlasttarget
/targetparty
/targetraid
/use
/userandom
三、命令条件语
面列出宏命令系统中支持的所有条件语。如果你需要的判断条件没有在此列出,那么就不可能通过该条件来执行安全化命令的动作。后面也有可能增加。
help
:目标可以接受增益法术harm
:目标可以受到攻击exists
:目标存在dead
:目标已经挂了stance:0/1/2../n
:玩家在某姿态下stealth
:玩家在潜行状态下modifier:shift/ctrl/alt
:某功能键被按下button:1/…/5/<虚拟按键号>
:宏通过某键点击执行equipped:<装备类型>
:玩家装备了某类型物品channeling:<法术名称>
:玩家正在引导某法术actionbar:1/…./6
:当前技能栏为某动作栏pet:<宠物名称或类型>
:玩家当前宠物为某宠物combat
:玩家正在战斗状态mounted
:玩家在骑乘状态swimming
:玩家在游泳flying
:玩家在飞行状态flyable
:玩家正处在一个允许飞行的地界indoors
:玩家在室内outdoors
:玩家在户外party
:目标在玩家的小队中raid
:目标在玩家的小队或团队中group:party/raid
:玩家在某集体中(小队/团队)
四、脚本(进阶)
脚本是一个强大的工具,它按照LUA语言的语法执行,利用客户端提供的接口可以产生强大的智能。但是暴雪给它加了限制,防止它被滥用而影响游戏平衡性。虽然脚本还是很有用,但是不能用来施法、使用物品、改换技能栏或改变当前目标。这些功能只能依靠那些宏命令来实现。
示例:
/cast 变形术
/run for i=1,GetNumRaidMembers()-1 do local u,t="raid"..i,"target"if UnitIsUnit(u..t,t)then SendChatMessage("Change targets! Trying to sheep...","WHISPER",nil,UnitName(u))end end
如果把代码单独拿出来美化一下的话,应该是这个样子:
for i = 1, GetNumRaidMembers() - 1 do
local unit = "raid"..i
if UnitIsUnit(unit.."target", "target") then
SendChatMessage("Change targets! Trying to sheep...", "WHISPER", nil, UnitName(unit))
end
end
总而言之,脚本适合有魔兽世界插件开发想法的人研究,但如果学会如何编写并使用脚本的话,则可以实现许多宏命令无法解决的问题。
本篇文章参考wowwiki.com,Cogwheel的宏命令完全指南