WOW这2天为什么我写的宏男朋友总是忙 不见面会不见几个?

你也能写自己的宏!分析加实例教你常用宏制作
摘要:最近很多人求宏啊,加上长夜漫漫无心睡眠,所以就想起来写了这个。本文主要是以分拆讲解+实例的方式阐述几大常见类型宏,欢迎补充和提意见哈。
  1.常用的宏命令
  1.1常用的宏命令
  1.释放技能命令
  释放一个或多个技能,可以加入一些条件判断,是最常用的命令
  /castsequence
  依次释放释放数个技能,同样可以加入一些条件判断,常见于所谓的&无脑宏&
  使用一个物品,可以直接用物品名称也可以用物品栏位置
  2.动作命令
  /cancelform
  取消变形
  /cancelaura
  取消状态或增益
  /startattack
  开始攻击,一般写不写差别不大,释放技能会自动开始攻击的
  /stopattack
  停止攻击,与startattack相反,用于防止破除控制等功能,也不大会用到
  /target /targetenemy
  切换目标,用到的也不多,抓贼宏会用到,更多时候需要的反而是不切换目标的情况下对特定目标释放技能
  /mount
  召唤坐骑
  /dismount
  解散坐骑
  3.语言表情命令
  /1 /2 /3 /4
  在不同的频道里面说话,1综合,2交易,3本地防务,4寻求组队
  /s /y /p /ra /bg
  在不同的范围说话,s说,y喊,p小队,ra团队,bg战场
  做出一串表情,同时也可以/+内置表情
温馨提示:玩家可通过手机登陆阅读多玩魔兽资讯。
阅读本文后已有0人给出评价,选你认同的表情后可看结果。
class="btn">[与更多人共享]
魔兽数据库推荐
国服数据库
台服数据库
T12职业套装
多玩首页推荐魔兽世界高端玩家发福利:宏的书写法则及优化
魔兽世界高端玩家发福利:宏的书写法则及优化
魔兽世界宏科技大神发福利了咯!带来了非常详细宏的书写法则及优化,一起来看看吧!
随着魔兽世界6.0资料片的逐步临近,许多玩家都在积极为进入德拉诺而备战,其中就包括制作适合6.0资料片的宏命令!下面就一起来看看魔兽世界宏科技大神手把手教你写魔兽宏命令!本文将着重探讨宏的判断机制这一最重要也是最难的部分,讲解如何写出优美合理的判断语句,泛用于任何职业以及专精,对于文中之错误及疏漏望各位玩家指正。但这不是一篇面向零基础新手的宏命令完全教程,需要读者大致了解宏的形式和基本判断项(比如exists,help等),零基础的读者可以移步隔壁看基础教学贴。本问基于6.0.3版本而写,但由于宏在历代版本改动都非常非常小,因而本帖可能不会随着版本的推进而频繁更新。
本文正文分为四部分: |
6.0.2的改动以及存在的bug
*通用宏上限提高到120个,基本不可能用完了。
*切换目标时有可能出现判断迟滞,导致动作条按钮上的图标错误。不过宏仍旧能够正常运作,只是显示错误而已。这可能是由于动作条按钮本身的代码造成的(待查证)。
事实上宏这种东西从2.1.0版本加入安全模板一来没有发生过大的变动,只是偶尔加入新的简写或是判断条件。
判断表达式,判断式(Option Set):由若干判断项组成,封闭在方括号[]中的真值表达式。继承自安全模板,能在受保护环境下允许运作的唯一判断形式。
一、写宏的基本法则
宏最主要的应用是带有判断的施法,这也是下文主要应用的模型。一个典型的这种宏可以抽象成以下形式:
/cast [表达式1-1][表达式1-2]技能1;[表达式2]技能2;技能3
--宏的模型
[项1,项2,项3, ...]
--表达式的模型
--注:表达式中定义单位target=或@不是一种判断条件,但它重新指定了后续所有涉及目标的判断和最终技能施放的对象。比如指定了@mouseover后,后续的help/exists/dead之类的判断都会基于鼠标悬停的单位。
在这个模型下,讨论:
1. 逻辑及判断顺序(法则一,!极为重要)
涉及判断就有真值,但是不要被这个带有浓重编程和数学色彩的词吓倒。概括来说就两句话:
&1&方括号内各分项之间是AND的关系,用逗号间隔,只有各个分项都为真整个方括号(表达式)才为真。方括号内各项之间没有顺序要求。
&2&各个方括号之间是OR的关系,判断顺序是从左至右,遇到第一个方括号为真时即结束判断,而忽略其后的所有项目。
大部分宏出错/不能用/判断混乱的原因就是在此。写宏的时候必须把条件强的(或者说优先级高的)判断放到前面,弱的(泛用型的)判断放到后面。举个例子,昨天回答了问答区一个人的提问,他的宏
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&,从左至右的顺序将永远是前者表达式率先为真,因而无法对悬停目标施放炼狱冲击。修改的方法很简单,把两个判断调换位置即可:
1:#showtooltip
2:/cast [nomod,target=mouseover,exists,harm,spec:2]炼狱冲击;[nomod,spec:2]炼狱冲击
3:--修改后的宏
当然我在回答中还给出了优化方案,后文会详细介绍如何优化。
2. 技能整合(法则二)
对于把多个技能整合进一个/cast命令里,在不同的条件下自动判断施放不同的技能,只有一条格式法则:不同技能之间用分号;间隔。具体可以参照本章开头提出的宏模型。
要注意,一个/cast任何情况下至多只能施放一个技能,而且各个方括号之间仍旧遵循上文提出的&2&判断顺序法则。
3. 技能堆叠(法则三)
如果要做到一键同时放出两个或更多的技能,必须有多行/cast命令,这就是技能堆叠。这种宏通常用于爆发技能,喝药开饰品开技能需要同时完成。
其法则是:至多只能拥有一个产生/受到GCD影响的技能,幸运的是爆发类技能和药水等物品几乎都设计成不占用GCD。
1:#showtooltip
2:/cast 奥术强化
这样的宏是可行的,因为饰品和[奥术强化]本身并不产生GCD,甚至再加两行
/cast 气定神闲
/cast 奥术冲击
也是合法的。但是,形如以下的宏是非法的:
1:#showtooltip
2:/cast 驱邪术
3:/cast 审判
4:/cast 十字军打击
因为三者都产生GCD和/或被GCD影响,最终的效果是只相当于第一行[驱邪]有用。不要妄图这种方法能实现按优先级施放技能。
4. 技能替代(法则四)
技能替代是一个十分有意思的机制,自CTM引进。这种机制允许某[基础技能]在特殊情况下被另一个[替代技能]替代,而即便在替代的情况下,通过宏命令施放[基础技能]时会自动定向到[替代技能],其最终的结果是正常施放[替代技能],宏的图标也会随之变化。
这种机制有两种情况:
1)单向的替代,/cast [替代技能]不会施放出基础技能,但是/cast [基础技能]是任何情况下通用的。
举例:神牧的[圣言术:罚]在黄轮和蓝轮下转换成[静]和[佑],只要宏
1:#showtooltip
2:/cast 圣言术:罚
就能自动根据轮的颜色转换技能,但因为这是[罚]被单向地替代,反过来如果宏里写[静]或[佑],在红轮下就会放不出技能。
2)双向的等价,[基础技能]和[替代技能]是完全等价的,就如同一个技能,任何情况下用宏施放任意一个技能的结果都是放出当前激活的那一个。比如[腐蚀术]和[献祭]两者,SS玩家可以分别在不同下试试。
这种机制对于写宏非常有利,我们不需要为了技能被替换而另开一个宏。更深入的一点,以下两个技能需要重点提及:
1:#showtooltip
2:/cast 秘法炸弹
3:--这个技能对应法师75级天赋中的[虚空风暴],[寒冰炸弹]和[活动炸弹]。[秘法炸弹]被单向替代。
1:#showtooltip
2:/cast 神圣爆发
3:--这个技能对应牧师90级天赋,也是单向替代。
如果其他职业也有类似的天赋基础技能,请欢迎补充。
跟贴读取中...
跟贴昵称修改后,论坛昵称也会变哦
复制成功,按CTRL+V发送给好友、论坛或博客。
浏览器限制,请复制链接和标题给好友、论坛或博客。
网易公司版权所有热门搜索:
当前位置:
《魔兽世界》6.2 全职业一键输出宏
日 17:18&&&&&阅读(36)&&&&&来源:游戏堡&&&&&编辑:yxbao&&&&&
德鲁伊 平衡
#show 愤怒
/cast [nostance:4] 枭兽形态
/targetenemy [noharm][dead]
/castsequence reset=6/target/combat 月火术(月光),愤怒,愤怒,愤怒,愤怒,愤怒,愤怒,愤怒,愤怒,愤怒,愤怒
/cast !星涌术(日光和月光)
/cast !自然的守护
/cast !自然之力(平衡,天赋)
/script UIErrorsFrame:Clear()
#show 星火术
/cast [nostance:4] 枭兽形态
/targetenemy [noharm][dead]
/castsequence reset=6/target/combat 月火术(月光),星火术,星火术,星火术,星火术,星火术,星火术,星火术
/cast !星涌术(日光和月光)
/cast !超凡之盟
/cast !自然的守护
/cast !自然之力(平衡,天赋)
/script UIErrorsFrame:Clear()
天赋需点:胁迫,飞刃
#show 误导
/cast !复活宠物
/target [harm] targettarget
/target [help] player
/targetlasttarget [help]
/cast [party][raid][target=pet] 误导
/target [help] targettarget
#show 多重射击
/targetenemy [noharm][dead]
/petattack [nogroup]
/startattack
/cast !多重射击
/script UIErrorsFrame:Clear()
#show 瞄准射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=3 瞄准射击,稳固射击,稳固射击
/castsequence reset=15 !飞刃,稳固射击
/changeactionbar 2
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 奇美拉射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/cast !奇美拉射击
/cast !急速射击
/changeactionbar 3
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 夺命射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/cast !夺命射击
/cast !胁迫
/changeactionbar 1
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
猎人 兽王 天赋需点:胁迫,凶暴野兽,夺命黑鸦,飞刃
#show 眼镜蛇射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=6 眼镜蛇射击,杀戮命令,眼镜蛇射击,奥术射击
/cast !夺命黑鸦
/cast !狂野怒火
/changeactionbar 2
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 飞刃
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=15 飞刃,凶暴野兽,飞刃,飞刃,凶暴野兽,飞刃,集中火力
/cast !胁迫
/changeactionbar 3
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 夺命射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/cast !夺命射击
/cast !胁迫
/changeactionbar 1
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
猎人 兽王 弹幕流 天赋需点:弹幕射击,凶暴野兽
#show 弹幕射击
/stopmacro [channeling:弹幕射击]
/cast [target=focus,help][target=targettarget,help][help][target=pet]误导
/cast [nochanneling:弹幕射击]!弹幕射击
/cast !雷霆践踏
/script UIErrorsFrame:Clear()
#show 杀戮命令
/targetenemy [noharm][dead]
/startattack
/castsequence reset=3 [nochanneling:弹幕射击] 杀戮命令,眼镜蛇射击,奥术射击,眼镜蛇射击
/cast [nochanneling:弹幕射击] 凶暴野兽
/cast [nochanneling:弹幕射击] 狂野怒火
/changeactionbar 2
/script UIErrorsFrame:Clear()
#show 弹幕射击
/targetenemy [noharm][dead]
/startattack
/cast [nochanneling:弹幕射击] 弹幕射击
/changeactionbar 3
/script UIErrorsFrame:Clear()
#show 夺命射击
/targetenemy [noharm][dead]
/startattack
/cast [nochanneling:弹幕射击] 夺命射击
/changeactionbar 1
/script UIErrorsFrame:Clear()
天赋需点:胁迫,飞刃
#show 爆炸射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=1.5 !爆炸射击,奥术射击,眼镜蛇射击
/changeactionbar 2
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 黑箭
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=5 !黑箭,飞刃,眼镜蛇射击,眼镜蛇射击,眼镜蛇射击,眼镜蛇射击,眼镜蛇射击,眼镜蛇射击
/cast !胁迫
/changeactionbar 3
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 爆炸射击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=1.5 !爆炸射击,奥术射击,眼镜蛇射击
/changeactionbar 1
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
萨满 增强 天赋需点:星界转移,元素掌握,先祖指引。雕文:冰霜
#show 火焰新星
/targetenemy [noharm][dead]
/startattack
/castsequence [modifier:alt]熔岩图腾; reset=10/combat 烈焰震击,熔岩猛击,元素释放,火焰新星,风暴打击,闪电链,火焰新星,烈焰震击,熔岩猛击,火焰新星,风暴打击,闪电链,火焰新星
/script UIErrorsFrame:Clear()
#show 升腾
/targetenemy [noharm][dead]
/startattack
/cast !火元素图腾
/cast !元素掌握
/cast !升腾
/script UIErrorsFrame:Clear()
#show 烈焰震击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/castsequence reset=12/combat 元素释放,烈焰震击,冰霜震击,冰霜震击,元素释放,冰霜震击,冰霜震击,冰霜震击
/cast !元素掌握
/cast !纳鲁的赐福
/changeactionbar 2
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 风暴打击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/cast !风暴打击
/cast !先祖指引
/cast !萨满之怒
/changeactionbar 3
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 熔岩猛击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/startattack
/cast !熔岩猛击
/cast !幽魂步
/cast !星界转移
/changeactionbar 1
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
萨满 元素 单体 1+3 群体 2+3
#show 闪电箭
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/castsequence reset=5 火焰释放,闪电箭,闪电箭,闪电箭,闪电箭,闪电箭
/cast !熔岩爆裂
/cast !先祖指引
/changeactionbar 2
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 闪电链
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/castsequence reset=5 火焰释放,闪电链,闪电链,闪电链,闪电链,闪电链
/cast !熔岩爆裂
/cast !先祖指引
/changeactionbar 2
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
#show 烈焰震击
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/castsequence reset=5/target/combat !烈焰震击,大地震击,大地震击,大地震击
/cast !萨满之怒
/cast !星界转移
/cast !纳鲁的赐福
/changeactionbar 1
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
魔兽世界7.0军团再临
魔兽世界单机版
游戏标签:
游戏类别:
游戏平台:Vista/winXP/win7
游戏版本:中文版
开发商:暴雪
发行时间:
相关阅读:
阅读(2)05-03
阅读(5)05-03
阅读(0)05-03
阅读(6)05-03
阅读(8)05-03
阅读(20)05-03
阅读(7)05-03
阅读(19)05-03
阅读(3)05-03
阅读(1)05-03
你可能感兴趣的游戏
一周热点攻略
LOL2017季中邀请赛赛程公布,在本届的MSI邀请赛中,中 ......
作品版权归作者所有,如果侵犯了您的版权,请联系我们,本站将在3个工作日内删除。
中国综合游戏门户之一,游戏堡网提供(,网络游戏,网页游戏,手机游戏等)资讯,攻略,下载,补丁 是您找游戏内容的最好选择。
All Rights Reserved 湘ICP备号-2 湘公网安备18 苏网文〔-015号
游戏堡网温馨提示:抵制不良游戏,拒绝盗版游戏,注意自我保护,谨防受骗上当,适度游戏益脑,沉迷游戏伤身,合理安排时间,享受健康生活!

参考资料

 

随机推荐