宏命令教程

一、前言:

1、由于CastSpellByName()和TargetUnit()在2.0被禁用,所以2.0之前的大部分宏将无法使用。现在,宏写法也有了很大的变化。没有宏可以检查Buff,Debuff,冷却,血量,魔法,怒气,能量。但是,大家也不用太惋惜,现在的宏可以实现许多新的功能,并且非常强大。

2、在使用一些宏之前请先检查你的按键设置。系统默认Ctrl+1到10是使用宠物技能栏,而Shift+1到6是选定动作条。有些宏在使用时由于自己的设置有可能和这些默认的按键冲突,解决办法为改宏或者改掉系统默认的按键设置。

3、把这篇文章一字不漏的看完,那么95%的宏你都可以自己写了。

二、上手教程

简单的说,宏就是创建一连串的命令集,通过鼠标点击或按下键盘某个按键就让电脑自动执行这一系列命令。

在进入游戏之前,特别是用全屏模式进行游戏的,需要掌握一些基本知识。曾经在网吧看过一位玩家做宏,他把网站上别人写好的宏用一张纸抄写下来,然后进入游戏宏设置中一字字敲下,途中发现某些宏用不了,又退出游戏打开网站查询,拿笔记在纸上再次进入游戏尝试。。。。。。

看到这里可能玩转电脑的高手们会笑,但确实是这样,不是亲眼目睹我也不敢相信还有人用这样原始的做宏方法。

所以,首先有必要说明在操作系统平台下或游戏中,当不能使用鼠标右键弹出选项菜单时几个键盘组合键功能:

1.“Ctrl”控制键+“C”键---复制

2.“Ctrl”控制键+“V”键---粘贴

3.“Ctrl”控制键+“X”键---剪切

4.“Ctrl”控制键+“A”键---全选

5.“Windows”键(即操作系统图标的按键一般位于“Ctrl”控制键与“Alt”换档键之间)+“D”键---最小化所有任务到任务栏并显示桌面。

6.“Windows”键+“Tab"制表键---在任务栏打开的各项任务间进行切换。

下面让我们在游戏中一步步设置宏命令:

一.进入游戏后按“Esc”键或点主菜单图标可打开游戏主选单,点选“宏命令设置”。

当然亦可敲下“回车”键在对话框中输入/MACRO也能打开宏命令设置界面。

二.打开宏命令设置面板后,如果想建立的是角色专用宏,还必须先点上方“通用宏”旁边的角色“专用宏”,在选“新建”后打开建立新宏的面板:

三.输入宏的名字,选取一个宏图标后点“确定”,就建立了一个新宏。

这里需要注意的是,当选取的是第一个“?”号形的图标时,该宏图标将以宏内容中输入的法术技能图标显示。

四.点击宏命令主面板上方中的宏图标,在下方输入宏内容,然后将这个宏图标拖放到快捷技能栏里,就能使用了。

五.宏命令内容的输入:

1.宏的内容中每项命令以分行的形式隔开,这里说的分行并不是说宏面板上写到一定数量后顺列到下行,而是指在宏内容中敲下“回车”键后所进行的分行。在中文版的WOW中不论是输入中文或英文命令,只要输入字符正确均能使用,一般在宏中使用英文不必区分大小写。想把某个技能写进宏中,只需打开技能面板后点击宏内容中想要输入的地方,然后按住“Shift”上档键同时点击法术技能图标就可以;想把背包中某件物品名写进宏中亦是同理。

例:暗夜精灵在喝水的同时施放影遁(宏中的斜杠/+“use"+空格+物品名是物品使用宏的一般格式,当然后面的物品名也可换成魔法面包等等)/坐下

/use魔法晶水

/施放影遁(种族特长)

2.行为命令宏内容的一般书写格式:斜杠/+空格键+技能名(或行为内容)

书写技能的时候若在后面加上(等级X),将使用特定等级的法术,仅书写技能名时默认使用最高等级的法术

例:猎人在标记敌对目标的同时喊话提醒队友

/大喊我已进行标记大家集中火力消灭他!

/施放猎人印记

在写宏中大家以后还会经常用到“%t”这个字符,“%t”表示你当前目标的名字。

例:猎人在标记一只野猪的同时喊话提醒队友

/大喊我已标记%t大家集中火力消灭他!

/施放猎人印记

3.在TBC中当某个技能带有公共CD时(近战一般是1秒,法系1.5秒),也就是施放某个法术时其他大部分技能图标也会跟着绕一圈的时间,这种带有公共CD的技能在宏内容中仅仅依靠简单分行顺序施放的方法是不行的。

例如:战士想通过连续按宏在压制不能使用时施放英勇打击(在TBC的宏规则中当“压制”处于冷却时间或不可用导致施放失败后,第二次按该宏就会继续重复运行第一行的“/施放压制”,不能自动跳过尚未放出的技能转到第二行宏命令)

所以,下面这个宏是失败的:

/施放压制

/施放英勇打击

但是,仍可通过简单分行顺序施放编在同个宏中的技能命令,条件是“技能为瞬发并且这几个技能间不同享公共CD”,比如冷血和伏击。

例:战士在施放血性狂暴,当血性狂暴技能尚未冷却时再次运行该宏就施放战斗怒吼(“cast”等于“施放”)

/cast血性狂暴

/cast战斗怒吼

另外,虽然同享公共CD,但释放条件不同的技能仍然可用各种宏函数串接起来顺序施放,在以后的教程中会谈到这类宏内容的设置。

4.选择和切换目标宏,这在游戏中是较为频繁使用的!

目标选择宏一般书写格式为:宏函数+空格+目标内容

例:不论当前目标是什么或者没有目标,立即切换到指定目标加BUFF

/target角色名字

/cast奥术智慧(等级3)

一些常用的目标选择宏函数有:

target选定目标,例如/target冬狼

targettarget目标的目标,例如/targettargettarget指目标立即切换到当前目标的目标

pet宠物,例如/click[pet]PetActionButton1指的是使用宠物技能栏中第一个技能

partyX表示第X个小队队友,例如party1,party2。。。。。。

partypetX表示第X个小队队友的宠物,例如partypetX1,partypetX2。。。。。。

raidX表示第X个团队队友,例如raid1,raid2。。。。。。

/cleartarget清除当前目标

/targetlasttarget选定上一个目标

/startattack对当前目标进行连续性攻击直到目标死去或消失,这个宏对近战和带宠职业非常有用!

5.其它一些常用宏命令:

/AFK暂离,当然也可以输入中文/暂离

/DND请勿打扰,还可进行自动回复,例如/DND我有事离开一下,待会再谈!

/1将聊天频道切换为综合频道

/6将聊天频道切换为寻求组队频道

例:需要离开电脑一段时间,想把信息传到综合和寻求组队频道,同时令角色马上处于暂离状态并自动回复宏

/1我的朋友们注意啦,我有事要离开一会,等会来了再找大伙聊哈

/6我的朋友们注意啦,我有事要离开一会,等会来了再找大伙聊哈

/DND我有事离开一下,待会再谈!

/AFK

大家也可以在游戏中查询命令:打开对话框后键入斜杠/,再输入中文单字或英文字母,然后陆续按下“Tab”制表键,会在对话框中分别列出以这个字开头的所有命令。

例如键入字母“/a”后按几次“Tab”制表键,会依次显示出以字母“a”开头的/assist,/afk,/announce,/ann,/agree等等命令!

6.用操作系统中的“记事本”程序,打开游戏目录中宏的记录文件可直接对宏命令进行编辑。

通用宏文件夹位置:WorldofWarcraft→WTF→Account→以您游戏帐号命名的文件夹→macros-cache.txt

角色专用宏文件夹位置:WorldofWarcraft→WTF→Account→以您游戏帐号命名的文件夹→以您游戏角色所在服务器命名的文件夹→以您游戏角色名称命名的文件夹→macros-cache.txt。

身上各个部位编号:

1:头

2:颈

3:肩

4:衬衣

5:胸

6:腰带

7:腿

8:脚

9:手腕

10:手套

11:手指1

12:手指2

13:饰品1

14:饰品2

15:背

16:主手

17:副手

18:远程武器

动作条编号:

主动作条1为 1--12

主动作条2为13--24

主动作条3(右1)为25--36

主动作条4(右2)为37--48

主动作条5(右下)为49--60

主动作条6(左下)为61--72

背包及包裹格子编号:

背包从右到左的编号分别是:4、3、2、1、0~

包裹格子的编号是从左至右排列,一个包的第一行分别是:1、2、3、4~ 然后是包裹第2行:5、6、7、8~下面几行依次类推。

二宏命令讲解:

/cast

简单的说就是/施放,并且使用这个命令的宏只有一个法术会被施放。现在的这个命令可以加入条件来判定法术是否被施放。比如“/cast [help,combat] 快速治疗”,这个宏的意思是当目标为友善,并且在战斗中,那么施放快速治疗。

可用的条件:

help-判断目标是否为友善;

harm-判断目标是否为敌对;

combat-判断你是否在战斗中;

stance或stance:#-判断你是否在姿态中或是否在指定姿态中;

stealth-判断你是否在潜行;

modifier或modifier:x(x可为shift、ctrl、alt 或者是它们的组合)判断某个或某几个按键是否被按下。

equipped:-判断某件物品是否在装备中。可以是装备栏编号、装备分类(武器、副手。。。)、装备子类(双手剑、法仗等等。。。)target=-可以把技能目标指定为任何有效的目标,并且可以另你不丢失当前目标!还可以为“none”,用来指定没有目标的时候。“self”,用来指定只对自己施放。比如“/use [target=self] 厚符文布绷带”,无论任何时候都只对自己使用绷带。

actionbar:-判断当前动作条是否被列出。可为1、2、3、4、5、6~

pet:-pet type为宠物类型;pet name为宠物名字。如果不填写宠物类型或名字则判断宠物是否存在。

mounted-判断是否在坐骑上。

swimming-判断是否在游泳。

flying-判断是否在飞行中。

outdoors-判断你是否在室外。

indoors-判断你是否在室内。

button:<#>判断某个特定按钮是否被用来触发技能。<#>可为1(鼠标左键)、2(鼠标右键)、3(鼠标按键3,也就是鼠标滚轮向下按,不是向上滚也不是向下滚)、4(鼠标按键4,多键鼠标专用)、5(鼠标按键5,多键鼠标专用)。默认为1。

channeling-判断你是否在引导法术。

channeling:法术名称-判断你是否在引导特定的法术。

exists-判断特定目标是否存在。

dead-判断目标是否死亡。

stance:<#>-判断是否在姿态中,默认为1(只写stance不写编号为默认)。牧师的暗影形态,盗贼的潜行都为1。

战士:1战斗、2防御、3狂暴

德鲁伊:1熊、2海豹?、3猫、4旅行、5枭兽/树

equipped:装备名称/类型/子类型-判断某件装备是否在装备中。比如

“/cast [equipped:魔杖] 射击”,这个宏的意思是如果装备魔杖就使用射击。

/castsequence

连续点击可以按顺序施放指定法术。一个法术施放失败,后面的法术就不会被施放。

常使用的条件选相:

reset=<#>或target或combat或它们的组合,其他同“/cast”。

简单介绍一下<#>/target/combat的作用。

<#>-代表数字,一般都是1到1800,单位为秒。/castsequence reset=120 部落徽记,亡灵意志,这个宏的功能是先使用部落徽记,然后使用亡灵意志。如果120秒后亡灵意志依然没有被施放那么还是使用部落徽记。但是,reset=<#>永远都是在你施放最后一个法术的时候开始记时。

target-切换目标时重至宏。

combat-战斗开始时重至宏。

所有条件都可以在前面加“no”来达到相反的效果!比如“nocombat”,判断你是否不在战斗。

“,”相当于以前的and。比如“/cast [help,combat]快速治疗”,这句的意思就是目标为友方并且在战斗中时使用快速治疗。

“/”相当于以前的or。

/castrandom

随机施放法术,比如“/castrandom 变形术:猪,变形术:羊,变形术:龟”。(我变~我变~我变变变!)

/use

使用物品或装备,不再需要指定编号。比如“/use 厚符文布绷带”。

/userandom

随即使用指定的几件物品。

三目标选定:

/targetenemy

选定一个敌对目标。

/targetfriend

选定一个友善目标。

/targetparty

选定一个小队队友为目标。

/targetraid

选定一个团队队友为目标。

/targetlasttarget

选定上个目标。

/targetlastenemy

选定上个敌对目标。

/assist

协助~同“/协助”。

四宠物类:

/petattack

宠物攻击。

/petstay

宠物停止。

/petfollow

宠物跟随。

/petpassive

宠物被动形态。

/petdefensive

宠物防御形态。

/petaggressive

宠物攻击形态。

/petautocaston 法术名称

宠物法术自动施放开启。

/petautocastoff 法术名称

宠物法术自动施放关闭。

五其他

/focus

一直锁定一个目标~比如把这个命令和宠物攻击结合做一个宏。再比如你当前的宠物是MM,并且用这个宏让MM去攻击一个战士,然后你切换了目标,并让MM施放诱惑,这时MM诱惑的目标不会是你当前的目标,而是刚才的那个战士。

# show <法术名称/物品名称>

这个命令可以让你的宏显示指定法术或物品的图标。

/cancelaura

取消BUFF~比如“/cancelaura 奥术智慧”。

/stopmacro [option]

停止宏,可加条件判定。这里有一个特殊的例子:

/cast [harm] 变形术

/stopmacro [noharm]

/p 正在把%t變羊!別去碰它!

如果变形术施放失败,那么就不会在小队内说话。

/click

点击?貌似是的。和“/cast”一样何以加事件判断。

实例:/click [pet:虚空行者]PetActionButton1

还要说的一个重点内容:“PetActionButt on1”,1可以改为1-10任何一个数,意思就是宠物技能栏的1-10。

最后,送大家两个宏:

/console SET targetNearestDistance "50"

将“TAB”能选定目标的最远距离改为50码。

/console SET targetNearestDistanceRadius "50"

将“TAB”能选定身后目标的最远距离设为50码,不过并不推荐这么做,20就够了。

学习实践这个帖子的小经验和小问题

学习实践这个帖子的小经验和小问题,终于可以用简体字了,我真不易..

因为在tf玩,所以下面有繁体字,技能名有出入...

先谈经验:

1.不要直接copy 别人的代码到以下文件中:

"盘符:\Program Files\World of Warcraft\WTF\Account\帐号名\服务器名\人物名\macros-cache.txt"

容易出问题,我就遇到过2行代码,死活不灵,在游戏里重新输入一遍,就好了 =..=

2.在宏里加一个"#showtooltip",看技能效果很方便,特别是"3吸取"那种宏,开始不熟悉快捷键可以看看.

3.不要乱添分号 ";":

但凡与写代码沾一点边的人,一行字结尾不加个";"就全身不舒服.....以懒人练级宏为例:

#showtooltip

/castsequence [nomodifier] reset=combat/target 生命虹吸,痛苦詛咒,腐蝕術,獻祭,吸取生命,吸取生命;

/cast [modifier:alt]吸取靈魂;[modifier:ctrl]吸取法

力;[modifier:shift]吸取生命;

这是一个错误的示范,加了";",后面的3吸取就没有效果了,要去掉....

4.宏的图标选择,请多试试图标选择面板里的第一个"问号图标".

以亡灵意志宏为例,图标选择"?",如果看看macros-cache.txt,图标名就是"INV_Misc_QuestionMark"

#showtooltip

/stopcasting

/cast [nomodifier]防護暗影結界;[modifier:alt]亡靈意志

这个宏在我的技能栏1的第5格上,按5就是暗防,按alt+5就是反恐.

当选择问号图标并拖到技能栏以后,问号图标就显示"防護暗影結界"的图标了,会显示该技能cd,当你按下"alt"(注意还不是"alt+5"),该图标自己变化为"亡靈意志",并且显示的是"亡靈意志"的cd.

上面经验3里那个宏我就用的问号图标,特方便看现在该施放哪一个技能了.懒要懒出境界,好比ui区的一个版主..

再来谈谈问题:

问题1:

在上面经验4的宏,按下ctrl或者shift时候,图标仍然是"防護暗影結界",但下面这个宏:

#showtooltip

/cast [nomodifier]生命分流;[modifier:alt]魔甲術;

如果按下ctrl或者shift时候,图标却变化为"?",当然手指抬起后,会正常不影响使用,不知是我个体的原因,还是什么,还请大家帮忙看看.

问题2:

在放火雨,或者搓暗蛋的时候,我想打断咒语吟唱,一般是后退2步,有没有宏可以直接打断?

/stopcasting 可以打断炉石,但是不能打断火雨什么的.

如果没有这种宏,能让我后退一步的宏也可以 =..=

问题3:

在wow2里我想在施放一个技能时候随机说一句话的宏如何写,前面那个绑定石头的好像不合适,以前那个跑龙套的喊话宏好像也不好用.

比如:

#showtooltip

/stopcasting

/cast 恐惧术

宏的函数库

1.发送消息

1.1 SendChatMessage("message","system","language","channel")

作用:发送一条聊天消息

参数:

"message":要发送的消息

"system":聊天消息想要发送的类型,可使用:

"SAY":说

"WHISPER":密语,必须在参数"channel"中指明密语对象的名字,可配合函数UnitName("unit")使用

"CHANNEL":频道,必须在参数"channel"中指明频道的编号,省略时为”综合”

"GUILD":工会

"PARTY":小队

"RAID":组团

"YELL":大喊

"language":使用的语言,若无参数"channel"时可省略。

在CWOW中可使用”通用语”、”兽人语”等。亦可指定WOW中使用的其它语言,准确的语言名可使用函数GetDefaultLanguage(“unit”)获得。

参数"language"指定的语言仅对发送者生效,接受者将以其默认语言接收。

1.2 GetDefaultLanguage(“unit”)

作用:返回参数”unit”指定的单位所使用的默认语言

2.字符运算

2.1 strfind(“string”,”pattern”)

作用:在字符串”string”中寻找字符(串)”pattern”

返回值:若找到,返回2个值,开始位置、结束位置;若找不到,返回nil

2.2 format(“formatstring”,value,…,…)

作用:使用value,…,…提供的值,按照”formatstring”指定的格式,建立字符串

“formatstring”中常用的格式:

%s:字符串

%d:整数

%f:浮点数

3.好友/屏蔽

3.1 AddFriend("name")

作用:将指定名字的玩家加入好友列表

参数:

"name":玩家的名字,可使用函数UnitName("unit")获得

3.2 AddIgnore("name")

作用:将指定名字的玩家加入屏蔽列表

3.3 DelIgnore("name")

作用:将指定名字的玩家从屏蔽列表中删除

3.4 AddOrDelIgnore("name")

作用:切换指定名字的玩家的屏蔽状态

4.组队

4.1 InviteToParty("unit")

作用:邀请参数”unit”指定的单位加入小队

4.2 InviteByName("name")

作用:邀请指定名字的玩家加入小队

4.3 UninviteFromParty("unit")

作用:将参数”unit”指定的单位踢出小队

4.4 UninviteByName("name")

作用:将指定名字的玩家踢出小队

4.5 LeaveParty()

作用:离开小队

4.6 UnitInParty("unit")

作用:判断参数”unit”指定的单位是否和玩家在同一小队中

4.7 GetNumPartyMembers()

作用:返回除玩家外的队友数

4.8 GetNumRaidMembers()

作用:返回包括玩家在内的团友数;若未组团,返回0

4.9 GetPartyMember(N)

作用:返回指定号码的队友的名字

返回值:若该队友不存在,返回nil

5.地图位置

5.1 GetZoneText()

作用:返回地区名

5.2 GetSubZoneText()

作用:返回分区名;若玩家并未位于一分区内,返回空值(并非nil值)

5.3 GetMinimapZoneText()

作用:返回小地图上显示的区域名。若玩家位于一分区内,相当于函数GetSubZoneText();若玩家并未位于一分区内,相当于函数GetZoneText()

5.4 SetMapToCurrentZone()

作用:将世界地图设置到玩家所位于的地区

5.5 SetMapZoom(continent)

作用:将世界地图设置到参数continent指定的大陆

参数continent:

0:整个世界

1:卡里姆多

2:东部王国

5.6 GetPlayerMapPosition("unit")

作用:返回参数”unit”指定的单位在当前地图中所处的坐标

参数:

"unit":可使用”player”、”partyN”及”target”。”target”仅能用于友好单位。

返回值:若可用,返回2个值,X轴坐标、Y轴坐标,返回值位于0~1区间;否则,均返回0

6.物品

6.1 PickupContainerItem(bag,slot)

作用:鼠标左击,参数bag指定的背包中、参数slot指定的格子

参数:

bag:背包的编号,0~4,自右向左

0:最右侧的背包(出生时自带的16格包)

4:最左侧的背包(猎人的箭袋、子弹袋)

slot:背包格子的编号,1~16,自左向右,由上而下

1:最上排最左侧格子

2:最上排最左2格子

6.2 PickupInventoryItem(id)

作用:鼠标左击人物属性窗口中,参数id指定装备格子

参数:

id:装备格子的编号

1:头

2:颈

3:肩

4:衬衣

5:胸

6:腰带

7:腿

8:脚

9:手腕

10:手套

11:手指1

12:手指2

13:饰品1

14:饰品2

15:背

16:主手

17:副手

18:远程武器

6.3.1 UseContainerItem(bag,slot)

作用:鼠标右击,参数bag指定的背包中、参数slot指定的格子

6.3.2 UseInventoryItem(id)

作用:鼠标右击人物属性窗口中,参数id指定装备格子

6.4 CursorHasItem()

作用:判断指针当前是否持有物品

6.5 OffhandHasWeapon()

作用:判断副手是否装备了武器(盾不是武器)

6.6 AutoEquipCursorItem();

作用:自动装备指针当前持有的物品

6.7 DeleteCursorItem()

作用:摧毁指针当前持有的物品

6.8.1 GetContainerItemLink(bag,slot)

作用:返回参数bag指定的背包中、参数slot指定格子的物品链接

6.8.2 GetInventoryItemLink("unit",id)

作用:返回参数”unit”指定单位的、参数id指定装备格子的物品链接6.9 GetContainerItemInfo(bag,slot)

作用:返回参数bag指定的背包中、参数slot指定格子的物品信息

6.10 IsBagOpen(bag)

作用:判断参数bag指定的背包是否打开

6.11 ToggleBag(bag)

作用:打开/关闭参数bag指定的背包

6.12 CloseBag(bag)

作用:关闭参数bag指定的背包

6.13 OpenBag(bag)

作用:打开参数bag指定的背包

6.14CloseAllBags()

作用:关闭所有的背包

6.15 OpenAllBags()

作用:打开/关闭所有的背包

7.运动

7.1 MoveForwardStart()

作用:向前移动。仅能由函数MoveForwardStop()停止。

7.2 MoveForwardStop()

作用:停止向前移动

7.3 MoveBackwardStart()

作用:向后移动

7.4 MoveBackwardStop()

作用:停止向后移动

7.5 StrafeLeftStart()

作用:向左移动

7.6 StrafeLeftStop()

作用:停止向左移动

7.7 StrafeRightStart()

作用:向右移动

7.8 StrafeRightStop()

作用:停止向右移动

7.9 TurnLeftStart()

作用:向左转动

7.10 TurnLeftStop()

作用:停止向左转动

7.11 TurnRightStart()

作用:向右转动

7.12 TurnRightStop()

作用:停止向右转动

7.13 ToggleAutoRun()

作用:开启/关闭自动跑步状态

7.14 Jump()

作用:跳

8.目标选择

8.1 ClearTarget()

作用:清除选定的目标

8.2 TargetUnit("unit")

作用:选定参数”unit”指定的单位为当前目标

8.3 TargetByName("name")

作用:选定指定名字的玩家为当前目标

8.4 TargetLastEnemy()

作用:选定前次曾选定的敌人为当前目标

8.5 TargetLastTarget()

作用:选定前次曾选定的目标为当前目标

8.6.1 TargetNearestFriend()

作用:选定位置最近的友方单位为当前目标

8.6.2 TargetNearestPartyMember()

作用:选定位置最近的队友为当前目标

8.6.3 TargetNearestRaidMember()

作用:选定位置最近的团友为当前目标

8.7 TargetNearestEnemy()

作用:选定位置最近的敌人为当前目标

参数:TargetNearestEnemy(1):逆序选择

8.8 AssistUnit("unit")

作用:选定参数”unit”指定单位的当前目标为自身的当前目标

8.9 AssistByName("name")

作用:选定指定名字玩家的当前目标为自身的当前目标

9.目标性质状态

9.1 UnitAffectingCombat("unit")

作用:判断参数”unit”指定的单位是否处于战斗状态

9.2.1 UnitBuff("unit",index)

作用:返回参数”unit”指定单位上、参数index指定序号的Buff的信息返回值:若该单位上不存在该序号的Buff,返回nil;若存在,返回该Buff 的相关信息

9.2.2 UnitDebuff("unit",index)

作用:返回参数”unit”指定单位上、参数index指定序号的Debuff的信息

9.3 UnitExists("unit")

作用:判断参数”unit”指定的单位是否存在

9.4 UnitIsPlayer("unit")

作用:判断参数”unit”指定的单位是否是玩家

9.5.1 UnitIsUnit("unit","otherUnit")

作用:判断2个单位是否是同一单位

9.5.2 UnitIsEnemy("unit","otherUnit")

作用:判断2个单位是否敌对

9.5.3 UnitIsFriend("unit", "otherUnit")

作用:判断2个单位是否友好

9.6.1 UnitInParty("unit")

作用:判断参数”unit”指定的单位是否是队友

9.6.2 UnitInRaid ("unit")

作用:判断参数”unit”指定的单位是否是团友

9.7.1 UnitCanAttack("unit","otherUnit")

作用:判断参数”unit”指定的单位是否可以攻击参数"otherUnit"指定的单位

9.7.2 UnitCanAssist("unit","otherUnit")

作用:判断参数”unit”指定的单位是否可以支援参数"otherUnit"指定的单位

9.7.3 UnitCanCooperate("unit","otherUnit")

作用:判断参数”unit”指定的单位是否可以与参数"otherUnit"指定的单位合作

9.8 UnitName("unit")

作用:返回参数”unit”指定单位的名字

参数:

“unit”:指定的单位,可使用:

"player":玩家自身

"pet":玩家自身的宠物

"party1","party2","party3","party4":1至4号队友

"partypet1"~"partypet4":1至4号队友的宠物

"raidN":N(1~40)号团友

"raidpetN":N(1~40)号团友的宠物

"target":当前选中的目标,可以将"target"做为后缀直接添加在所

有”unit”类型之后

9.9 UnitClassification("unit")

作用:返回参数”unit”指定单位的分级(精英、稀有、普通)

9.10.1 UnitCreatureType("unit")

作用:返回参数”unit”指定单位的物种分类(野兽、……)

9.10.2 UnitCreatureFamily("unit")

作用:返回参数”unit”指定单位的物种(螃蟹、狼、熊、……)

9.11 UnitClass("unit")

作用:返回参数”unit”指定单位的职业(战、牧、法、……)

9.12.1 UnitFactionGroup("unit")

作用:返回参数”unit”指定单位所处的集团(联盟、部落)

9.12.2 UnitRace("unit")

作用:返回参数”unit”指定单位的种族(人类、兽人、……)

9.13 UnitSex

作用:返回参数”unit”指定单位的性别

9.14 UnitLevel("unit")

作用:返回参数”unit”指定单位的等级

返回值:若等级未知(骷髅),返回-1

9.15.1 UnitMana("unit")

作用:返回参数”unit”指定单位的当前法力(能量、怒气)值

返回值:法力(能量、怒气)值的当前点数

9.15.2 UnitManaMax("unit")

作用:返回参数”unit”指定单位的最大法力(能量、怒气)值

返回值:法力(能量、怒气)值的最大点数

9.16.1 UnitHealth("unit")

作用:返回参数”unit”指定单位的当前生命值

返回值:返回生命值的当前点数;但对”target”,返回生命值的当前百分数(0~100)

9.16.2 UnitHealthMax("unit")

作用:返回参数”unit”指定单位的最大生命值

返回值:返回生命值的最大点数;但对”target”,返回100

10.攻击/跟随

10.1 AttackTarget()

作用:开启/关闭自动攻击状态

10.2 PetAttack()

作用:命令宠物攻击

10.3 FollowUnit("unit")

作用:跟随参数”unit”指定的单位

10.4 FollowByName("name")

作用:跟随指定名字的玩家

11.法术

11.1 CastSpellByName("spellname(Rank X)")

作用:施放指定名称的法术

11.2 CastSpell(spellID,"spellbookTabNum")

作用:施放参数spellbookTabNum指定的法术书标签中、参数spellID指定位置的法术

参数spellbookTabNum:"spell"或"pet"

11.3 GetSpellCooldown(spellID,spellbookTabNum)

作用:返回指定法术的冷却信息

返回值:返回2个值:冷却开始的时间、冷却周期;若无冷却,均返回0

11.4 SpellIsTargeting()

作用:判断是否有法术正在施放并等待选择目标

11.5 SpellCanTargetUnit("unit")

作用:判断正在等待选择目标的法术能否向参数”unit”指定的单位施放

11.6 SpellTargetUnit("unit")

作用:向参数”unit”指定的单位施放正在等待选择目标的法术

11.7 SpellStopCasting()

作用:停止当前的施法

11.8 CastShapeshiftForm(index)

作用:切换到参数index指定的形态/姿态(职业相关)

德鲁依

1 = 熊形态

2 = 水中形态

3 = 猫形态

4 = 旅行形态

盗贼

1 = 潜行

战士

1 = 战斗姿态

2 = 防御姿态

3 = 狂暴姿态

11.9 GetNumShapeshiftForms()

作用:返回可用的形态/姿态的数量

12.动作条和动作相关

12.1 ChangeActionBarPage()

作用:将动作条切换到系统全局变量CURRENT_ACTIONBAR_PAGE的设定值

12.2 UseAction(ActionSlot)

作用:执行与参数ActionSlot指定的动作槽相关联的动作

参数ActionSlot:1~72,第1动作条的第1格为1、第12格为12,第2动作条的第1格为13、第12格为24,……,第6动作条的第1格为61、第12格为72。第3动作条是右侧动作条,第4动作条是右2动作条,第5动作条是底部右侧动作条,第6动作条是底部左侧动作条。

12.3 GetActionCount(ActionSlot)

作用:返回指定动作(绷带、药水等)的可用数量

12.4 GetActionCooldown(ActionSlot)

作用:返回指定动作的冷却信息

返回值:返回2个值:冷却开始的时间、冷却周期;若无冷却,均返回0

12.5 IsUsableAction(ActionSlot)

作用:判断指定动作是否可用

返回值:返回2个值:是否可用——若当前可用(不包括冷却和距离判断)则返回1,否则返回nil;法力不足——若指定动作当前不可用的原因是法力/能量/怒气不足则返回1,否则返回nil。

12.6 IsActionInRange(ActionSlot)

作用:判断指定动作是否在可用距离内

返回值:无动作或无目标时返回nil;超出可用距离时返回0;在可用距离内返回1。注意若距离对该动作无效或不能对选定的目标施法时总是返回1。

13.宠物

13.1 PetAttack()

作用:宠物攻击

13.2 PetFollow()

作用:宠物跟随

13.3 PetWait()

作用:宠物等待

13.4 PetDismiss()

作用:宠物解散

13.5 CastPetAction(PetActionID)

作用:施放参数PetActionID指定序号的宠物技能

13.6 GetPetActionCooldown(PetActionID)

作用:返回指定宠物技能的冷却信息

返回值:返回2个值:冷却开始的时间、冷却周期;若无冷却,均返回0

13.7 PetAggressiveMode()

作用:将宠物设为好斗模式

13.8 PetDefensiveMode()

作用:将宠物设为防御模式

13.9 PetPassiveMode()

作用:将宠物设为被动模式

14.其它

14.1 GetTime()

作用:返回当前的游戏内部时间,单位秒

14.2 random(lower,upper)

作用:返回随机数

返回值:随机数。无参数时位于[0,1)区间;提供单个参数n时,返回值位于[1,n]区间;提供两个参数lower、upper时,返回值位于[lower,upper]区间

14.3 CloseMerchant()

作用:关闭商人窗口

14.4 GetComboPoints()

作用:返回连击点数

14.5 Logout()

作用:登出

14.6 Quit()

作用:退出

相关文档
最新文档