魔兽世界宏命令基础教学(1)
第1页:魔兽世界宏命令基础教学(1)第2页:魔兽世界宏命令基础教学(2)第3页:魔兽世界宏命令基础教学(3)第4页:魔兽世界宏命令基础教学(4)第5页:魔兽世界宏命令基础教学(5)第6页:魔兽世界宏命令基础教学(6)
一、前言:
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"制表键---在任务栏打开的各项任务间进行切换。
大家好,我是3区狂风峭壁服务器侏儒小法师陈真,谢谢大家能看我的文章!
下面让我们在游戏中一步步设置宏命令:
一.进入游戏后按“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=
actionbar:
pet:
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
还要说的一个重点内容:“PetActionButton1”,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 Close
Bag(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 Fol
lowByName("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 CastPetAc
tion(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()
作用:退出