魔兽世界不掉线宏来个宏

您现在的位置:&>>&&>>&
扫盲班来了!魔兽世界关于宏的基础知识及应用
作者:佚名
来源:本站原创
发布时间: 23:13:41
关键词>>技术,宏
摘要:魔兽世界关于宏的一些基础知识和盗贼的宏应用举例。
  一直看各种宏的教学,没有发现比较足够清晰严格的。
  在这些教学里,函数的变量和作用都没有说明,宏的语法也没有说明,这样对玩家自己改进宏十分不利。
  那些写宏教程的也很奇怪,难道都不屑于说明语法么?恩,对大多数人可能不管黑猫白猫复制下来能用的宏就万事ok了...但我个人不喜欢不求甚解的态度,
  而且看见过的多数拿出来分享给别人用的宏,用计算机专业的标准衡量,代码往往冗余,这就意味着效率的损失,也就意味着片刻的延时,或许片刻就是生死的分界线....
  这篇宏的经验文章写给那些想多了解一些宏的知识的玩家,如果想自己动手写宏的玩家请往下看。
  1,宏的基本常识
  宏是一个脚本,发送到服务器端执行。这个脚本由一组命令序列构成,长度不超过255个字符。
  序列中的每一个命令,由一个/ 开头,例如/say /script 等等。
  /script 后面跟随脚本特有的语句和函数。
  你可以罗列多个/script命令在一个脚本里,也可以在一个/script命令中写多个函数,这都可以。
  因为宏就是依次执行所有的命令,所以不需要在宏的最后添加end 标记,或在命令之间加;
  事实上,end标记 是if语句的组成部分,你在写if语句时才用到end关键字。命令和命令之间用换行或; 隔开都可以,我喜欢用换行..呵呵,省掉不必要的; 代码也清楚些
  常用的if语句语法如下:
  /script if [条件表达式] then [命令序列] end
  /script if [条件表达式] then [命令序列1] else [命令序列2] end
  这里条件表达式不需要在外面套括号,和C,java的习惯不同,应该是为了减少不必要的字符数,毕竟WOW宏有长度限制。
  条件表达式 中 相等用 == , 否定用not, 不等于可以写 not (A == B),暴雪没有提供!= 作为不等于,很奇怪。 例子:
  if sword == GetInventoryItemLink("player", 16) then ....
  if not (sword == GetInventoryItemLink("player", 16)) then ....
  注1,这里的sword是全局变量。每一个全局变量的生命周期是一次登陆中从声明变量到退出魔兽,通常在每次登陆后额外运行一个设定宏来设定我们所需要的全局变量。
  注2,GetInventoryItemLink()是一个取装备link的函数,
  GetInventoryItemLink("player", number)是从人物身上取装备的link,number代表人物装备画面的不同槽, 头部,颈部,依次递增,于是16代表主手武器,17代表副手武器
  GetInventoryItemLink("player", 16) 就代表了主手武器的link
下一页:盗贼专用宏的编制思路
魔兽世界7.0版本内容汇总
最新职业改动
         
   皖公网安备05 
TGBUS Corporation, All Rights Reserved后使用快捷导航没有帐号?
查看: 2150|回复: 5
新人欢迎积分0 阅读权限40积分354精华0UID帖子金钱3222 威望0
Lv.4, 积分 354, 距离下一级还需 646 积分
UID帖子威望0 多玩草0 草
RT,想自己刷个5星,求个双开的决斗宏~~~~求大神啊~~~~~
伱的温柔丶
Lv.6, 积分 4621, 距离下一级还需 379 积分
UID帖子威望0 多玩草100 草
不懂什么意思
寒冷即是虚空
新人欢迎积分0 阅读权限99积分36241精华0UID帖子金钱38207 威望11
Lv.10, 积分 36241, 距离下一级还需 18759 积分
UID帖子威望11 多玩草720 草
直接找你家马云去吧
寒冷即是虚空
新人欢迎积分0 阅读权限99积分36241精华0UID帖子金钱38207 威望11
Lv.10, 积分 36241, 距离下一级还需 18759 积分
UID帖子威望11 多玩草720 草
刷出来的只能装b用,该被人虐还是被虐。
新人欢迎积分1 阅读权限50积分1258精华0UID帖子金钱3842 威望0
Lv.5, 积分 1258, 距离下一级还需 1242 积分
UID帖子威望0 多玩草44 草
怎么刷五星呀,楼主能透露下秘籍不
新人欢迎积分1 阅读权限30积分113精华0UID帖子金钱241 威望0
Lv.3, 积分 113, 距离下一级还需 137 积分
UID帖子威望0 多玩草0 草
自己打出来的才是真本事,楼主要那几颗星星,只会引来更多人找你pk,然后你可能还会被某些玩家打完奚落一番何必呢?
手机论坛勋章
APP发帖双倍积分,登陆即送勋章!
马年新春勋章
手机APP马年迎春,马上有钱!
需要金钱:1100
Powered by
手机盒子客户端点击或扫描下载& 高玩攻略:宏命令爱好者――宏的书写法则及优化
高玩攻略:宏命令爱好者――宏的书写法则及优化
文 章摘 要
本帖基于6.0.3版本而写,但由于宏在历代版本改动都非常非常小,[深入教学]宏命令的书写法则及其优化,因而本帖可能不会随着版本的推进而频繁更新。
  前言  最近求宏贴非常多,求助于&为何这个宏不能用&的提问也不在少数。本着授人以鱼不如授人以渔的宗旨,笔者写下了这篇宏的提高教学,作抛砖引玉之用。本文将着重探讨宏的判断机制这一最重要也是最难的部分,讲解如何写出优美合理的判断语句,泛用于任何职业以及专精,对于文中之错误及疏漏望各位玩家指正。  但这不是一篇面向零基础新手的宏命令完全教程,需要读者大致了解宏的形式和基本判断项(比如exists,help等),零基础的读者可以移步隔壁看基础教学贴。  本帖基于6.0.3版本而写,但由于宏在历代版本改动都非常非常小,因而本帖可能不会随着版本的推进而频繁更新。  有用的外部链接   | 判断项列表 | API列表 |  最近wowprogramming更新得不勤快,如有疑问也可去wowwiki。  6.0.2的改动以及存在的bug  *通用宏上限提高到120个,基本不可能用完了。  *切换目标时有可能出现判断迟滞,导致动作条按钮上的图标错误。不过宏仍旧能够正常运作,只是显示错误而已。这可能是由于动作条按钮本身的代码造成的(待查证)。  事实上宏这种东西从2.1.0版本加入安全模板一来没有发生过大的变动,只是偶尔加入新的简写或是判断条件。  术语  判断表达式,判断式(Option Set):由若干判断项组成,封闭在方括号[]中的真值表达式。继承自安全模板,能在受保护环境下允许运作的唯一判断形式。  术语  判断表达式,判断式(Option Set):由若干判断项组成,封闭在方括号[]中的真值表达式。继承自安全模板,能在受保护环境下允许运作的唯一判断形式。  下面进入正题  一,写宏的基本法则  宏最主要的应用是带有判断的施法,这也是下文主要应用的模型。一个典型的这种宏可以抽象成以下形式:  Code(c):  /cast [表达式1-1][表达式1-2]技能1;[表达式2]技能2;技能3  --宏的模型  [项1,项2,项3, ...]  --表达式的模型  --注:表达式中定义单位target=或@不是一种判断条件,但它重新指定了后续所有涉及目标的判断和最终技能施放的对象。比如指定了@mouseover后,后续的help/exists/dead之类的判断都会基于鼠标悬停的单位。  在这个模型下,讨论:  1. 逻辑及判断顺序(法则一,!极为重要)  涉及判断就有真值,但是不要被这个带有浓重编程和数学色彩的词吓倒。概括来说就两句话:  &1&方括号内各分项之间是AND的关系,用逗号间隔,只有各个分项都为真整个方括号(表达式)才为真。方括号内各项之间没有顺序要求。  &2&各个方括号之间是OR的关系,判断顺序是从左至右,遇到第一个方括号为真时即结束判断,而忽略其后的所有项目。  大部分宏出错/不能用/判断混乱的原因就是在此。写宏的时候必须把条件强的(或者说优先级高的)判断放到前面,弱的(泛用型的)判断放到后面。举个例子,昨天回答了问答区一个人的提问,他的宏  Code(c):  1:#showtooltip  2:/cast [nomod,spec:2]炼狱冲击;[nomod,target=mouseover,exists,harm,spec:2]炼狱冲击  无法对鼠标悬停目标放。究其原因就是,[nomod,spec:2]这一个表达式弱于后者[nomod,target=mouseover,exists,harm,spec:2],后者不仅需要无修饰键和第二专精,同时需要存在一个可攻击的鼠标悬停目标才会为真,导致了后者为真时前者一定为真。按照上文的&2&,从左至右的顺序将永远是前者表达式率先为真,因而无法对悬停目标施放炼狱冲击。修改的方法很简单,把两个判断调换位置即可:  Code(c):  1:#showtooltip  2:/cast [nomod,target=mouseover,exists,harm,spec:2]炼狱冲击;[nomod,spec:2]炼狱冲击  3:--修改后的宏  当然我在回答中还给出了优化方案,后文会详细介绍如何优化。  2. 技能整合(法则二)  对于把多个技能整合进一个/cast命令里,在不同的条件下自动判断施放不同的技能,只有一条格式法则:不同技能之间用分号;间隔。具体可以参照本章开头提出的宏模型。  要注意,一个/cast任何情况下至多只能施放一个技能,而且各个方括号之间仍旧遵循上文提出的&2&判断顺序法则。  3. 技能堆叠(法则三)  如果要做到一键同时放出两个或更多的技能,必须有多行/cast命令,这就是技能堆叠。这种宏通常用于爆发技能,喝药开饰品开技能需要同时完成。  其法则是:至多只能拥有一个产生/受到GCD影响的技能,幸运的是爆发类技能和药水等物品几乎都设计成不占用GCD。  Code(c):  1:#showtooltip  2:/cast 奥术强化  3:/use 13  4:/use 14  这样的宏是可行的,因为饰品和[奥术强化]本身并不产生GCD,甚至再加两行  Code(c):  /cast 气定神闲  /cast 奥术冲击  也是合法的。但是,形如以下的宏是非法的:  Code(c):  1:#showtooltip  2:/cast 驱邪术  3:/cast 审判  4:/cast 十字军打击  因为三者都产生GCD和/或被GCD影响,最终的效果是只相当于第一行[驱邪]有用。不要妄图这种方法能实现按优先级施放技能。  4. 技能替代(法则四)  技能替代是一个十分有意思的机制,自CTM引进。这种机制允许某[基础技能]在特殊情况下被另一个[替代技能]替代,而即便在替代的情况下,通过宏命令施放[基础技能]时会自动定向到[替代技能],其最终的结果是正常施放[替代技能],宏的图标也会随之变化。  这种机制有两种情况:  1)单向的替代,/cast [替代技能]不会施放出基础技能,但是/cast [基础技能]是任何情况下通用的。  举例:神牧的[圣言术:罚]在黄轮和蓝轮下转换成[静]和[佑],只要宏  Code(c):  1:#showtooltip  2:/cast 圣言术:罚  就能自动根据轮的颜色转换技能,但因为这是[罚]被单向地替代,反过来如果宏里写[静]或[佑],在红轮下就会放不出技能。  2)双向的等价,[基础技能]和[替代技能]是完全等价的,就如同一个技能,任何情况下用宏施放任意一个技能的结果都是放出当前激活的那一个。比如[腐蚀术]和[献祭]两者,SS玩家可以分别在不同天赋下试试。  这种机制对于写宏非常有利,我们不需要为了技能被替换而另开一个宏。更深入的一点,以下两个技能需要重点提及:  Code(c):  1:#showtooltip  2:/cast 秘法炸弹  3:--这个技能对应法师75级天赋中的[虚空风暴],[寒冰炸弹]和[活动炸弹]。[秘法炸弹]被单向替代。  Code(c):  1:#showtooltip  2:/cast 神圣爆发  3:--这个技能对应牧师90级天赋,也是单向替代。  如果其他职业也有类似的天赋基础技能,请欢迎补充。  二,写宏的灵魂:逻辑和优先级  笔者和自己圈子里的很多人说过,写宏其实和编程没多大关系,需要的是一点数学的逻辑思维。尤其是那些技能整合宏,对在各种判断条件下到底哪一个技能才是优先的必须心里有谱。实际上这是上文中法则一之&2&的推演,本质上仍旧是按照越优先越靠前的方式排列整个技能和判断序列。正因如此,上文法则一才是宏最最重要的法则,而优先级正是写宏的灵魂。  Code(c):  1:#showtooltip  2:/cast [help,dead][mod:shift,help][mod:shift,@player]S[mod]Soul LUnending Resolve  3:/targetlasttarget [help,dead]  4:--比如这个术士宏,它的逻辑等价于:  5:--如果[目标死亡且可协助]或[按住shift并且目标可协助]或[其他按住shift的情况下对自己]施放[灵魂石]  6:--否则,如果[有按下其他任何修饰键]则施放灵魂链接  7:--否则任何其他情况下放盾墙  8:--此外,如果[目标死亡且可协助]还会顺带切换回之前的目标,目的是战复后目标切回怪身上  有人可能会问,[help,dead][mod:shift,help][mod:shift,@player]这一串看不懂,为什么先来个shift修饰后面又来一个,这里就涉及到优先级的问题了。  首先[help,dead]指定了[目标死亡且可协助]的情况,它是优先级最高的,只要满足这两个条件,其他任何条件不管满足不满足都会战复目标。  其次,[mod:shift,help]这一判断代表[按住shift并且目标可协助],但是它还有个隐藏条件。因为要判断到这一层,首先必须前者[help,dead]为假,也就是当[目标不可协助或者目标不死]的情况。所以其实这个判断应该是[(目标不可协助或者目标不死)并且按住shift并且目标可协助],由于不可协助和可协助互斥,所以实际判断的真值应该是[目标不死并且按住shift并且目标可协助],满足这个条件,对目标放灵魂石。  再次,[mod:shift,@player],这里只用了一个判断即shift修饰,上文说过@player不是判断条件。但因为前一个判断已经有一种按下shift的情况被取走了,那么这里的判断表示[其他按住shift的情况下对自己]施放灵魂石。  然后,[mod]是个广义的修饰键判断,当alt/shift/ctrl中任何一个或多个被按下是都为true。当然shift在前面的判断中被取走,那么这里表示的是[按下alt/ctrl中任何一个或两个],他等同于[有按下其他任何修饰键]则施放灵魂链接。  最后,无尽决心没有任何判断,它是恒真的。也就是在其他任何条件下都会施放无尽决心。  上面这个例子有些复杂,下面会通过一个相对简单的实例来阐述如何运用这种模式写宏。  法师法术反制及焦点反制/悬停解诅咒整合宏  要求是:焦点可攻击按住任何修饰键都是焦点反制,不按修饰键且敌对目标是对目标反制,鼠标悬停到友善目标是解诅咒,目标是友善目标是解诅咒,默认状况下是对目标的反制。  首先就是厘清优先级。  *笔者个人的习惯是修饰键优先级比悬停高,也就是按了修饰键应该尝试对焦点放而不是对悬停解诅咒;而同时悬停的优先级应该比目标的优先级高。这个优先级可以根据自身需要调整。  那么整理之后的优先级就是:  第一优先级:焦点反制敌对目标,判断式[mod,@focus,exists,harm]  第二优先级:悬停解可协助目标诅咒,判断式[@mouseover,exists,help]  第三优先级:对友善目标解诅咒,判断式[help]  第四优先级:敌对目标反制,判断式[harm]  第五优先级:反制,无判断式(恒真)  *要注意,harm和help有关系,但并不是help=noharm或者harm=nohelp。harm代表目标可攻击,help代表目标可协助(能给他加血上buff等),此外还有一种既不能攻击也不能协助的状态,称为&被动(Passive)&。  现在可以直接写出宏了,那就是:  Code(c):  1:#showtooltip  2:/cast [mod,@focus,exists,harm]法术反制;[@mouseover,exists,help][help]解除诅咒;[harm]法术反制;法术反制  3:--第一行的#showtooltip不是命令行,它的作用是能在鼠标提示上显示技能的有关信息  这个宏运作起来是符合要求的,但是可以继续优化。从逻辑上而言,第四与第五优先级可以合并,而且exists没必要与harm和help连用。因此最终的宏是:  Code(c):  1:#showtooltip  2:/cast [mod,@focus,harm]法术反制;[@mouseover,help][help]解除诅咒;法术反制
手机看攻略,电脑玩游戏两不误!
加点再也不需要切来切去啦~
【魔兽世界】最新消息第一时间推送给你
与相关的文章有:魔兽世界宏命令教程(从入门到精通)
本文行家:
魔兽世界每个操作就是一个命令(包括说话,释放魔法等等等等),而宏就是一组命令集,也就是根据你的要求同时完成一组命令&首先澄清一些对宏的误解和问题:&  &  1. 使用宏是不是违法&  当然不是,如果违法blizzard为什么要把宏放在界面中,宏是帮助大家减少操作困难性的官方工具&  &  2. 宏可以做什么&  所有你想同时完成的事情都可以让宏来一次完成,并且所有会不断重复的命令(比如说话或其他动作)都可以事先宏里面定义好&  **但是不可以在一个宏里释放两个魔法或者技能,具体原因下文再谈&  让我们先不涉及比较复杂的Script(关于Script的使用,我之后会写相关的宏操作的进阶文章),我们先来看看所有不懂得程序没有编程基础的玩家都能完成的宏&  1. 经常要使用的对话/你的口号和宣言&  在WOW中,你一定有经常需要说的话,比如牧师经常需要大喊“牧师正在受到攻击,大家赶快救命,9999999……”,而下副本的时候队长要招呼大家“情况不妙,牧师快跑,战士死挡,大家扯乎”等等。而真的在这种危机情况中,你来得及打字把问题交待清楚吗?这时刻宏就能助上你一臂之力:&  新建一个宏(什么什么?不懂得怎么新建宏?那麻烦请你去查一下官方或者其他网站的操作指导,我这里就不多罗嗦了),然后在宏的编辑框中输入这样的命令行(为方便大家,我用一对~~表示在同一行中的内容,实际使用时,请去除首尾的~标记):&  ~/p 牧师正在受到攻击,大家赶快救命,……~&  然后把你新建的这个宏象法术或者技能一样拖放到快捷栏中,这样你就可以快速的说出一大段文字来,如果你要说的话不止一行怎么办?很简单,有几行就说几行,比如:&  ~/p 牧师正在受到攻击,大家赶快救命,……~&  ~/p 赶快救我啊,否则我会恨死你们一辈子的……~&  在这里附带一个新手指导:/p 团队说话;/s 对话泡泡;/g 工会说话;/ x在某个频道说话(x为具体的数字,比如1是综合频道,2是交易频道等……)&  到现在为止都很简单,对不对?让我们接着往下&   &魔兽世界  2. 释放魔法和技能&  很多时候,你往往需要告诉同伴们一些话后自己做一些动作,比如作为牧师的我往往需要在喊救命的同时,释放一个“尖叫”的魔法,这个时候有个非常简单的办法完成这个宏:先打开你的魔法书,然后我们再次进入宏的编辑界面,在你已经编辑好的内容后面,SHIFT+左键选择相应的魔法/技能,我们就得到以下的内容:&  ~/p 牧师正在受到攻击,大家赶快救命,……~&  ~/释放 心灵尖啸(等级 1)~&  这样当你在危急时刻调用这个宏时,就不仅能及时向队友求救,同时能赶跑2个围攻你的怪8秒,争取宝贵的自救时间&  所有在法术书中的技能和魔法都可以这样应用,只除了平时就不能拖放到快捷栏的被动技能。嗯,很容易理解,对不对?让我们来看看稍微复杂一些的用法 & 魔兽世界每个操作就是一个命令(包括说话,释放魔法等等等等),而宏就是一组命令集,也就是根据你的要求同时完成一组命令&首先澄清一些对宏的误解和问题:&  &  1. 使用宏是不是违法&  当然不是,如果违法blizzard为什么要把宏放在界面中,宏是帮助大家减少操作困难性的官方工具&  &  2. 宏可以做什么&  所有你想同时完成的事情都可以让宏来一次完成,并且所有会不断重复的命令(比如说话或其他动作)都可以事先宏里面定义好&  **但是不可以在一个宏里释放两个魔法或者技能,具体原因下文再谈&  &  让我们先不涉及比较复杂的Script(关于Script的使用,我之后会写相关的宏操作的进阶文章),我们先来看看所有不懂得程序没有编程基础的玩家都能完成的宏&  1. 经常要使用的对话/你的口号和宣言&  在WOW中,你一定有经常需要说的话,比如牧师经常需要大喊“牧师正在受到攻击,大家赶快救命,9999999……”,而下副本的时候队长要招呼大家“情况不妙,牧师快跑,战士死挡,大家扯乎”等等。而真的在这种危机情况中,你来得及打字把问题交待清楚吗?这时刻宏就能助上你一臂之力:&  新建一个宏(什么什么?不懂得怎么新建宏?那麻烦请你去查一下官方或者其他网站的操作指导,我这里就不多罗嗦了),然后在宏的编辑框中输入这样的命令行(为方便大家,我用一对~~表示在同一行中的内容,实际使用时,请去除首尾的~标记):&  ~/p 牧师正在受到攻击,大家赶快救命,……~&  然后把你新建的这个宏象法术或者技能一样拖放到快捷栏中,这样你就可以快速的说出一大段文字来,如果你要说的话不止一行怎么办?很简单,有几行就说几行,比如:&  ~/p 牧师正在受到攻击,大家赶快救命,……~&  ~/p 赶快救我啊,否则我会恨死你们一辈子的……~&  在这里附带一个新手指导:/p 团队说话;/s 对话泡泡;/g 工会说话;/ x在某个频道说话(x为具体的数字,比如1是综合频道,2是交易频道等……)&  到现在为止都很简单,对不对?让我们接着往下&  &
  3. 定义目标/使用目标参数&  现在我们再来看看如何定义魔法/技能的目标并在对话中加入参数。下副本的时候,几乎所有的队员都可能向牧师求救,但是牧师一次只能救一人,在界面很卡的时候,牧师卡1秒就有可能带来灭团的危险,这个时候使用宏能大大增加魔法的准确性和及时性&  比如我可以常备两个宏,专门用来给Tank加盾牌加血:&  ~/target 玩家名字~&  ~/释放 真言术:盾(等级 3)~&  以及&  ~/target 玩家名字~&  ~/释放 治疗(等级 1)&  有的时候大家七嘴八舌的向你求救会弄得你晕头转向,当然你有你的判断,但给大家打个招呼,让没有加血加盾的队员耐心等候会促进团队凝聚力,这个时候可以使用“%t”来告诉大家你当前加血加盾的对象是谁(%t一定是你的大头像旁边的大头像,由于怪物攻击可能会改变你的%t所代表的玩家名字,但是血和盾一定是加给自己人的,这个不用担心)&  以上文提到的加盾牌的宏为例:&  ~/target 玩家名字~&  ~/释放 真言术:盾(等级 3)~&  ~/p 正在对%t加盾牌,4秒后才能为其他队员加,请耐心等候~&  像这样定义了的宏,你只要在募集好队员后确定哪个是Tank,然后把他的名字替代掉上文的玩家名字就可以了。&  Script(脚本)虽然不是我在这篇文章中要讨论的对象,但为了方便大家还是先介绍两个函数TargetLastEnemy(),TargetNearstEnemy(),望文思义,这两个函数就是设定上次攻击的敌人为目标以及设定距离最近的敌人为目标,具体使用如下:&  ~/target 玩家名字~&  ~/释放 真言术:盾(等级 3)~&  ~/p 正在对%t加盾牌,4秒后才能为其他队员加,请耐心等候~&  ~/script TargetLastEnemy()~&  这样就能在结束这个宏的时候,自动把目标转回你上次攻击的对象上,当然这个对牧师的意义可能不大,让我们再来看看常用的两种不使用script定义目标的方法。经常的,作为牧师的我需要把目标转回自己,而其他队员需要协助Tank一鼓作气击破一个敌人,我的宏就是:&  ~/target 玩家名字~&  ~/释放 真言术:盾(等级 3)~&  ~/p 正在对%t加盾牌,4秒后才能为其他队员加,请耐心等候~&  ~/target Yvonne~ *Yvonne是我的名字&  而其他的队员就有可能是&  ~/target 自己的名字~&  ~/释放 增益或补血法术的名字(等级 X)~&  ~/assist Tank玩家名字~&  其中/assist就写协助某个玩家,把他的当前目标作为你的目标,如果选择Tank的名字当然就是大家集中火力猛攻一个怪。/assist是可以使用%t作为参数的,比如队伍中专职保护牧师的伙伴可以定义一个宏,在牧师求救的时候,把枪口立即对准正在攻击牧师的怪: &&  ~/assist %t~&  使用的时候,听到牧师求救,立刻点牧师的头像然后使用宏,你的枪口就对准了对牧师威胁最大的怪了,我当然万分的希望大家多多使用这个宏,呵呵&  这里再提一个类似/assist的使用方法,但是也是极其有用的命令/follow。在和其他玩家一起组队做任务的时候,往往我还在四处掠夺的时候,他就起跑了,等到我点他的头像,右键然后跟随的时候,他可能早就跑出我的视野之外,通常我会备着这样一个宏&  ~/p 我现在正要跟随%t,请你确定我跟上后再一起走~&  ~/assist %t~&  到现在为止虽然开始有些复杂了,但应该都可以理解,对不对?接下来,我们来看看,为什么不能在一个宏里面使用两个魔法/技能& 4. 关于为何不能在一个宏里面放两个魔法/技能&  一定有很多朋友像我一样,在初初了解宏以后,非常希望能编出一个宏来释放好几个魔法/技能,比如我想要在逃命的时候除了尖叫外再加一个盾牌,然后最好再加上点血,而猎人可能希望组合各种射击的方式,使攻击效率最好(我们的工会主席就是如此,呵呵)。&  但是这点基本上是做不到的,先说为什么,再说有什么办法可以小小弥补一下。&  首先,一个宏里的命令是几乎同时发送给服务器的(前后命令行之间的时间快慢相对动作而言可以忽略不计),而你的魔法/技能即使是即时释放的,都需要差不多1秒的时间(以我的盾牌和恢复为例),如果你编辑了这样一个宏:&  ~/释放 心灵尖啸(等级 1)~&  ~/target Yvonne&  ~/释放 治疗(等级 1)~&  在实际使用中,系统一定会提示你“我还没有准备好”,第二个魔法/技能是不会被释放的。&  有的朋友一定会说“我在其他地方看到有一个/in的用法,可以延迟的”,这里先说一句使用/in一定要先安装一个插件cosmos(具体下载办法,后文提示),并且/in后面不能跟cast也就是说不能跟施放魔法/技能。&  有的朋友或许立刻想到,“那我可以先说话,然后在施放法术”,也就是:&  ~/释放 心灵尖啸(等级 1)~&  ~/in 1 p 我正在逃命中&  ~/target Yvonne&  ~/释放 治疗(等级 1)~&  呵呵,非常好的想法,但是行不通。原因是,宏作为一组命令同时发送给服务器,服务器对每个的响应都几乎是立即的,即使你用in,也只是在几秒后才显示你要的内容,而不是几秒后在执行这条命令。也就是说,你的“/释放 治疗(等级 1)”并不会等到你in的内容说完后在执行,这个方法无效。&  但是大家也不要觉得沮丧,虽然blizzard通过即时魔法也需要一定的时间释放来大大减弱了宏的功能,但宏仍然是强大的,至少让你一次少做两三次键盘操作,我们来具体看一下到底那些东西可以在一个宏里共存,简单来说,一个宏里面可以共存的命令包括一个需要时间完成的命令+多个不需要时间完成的命令:&  需要时间完成的命令包括:a释放魔法/技能,b其他需要时间完成的动作(比如猎人的多重攻击技能)&  不需要时间完成的命令包括:a 说话,b 进入攻击模式,c 让你的宠物攻击,d 使用物品,e 转身动作/跑动动作&  所以,聪明的你一定想到了弥补的办法,对吗?虽然我没有办法一边尖叫,一边加盾牌或者补血,但是我可以吃血瓶啊,并且可以自动转向保护人的方向,然后开始狂奔…… &
参考资料:
[1] wodegame
百科的文章(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。如需转载,请注明来源于。

我要回帖

更多关于 魔兽世界钓鱼宏 的文章

 

随机推荐