第二步,光有牺牲没有瞬招怎么行~牺牲完胖子我还想瞬招一个出来呢。
/cast 恶魔支配
“恶魔支配”,术士无公共CD法术。
第三步,光有瞬招却不招宠物是不行的,所以。。。
/cast 召唤虚空行者
“召唤虚空行者”,不用解释了吧。。。。。。。。
第四步,现在“牺牲”、“恶魔支配”、“召唤虚空行者”都写好了,下面把他们组合起来。
/cast 牺牲
/cast 恶魔支配
/cast 召唤虚空行者
组合起来之后就是这样了,这个宏可以先牺牲胖子,然后使用恶魔支配,然后召唤虚空。一共按键3次。
注意:并不是所有宏都可以这样写的!原因是牺牲和恶魔支配,一个是宠物技能,一个是无公共CD技能,都不占用公共CD,所以这个“傻瓜”格式的宏才会有效。同样,所有无公共CD的技能、物品和宠物技能,都可以只加一个占用公共CD的技能写在一个无任何条件的宏中。比如先使用护符,再放技能的宏!
贰:添加条件
虽然有了瞬招牺牲宏,但是我不想让这个宏单独占我一个宝贵的快捷键。。。所以,我要给这个宏添加几个条件让它在适当的时候能做出适当的动作。具体如下。
第一步:要是这个宏能在我需要瞬招牺牲的时候才会起作用该多好~~~所以我想到了只有在没有宠物的情况下在使用恶魔支配所以,上面的宏就变成了下面这样。
/cast 牺牲
/cast [nopet]恶魔支配
/cast 召唤虚空行者
这个宏里面多了一个“[nopet]”。“nopet”是条件,也就是“没有宠物”的意思。而“[]”的作用就是告诉WOW都有什么是条件,所有写在“[]”里面的东西都是条件。
第二步:我觉得光是在没有宠物的情况下使用“恶魔支配”还是不能满足我的需要,因为使用完牺牲之后宠物并没有消失,而是死亡状态,所以,我又给宏加了一个条件。如下~
/cast 牺牲
/cast [nopet][target=pet,dead]恶魔支配
/cast 召唤虚空行者
这次,宏里面添加了“target=pet,dead”这个条件,但是实际上这是两个条件。首先,“taregt=pet”是一个条件,作用是把你的隐藏目标(隐藏目标其实是我自己起的名字,这个条件的意思就是并不会改变你当前的目标,并且选择一个目标做为将要进行的动作的目标)指向你的宠物。而“dead”的作用就是判断目标是否死亡。而“,”半角逗号,也就是不用任何输入法打出来的逗号,作用为“并且”存在着,所以“target=pet,dead”的实际意思是“把隐藏目标指向你的宠物,并且判断其是否死亡”,白话一点就是“判断你的宠物是否死亡”。
还要说一点~“[nopet][target=pet,dead]”,前面的“[nopet]”和“[target=pet,dead]”的关系为“或者”,当两个“[]”连在一起写的时候都为“或者”。就是说当“[nopet]”不成立的时候会检查“[target=pet,dead]”是否成立,如果“[target=pet,dead]”也不成立那么这个法术是不会被施放的。相反,只要这两组条件中有一个是成立的,那么这个技能就会被施放,这就是“并且”的作用。
基本内容就这么多,个人感觉真的是很少很少,并且非常简单。献给喜欢宏并且想学习写宏的人。
一些基本知识
==========================================================
==========================================================
引用:
写宏时我们应该注意些什么?
宏内所有标点都应该是半角,不开任何输入法打出的符号就是半角,所有输入法都可以设定半角与全角.
"[]"在宏内的作用是"或者",","在宏内的作用是"并且".
所有的条件都可以在前面加上"no"来达到反效果.
两个反条件(条件前面加上"no")不可以同时在一个句子中使用.
身上各个部位编号:
1:头
2:颈
3:肩
4:衬衣
5:胸
6:腰带
7:腿
8:脚
9:手腕
10:手套
11:手指1
12:手指2
13:饰品1
14:饰品2
15:背
16:主手
17:副手
18:远程武器
动作条名称及编号:
主动作条1:ActionButton
主动作条2:不知道。。。。。。。
主动作条3(右1):MultiBarRightButton
主动作条4(右2):MultiBarLeftButton
主动作条5(右下):MultiBarBottomRightButton
主动作条6(左下):MultiBarBottomLeftButton
每个动作条的按钮从左至右都是1~12。
背包及包裹格子编号:
背包从右到左的编号分别是:4、3、2、1、0~
包裹格子的编号是从左至右排列,一个包的第一行分别是:1、2、3、4~
然后是包裹第2行:5、6、7、8~下面几行依次类推。
姿态编号:
| 战士 | 德鲁伊 | 牧师 | 盗贼 | 萨满祭祀
------------------------------------------
姿态 1 | 战斗 | 熊 | 暗影形态 | 潜行 | 幽魂之狼
姿态 2 | 防御 | 海豹 | | |
姿态 3 | 狂暴 | 猫 | | |
姿态 4 | | 旅行 | | |
姿态 5 | | 枭兽/树 | | |
姿态 6 | | 飞行 | | |
从2.0开始宏内可用的条件:
引用:
help---判断目标是否为友善;
比如“/cast [help]治疗术”,如果目标为友善那么施放治疗术。
harm---判断目标是否为敌对;
比如“/cast [harm]惩击”,如果目标为敌对那么施放惩击。
party---判断目标是否在本小队中;
比如“/cast [party]治疗术”,如果目标在本小队中那么施放治疗术。
raid---判断目标是否在团队中;
比如“/cast [raid]治疗术”,如果目标在本团队中那么施放治疗术。
group---判断自己是否在一个队伍中(小队或团队);
比如“/cast [group]治疗导言”,如果自己在一个队伍中那么施放治疗导言。
group:party/raid判断自己是否在一个指定的集体中:小队/团队;
比如“/cast [group:raid]治疗导言;[group:party]快速治疗”,如果在团队中就施放导言,在小队中就施放快速。
combat---判断你是否在战斗中;
比如“/cast [combat]消失;[nocombat]潜行”,如果在战斗就消失,不在战斗就潜行。
stance或stance:#---判断你是否在姿态中或是否在指定姿态中。#为数字,也就是姿态编号。
比如“/cast [stance]精神鞭挞”,如果在暗影形态就施放鞭挞。“/cast [stance:3]潜行”,如果在猫形态就潜行。
stealth---判断你是否在潜行;
比如“/cast [stealth]背刺;邪恶攻击”,如果在潜行就用背刺,否则邪恶攻击。
modifier或modifier:x---x可为shift、ctrl、alt 或者是它们的组合,判断某个或某几个按键是否被按下。
equipped:<item>---判断某件物品是否在装备中。<item>可以是装备栏编号、装备分类(武器、副手。。。)、装备子类(双手剑、法仗等等。。。)
target=<unit>---可以把技能目标指定为任何有效的目标,并且可以另你不丢失当前目标!<unit>还可以为“none”,用来指定没有目标的时候。“player”,用来指定只对自己施放。比如“/use [target=player] 厚符文布绷带”,无论任何时候都只对自己使用绷带。关于“self”,这个条件在使用时经多人测试都会报错,原因不明,所以暂时大家先不要用。
actionbar:<number>---判断当前动作条是否被列出。<number>可为1、2、3、4、5、6
pet:<pet type 或 pet name>---pet type为宠物类型;pet name为宠物名字。如果不填写宠物类型或名字则判断宠物是否存在。
mounted---判断是否在坐骑上。
swimming---判断是否在游泳。
flying---判断是否在飞行中。
outdoors---判断你是否在室外。
indoors---判断你是否在室内。
button:<#>---判断某个特定按钮是否被用来触发技能。<#>可为1(鼠标左键)、2(鼠标右键)、3(鼠标按键3,也就是鼠标滚轮向下按,不是向上滚也不是向下滚)、4(鼠标按键4,多键鼠标专用)、5(鼠标按键5,多键鼠标专用)。默认为1。
channeling或channeling:法术名称---判断你是否在引导法术或是否在引导指定的法术。
比如“/cast [nochanneling:奥术飞弹]奥术飞弹”,在这个例子里我把“channeling:奥术飞弹”前面加了“no”,所以这个宏的意思就变成了如果没有在引导奥术飞弹,那么施放奥术飞弹,避免浪费~~~
exists---判断特定目标是否存在。
dead---判断目标是否死亡。请注意,这个是判断目标是否死亡。如果你想判断你自己的宠物是否死亡就要写成这样“[target=pet,dead]”。
比如“/cast [target=pet,dead]复活宠物(猎人的复活宠物技能。。。)”。这个宏的意思就是如果你的宠物死亡了那么施放复活宠物。
equipped:装备名称/类型/子类型---判断某件装备是否在装备中。
比如“/cast [equipped:魔杖] 射击”,这个宏的意思是如果装备魔杖就使用射击。
==========================================================
==========================================================
一些命令的讲解及应用
施放法术相关
引用:
/cast [option]
简单的说就是/施放,并且使用这个命令的宏只有一个法术会被施放。现在的这个命令可以加入条件来判定法术是否被施放。比如“/cast [help,combat] 快速治疗”,这个宏的意思是当目标为友善,并且在战斗中,那么施放快速治疗。
/castsequence [option]
连续点击可以按顺序施放指定法术。一个法术施放失败,后面的法术就不会被施放。
专用的条件选相(只有在做这个命令的条件时才会有这样的功用):reset=<#>或target或combat或它们的组合,其他同“/cast”。简单介绍一下<#>/target/combat的作用。
<#>---代表数字,一般都是1到1800,单位为秒。/castsequence reset=120 部落徽记,亡灵意志,这个宏的功能是先使用部落徽记,然后使用亡灵意志。如果120秒后亡灵意志依然没有被施放那么还是使用部落徽记。但是,reset=<#>永远都是在你施放完最后一个法术的时候开始记时。
target---切换目标时重至宏。
combat---战斗开始时重至宏。
比如“/castsequence reset=30/target/combat 腐蚀术,痛苦诅咒,生命虹吸”,意思是依次施放腐蚀、痛苦、虹吸,当最后一个法术施放完(也就是虹吸)30秒之后,或者切换目标,或者脱离战斗都会使序列重至,也就是从头开始。
/castrandom [option]
随机施放法术,比如“/castrandom 变形术:猪,变形术:羊,变形术:龟”。(我变~我变~我变变变!)
所有条件都可以在前面加“no”来达到相反的效果!比如“nocombat”,判断你是否不在战斗;“nomodifier”,意思是alt、ctrl、shift都没被按下。
“,”相当于以前的and。比如“/cast [help,combat]快速治疗”,这句的意思就是目标为友方并且在战斗中时使用快速治疗。
“/”相当于以前的or。比如“/castsequence reset=combat/target 腐蚀术,痛苦诅咒”,这句的意思就是当你脱离战斗或切换目标时宏重至,也就是再次从第一个法术开始施放。
几组条件可以以“或者”的形式存在。
比如(以下引用自gzkuru的发表):/cast [help] [target=player] [target=targettarget, help] 强效治疗术 --目标是自己,施放强效治疗术;“或者”目标可以治疗,施放强效治疗术;“或者”目标的目标可以治疗,则对目标的目标施放强效治疗术。
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
物品&装备
引用:
/use [option]
使用物品或装备,不再需要像以前一样指定包裹或动作条编号了。比如“/use 厚符文布绷带”。
/userandom [option]
随即使用指定的几件物品。比如“/userandom [nomounted] 黑色作战科多兽,死亡军马的缰绳,霜狼嗥叫者的号角,迅捷绿色迅猛龙
/equip [option]
直接举例说明吧。“/equip [noequiped:复仇法袍]复仇法袍”,意思是如果没装备复仇法袍就把复仇法袍装备上。
/equipslot [option]
这个功能和上面那个类似。但是这个命令主要是为了武器、戒指等可以装备两件的装备而诞生的。
比如:
/equipslot [equiped:多彩之剑] 16 毁灭之刃
/equipslot [equiped:残忍利刃] 17 熔火犬牙
/equipslot [equiped:毁灭之刃] 16 多彩之剑
/equipslot [equiped:熔火犬牙] 17 残忍利刃
这个宏可以把多彩和毁灭、残忍和狗牙互换。“/equipslot”在这里主要就是区分主副手,让宏可以把装备穿到正确的位置。目前并不可以把两把相同的武器同时装备或互换.但是脚本命令可以,插件也可以.
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
目标选定相关
引用:
/targe [option] 与 /targetexact [option]
---/targetexact为2.30添加.
可以用来选定指定的目标,比如“/targe player”,这个宏会把你的目标选定为你自己。
可用目标:
人物&名字---比如“/target 生命的尽头”或者"/targetexact 生命的尽头",这个宏会把目标选定为名字为“生命的尽头”的玩家了(也就是我了),宠物也是如此。如果你在战场,还可以把人物名字后面加上“-服务器名称”,比如“生命的尽头-暮色森林”,这样就选中了“暮色森林”服务器的“生命的尽头”了。
有人要问了,这两个命令有什么区别?
区别就是"/target"是模糊搜索,而"/targetexact"是精确匹配.例如:
/target 生命
这个宏会选定名字里带"生命"这两个字的目标,如果你面前有多个单位的名字里都带"生命",还有一个目标就叫"生命",那么用这个宏就会在这几个目标之间切换!
/targetexact 生命
这个宏只会选定叫做"生命"的目标,多一个字,少一个字都不行.只选定"生命".如果你面前的多个目标都叫"生命"的话也一样是来回在这几个目标之间切换!
队友&队友宠物:
party1第1个队友
partypet1第一个队友的宠物
party2第2个队友
partypet2第二个队友的宠物
party3第3个队友
partypet3第三个队友的宠物
party4第4个队友
partypet4第四个队友的宠物
raidN和raidpetN---N可为1到40。
mouseover---鼠标指向(鼠标停留并且未选定的).比如你现在已经选定了一个目标,同时你把鼠标移到另一个人的身上,然后使用宏“/cast [target=mouseover]恐惧术”,这时被恐惧的人就是你鼠标指向的人而非你的当前目标。
/targetenemy [option]
选定一个敌对目标。
/targetfriend [option]
选定一个友善目标。
/targetparty [option]
选定一个小队队友为目标。
/targetraid [option]
选定一个团队队友为目标。
/targetlasttarget [option]
选定你的最后一个目标。
/targetlastenemy [option]
选定最后一次选定过的敌对目标。
/targetlastfriend [option]
选定最后一次选定过的友善目标。
/targetenemyplayer[option]
选定最后一个对你使用减益动作的目标.
/targetfriendplayer[option]
选定最后一个对你使用增益动作的目标.
/assist [option]
协助~同“/协助”~可选单位同“/target”。
/focus [option]
一直锁定一个目标~比如把这个命令和宠物攻击结合做一个宏。再比如你当前的宠物是MM,并且用这个宏让MM去攻击一个战士,然后你切换了目标,并让MM施放诱惑,这时MM诱惑的目标不会是你当前的目标,而是刚才被锁定的那个战士。
/clearfocus [option]
取消当前被锁定的目标。
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
宠物相关
引用:
/petattack [option]
让宠物开始攻击一个目标。
/petstay [option]
让宠物停在原地。
/petfollow [option]
让宠物跟随自己。
/petpassive [option]
让宠物进入被动状态。
/petdefensive [option]
让宠物进入防御状态。
/petaggressive [option]
让宠物进入攻击状态。
/petautocaston [option] 法术名称
宠物法术自动施放开启。
/petautocastoff [option] 法术名称
宠物法术自动施放关闭。
/petautocasttoggle [option]
宠物法术自动施放开关切换,按一下开,再按一下关............有了这个貌似上面两个就很少有人用了.
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
其他
引用:
/startattack
开始攻击。。。
/stopattack
停止攻击。。。
# show <法术名称/物品名称>---
这个命令可以让你的宏显示指定法术或物品的图标(技能冷却、物品数量、施法材料数量),前提是你的宏必须使用“?”这个图标。
#showtooltip <法术名称/物品名称>
这个命令可以让你的宏显示指定法术或物品的图标(技能冷却、物品数量、施法材料数量),并且显示物品或法术的详细说明。前提是你的宏必须使用“?”这个图标。
/cancelaura [option]
取消BUFF~比如“/cancelaura 奥术智慧”。
/cancleform [option]
取消某个姿态。比如“/cancleform 巨熊形态”,如果一个德鲁伊在巨熊形态时使用这个宏那么他就会取消形态变回人形。对于战士这个宏是不可以使用的,因为战士时刻都是在一个姿态中,不可取消。。。。。。
/stopmacro [option]
停止宏,可加条件判定。比如:
/cast [harm] 变形术
/stopmacro [noharm]
/p 正在把%t变羊!别去碰它!
如果你的目标不是敌对,那么按这个宏就不会说话。
/click [option]
点击?貌似是的。和“/cast”一样何以加事件判断。先介绍一下下面的两个参数。
ActionButton1这里的1可以改为1-72~也就是你的动作条第一个按钮到第72个按钮。当然,是在你没有使用任何动作条插件的情况下。具体请参照上面的技能栏编号说明。如果你使用了动作条插件,比如“zBar”,并且设置动作条最大按钮数量为12。那么“zBar动作条1”的技能栏编号就是73-84~“zBar动作条2”的技能栏编号就是85-96~依次类推,一般情况下任何动作条都是这样的。(我只是说一般情况下。。。不排除例外)
PetActionButton11可以改为1-10任何一个数,意思就是宠物技能栏的1-10。
下面举个例子:
比如“/click [pet:虚空行者]PetActionButton1”这个宏的意思是如果当前宠物是虚空行者,那么点击宠物技能栏1。这个命令一般都是和下面的两个命令结合使用!
再举个宏套宏的高级例子:
1号宏:
/click [pet]ActionButton1
/click [nopet]ActionButton2
2号宏(对应/click [pet]ActionButton1):
/cast 火焰之盾
/cast 牺牲
/cast 诱惑
/cast 拦截
/cast [harm]法术封锁
/cast [modifier:alt,target=player][help]吞噬魔法
3号宏(对应/click [nopet]ActionButton2)
/cast [nomodifier]召唤虚空行者;[modifier:ctrl]召唤魅魔;[modifier:alt]召唤地狱猎犬;[modifier:shift]召唤恶魔卫士;[nomodifier,button:2]召唤小鬼
要使用这个宏,首先要把2号和3号宏放到指定的位置。
效果:首先这个宏会判断你有没有宠物,有就使用宠物的法术,没有就召唤宠物。结合上面所说过的,不难看出这个宏的意思。(哦~~~~~~原来“/click”还可以这样用啊~~~~~~~~~~)
/stopcasting [option]
用来打断当前施法。比如你当前正在施放一个需要吟唱类法术(比如火球术),使用“/stopcasting”,法术被中断了。。。。=。=!举这个例子目的只为说明他的作用。当一个法师在吟唱大火球的时候,突然发现敌人解了他的羊正要把他变样。。。那么,这个宏就是时候使用了.
/stopcasting
/cast 法术反制
这个宏会立刻停止你当前的施法并且施放法术反制。个人感觉它比自己移动一下或者跳一下都要好用的多!想具体因为什么就最好自己进游戏试验一下。
/use 13
/cast 气定神闲
/cast 炎爆术
这就是一个典型的多开宏。可以把多个无GCD的法术与一件可使用的装备同时使用达到一键多开.以前这个宏是需要/stopcasting命令的支持,但是现在不用了.
/dismount [option]
下马。。。同样可以加入条件判定~并且。。。。。下马的速度不是一般的快~~ =。=!!!
/in N /频道 内容
延迟说话。N为数字,单位为秒。比如“/in 1 /p 说什么好呢”,这个宏的意思是“1秒后在小队内说:说什么好呢”。
/swapactionbar [option] <动作条编号> <动作条编号>
可以让两个动作条互换~~~~~没什么难理解的吧。
/changeactionbar [option] <动作条编号>
可以翻转到你指定的动作条。
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:<item>-判断某件物品是否在装备中。<item>可以是装备栏编号、装备分类(武器、副手。。。)、装备子类(双手剑、法仗等等。。。)
target=<unit>-可以把技能目标指定为任何有效的目标,并且可以另你不丢失当前目标!<unit>还可以为“none”,用来指定没有目标的时候。“self”,用来指定只对自己施放。比如“/use [target=self] 厚符文布绷带”,无论任何时候都只对自己使用绷带。
actionbar:<number>-判断当前动作条是否被列出。<number>可为1、2、3、4、5、6~
pet:<pet type 或 pet name>-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
还要说的一个重点内容:“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