您的位置:玩一玩 > 游戏攻略 > 正文

魔兽世界正式服宏命令攻略进阶篇 魔兽世界宏命令大全

2024-08-09 18:08:01来源:玩一玩游戏网编辑:kzw

魔兽世界中,宏命令可以大幅度降低玩家的操作难度,而一套称手的宏可以大大提高输出效率,并且在某些特定的场景,一些宏帮助玩家保命甚至可以扭转战机,在上篇文章分享了新手向的宏命令设置,本篇文章为玩家整理了进阶版宏命令设置攻略。

魔兽世界正式服宏命令攻略进阶篇 魔兽世界宏命令大全

新手向教学以及宏命令分享请点击前往:魔兽世界新手向宏命令设置攻略

一、条件语法

1.条件语句

首先先介绍概念,该类别的宏命令则是会检查条件是否正确,并判断释放技能。

命令条件语可以通过对一组条件进行的判断来选择命令的实际参数。首先,可以用分号分隔出若干个“若干组条件+参数”这样的子句,逻辑上,分号就相当于高级语言中的else或是elseif。条件的组数不定,也可以没有,同一组条件用一个方括号括在一起。而每组条件中有可以包含多个条件。

/命令 [一组条件] [另一组条件] 参数1; [又一组条件] 参数2; ……

先来组简单垃圾宏:

/cast [help] [target=targettarget, help] [target=player] 快速治疗

该命令为/cast释放技能类型,其中有三个判断条件,宏命令从左往右判断条件:首先判断当前目标是否可以接受增益法术,如果不行则进入第二个条件判断,首先将目标改变为目标的目标(target=targettarget,其中"="相当于高级语言中的赋值,将玩家的目标赋值为目标的目标)在","后面则为判断条件,判断该目标是否能接受增益法术,如果判断结果为否,则进行下一个条件,下一个条件没有判断语句,仅仅将目标改为自己,所以对自己释放快速治疗。

梳理解释一下该宏含义:首先判断当前目标是否能被快速治疗,如果不能则将目标改变为当前目标的目标并判断是否能被快速治疗,如果还是不能则将目标改变为玩家自己进行快速治疗

如果三个条件都不能执行,将会执行魔兽世界底层逻辑:当无法对目标释放增益效果或者无目标的情况下,对玩家自己释放快速治疗。

魔兽世界正式服宏命令攻略进阶篇 魔兽世界宏命令大全

2.条件语句组成

注意:条件对大小写敏感,如果把[help]写成了[Help],宏运行时会报错

每组条件都是由逗号分隔的一些条件语组成的,各条件不分前后次序。在逻辑上,[target=]赋值总是先起到效果,再进行条件判定,其中","的含义为"并且"

所以[help, nodead, target=focus]的含义是:我的焦点目标是活的并且可以接受增益效果。

除了"help"、"nodead"等状态以外,有些条件可以指定一些特定的参数,比如[stance]姿态,单独使用时表示:在任一姿态中,如果给它加上参数,则可以指定在某种特定的姿态中,格式是在条件语后加上":"冒号。例如:

/cast [stance:1/2]盾击;防御姿态

这个宏命令用类高级语言表示就是:

if 处于姿态1或2

then 使用盾击

else 切换防御姿态

如果玩家处于姿态1或姿态2则使用盾击,否则切换为防御姿态,而";"分号的作用就相当于对于之前的指令进行另一个操作(或者加上判断条件)如:

/cast [help] 恢复; [harm] 暗言术:痛

首先判断目标能否接受增益法术,如果能则执行/cast 恢复,如果不能则判定目标能否被伤害,如果能则执行/cast 暗言术痛。

但如果两个条件都不成立,由于后面没有别的操作,这条宏命令就算执行完了,但也是什么动作都没做。

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语言的语法执行,利用客户端提供的接口可以产生强大的智能。所以暴雪就给它加了限制,防止它被滥用而影响游戏平衡性。我之所以要先讲脚本的限制,为的是让大家对它别抱太大希望。虽然脚本还是很有用,但是不能用来施法、使用物品、改换技能栏或改变当前目标。这些功能只能依靠那些宏命令来实现。

魔兽世界客户端的用户界面是可以通过LUA脚本控制的。通过/run和/script命令就可以执行脚本(我个人推荐使用/run,节省字符数……)。在命令后面书写脚本内容,中间不能换行。不过一个宏中可以包含多个/run命令。 过多关于LUA语言和编程的内容本文就不再赘述。如果你有一定的编程经验,那么就可以访问lua.org学习LUA语言。如果没有什么基础,那么请先看《编程入门》了解一些基本概念。 暴雪提供了很多API函数(Application Programming Interface),可以在LUA脚本中调用来实现对界面的控制(如果你打算花时间好好研究魔兽世界插件的话,(WoWWiki是最优选择)。我不可能把所有关于用户界面的细节都讲到,因此我只打算用我最常用的一个宏做例子,它会向所有和你目标相同的人发送悄悄话,通知他们改变目标。这样就可以防止已被羊的人受到攻击。

/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的宏命令完全指南

更多游戏攻略请关注玩一玩游戏网

本站发布此文仅为传递信息,不代表本站认同此观点或证实其描述

相关阅读