本文是超级宏官方教程的第一部分入门基础。初级教程、进阶教程以及其他教程请参看《
1.关于超级宏的执行效率?目前流传较广的说法是“超级宏代码多,较卡!”。
实际上,超级宏有自己特定的解析方法,同等代码量情况下,效率远超其他同类插件!
超级宏的编辑界面,“设置”菜单中,可以查看每个宏的开销情况。 该数值受到机器配置、游戏环境、甚至会是其他插件的影响。
常见宏的均次执行时间,均在2ms以内,甚至是低于1ms!宏友可以多多关注! 同时,插件目前的所有运算都存在于逻辑帧内。
多核模式下,并未见对逻辑FPS产生明显影响!
故,超级宏不会卡FPS,而且效率极高!
2.为什么宏只能在官方宏接口中执行?目前由于游戏接口限制,释放技能只能在官方的宏接口中运行。 快捷键、或是呼吸循环不能释放出技能。
故,任何合法的宏插件的执行都必须通过官方的宏接口!
3.关于宏里为什么不能执行“跳”在当前游戏版本中,“跳”的相关接口已经实际关闭了!
某些插件尚还有用“跳”该功能。在释放“跳”时,客户端角色看起来是跳起来的,实际上服务端的角色数据并没有真正的跳起来。为了不给玩家造成不必要的困惑,超级宏并没有添加该功能。忘宏友周知!
4.写宏要进行哪些准备工作?
准备工作第一步:明确宏功能写宏之前,先明确你想要用宏实现什么样的功能。部分常见的宏功能如下表所示 常见宏功能一览表 | 木桩一键输出 | 实现在站桩环境下的输出循环 | 副本一键输出 | 通常考虑副本的实战环境,在站桩宏的基础上加入移动输出、群怪、爆发、转火、扶摇、减伤或其他辅助功能 | 换武器宏 | 战斗中切换武器,利用武器特效增加DPS | 隐身切装备宏 | 例如使用特效腰坠之后隐身换另一腰坠,仅限能隐身的职业 | T宏 | 用于T职业拉怪 | 选怪宏 | 例如自动选择乾坤剑意的宏 | 挂机刷怪宏 | 通常与按键精灵一同使用,自动选怪、打怪 | 各种辅助功能宏 | 例如自动扶摇,插气场,开锁,一键选血量最低队友,等等 |
准备工作第二步:机制分析确定宏功能之后,就要分析怎样来实现这些功能,采取什么机制,分成哪些步骤。当然,这需要您对游戏各门派技能、游戏基础知识等有一定程度的了解。 举两个比较简单的例子: 新妆冰心木桩输出宏 | 实现机制:
| 10Hg武器切换宏 | 实现机制:
- 如果自己身上没有10Hg武器带来的Buff;或者有buff但没满10层;或者有10层buff但时间到了即将消失,那么切换为10hg武器(叠BUFF并维持)
- 如果自己身上有10层buff,并且剩余时间足够长,那么切换为普通输出武器(带着10层buff输出,提高dps)
|
这是对“如何实现宏功能”进行分析,是写宏的必要步骤。做好这些准备工作之后,下一步就是根据机制来编写宏语句。
准备工作第三步:根据语法编写宏把机制逐条用宏语法“翻译”成宏语句,就是写宏。如果机制合理,宏写起来事半功倍;如果机制存在漏洞或者错误,写出来的宏也会出问题。 仍以上面例子演示如何将机制翻译成宏: 1.剑破CD好了就用2.平时读条玳弦急曲 | /skill 剑破虚空 —-剑破虚空CD好了就用/return [ota] —-保护玳弦急曲不被打断/skill 玳弦急曲 —-平时读条玳弦急曲 | 1.没有10Hg武器Buff或有buff但没满10层或有10层buff但时间少于3秒则切换10hg武器2.有10层buff且剩余时间大于3秒则切换为普通输出武器 | /omwp [(nobuff:xxx);(buff:xxx<10);(bufftime:xxx<3)]10hg武器—-没buff或buff不满10层或buff时间小于3秒则切换10hg武器/omwp [buff:xxx=10,bufftime:xxx>3]普通武器—–buff满10层且时间大于3秒则切换普通武器 |
以上简单例子仅说明写宏的基本过程。实际上超级宏的功能非常强大,可实现的功能相当丰富。接下来的教程将为您详细讲解超级宏的结构、命令、语法,并展现超级宏的魅力。Enjoy it~
5.宏结构简述(暨如何阅读一个超级宏) 目前版本中,一篇完整的超级宏可以简单的分成两部分: # – 配置数据“#”开头的内容,为宏基础配置数据,常见于在宏内容的头部。
在宏保存或加载时,一次性读取并生成相关配置。
涉及到小界面的开关、显示方式、以及内部的数据配置等。
在宏的执行过程中,这些内容并不会实时运行。 / – 宏执行内容“/”开头的,为宏的执行内容,只有在宏执行过程中才会运行。
如:技能释放、切换武器。
执行的顺序是从上到下直至末尾(/return命令可以提前终止)。 基本宏语句的格式即:/命令 [判断参数] 执行的技能 以[color=rgb(43, 135, 193) !important]《浮烟花间宏》为例,我们来看以下宏结构:
6.超级宏界面上的那些按钮是什么?怎么看?#name(*必备) | 宏的名字 | 例:#name 浮烟花间宏v6.2 | #tip | 宏的注释 | 例:#tip v2.0h,by楚玄枫@唯满侠,适用于正式服3.2.0.5362+,YYLMACROv1.1.0+游戏中,鼠标移到宏界面上会显示注释内容 | #hello | 欢迎语 | #hello 欢迎$name使用本宏,无情输出模式已开启!!!($name是游戏角色名)游戏中第一次运行宏会在聊天框显示欢迎语内容 | #icon | 宏图标 | #icon 888 左侧最大的图标后面的数字是游戏内的图标编号,按住CTRL并用鼠标移动到任意技能/BUFF/装备上即可查看其图标编号icon id | #varbool | 宏功能开关(布尔模型) | 定义一个布尔型变量开关(布尔即只有对或错2种结果的模型),变量值在之间切换。游戏中,鼠标点击这类开关会在“开”“关”两种选项中切换,与“开”状态相比,“关”状态的图标是灰色的。例:#varbool v_自动扶摇,tip:扶摇模式,tip_1:开启状态,tip_2:关闭状态,Icon:14851.第一位固定为变量名,以"v_"开头,后面参数不分先后。2.第二位固定为变量提示,为tip:XXX,即这个开关鼠标移上去的提示上行。布尔模式只有2个子tip值tip_1缺省值为“开启”tip_2缺省值为“关闭”。3.Icon参数,缺省值为13(即会显示太极图标),由于布尔模型的特殊性,我们只需要设置1个图标即可,开启为亮的图标,关闭则为暗色。
#varbool v_群怪,icon:3172
#varbool v_心无,icon:3222
#varbool v_腰坠,icon:4254
| #varnum | 宏功能开关(多模式切换模型) | 定义一个数字型开关,变量值在[1~n]之间切换,例:#varnum v_日月模式 ,3 ,tip:明教技能模式, tip_1:自动模式, tip_2:主日模式, tip_3:主月模式,Icon:4515, Icon_1:3869, Icon_2:3868, Icon_3:3808
第一位固定为变量名;第二位固定为开关个数;第三位固定为tip提示;后面为多个模式的tip提示及icon,原则上如果有3个模式,我们应该设立3个不同的icon来区分较好。#varnum v_流派,2,tip:输出流派,tip_1:夺魄流,tip_2:暴雨流,icon_1:3168,icon_2:3182#varnum v_扶摇,2,icon:1485,icon_2:1485,icon_1:4539,tip_1:关,tip_2:开左键点击这类开关会在定义的选项1-n中轮流切换,也可以右键点击出来一个菜单直接显示所有选项。
每个选项都可以自己定义图标和注释
| #skillbox | 技能开关 | 定义宏里涉及的重要技能,并在宏界面右侧第二行显示。(部分技能判断命令如/bansk /allsk 需要技能先在#skillbox中定义才能使用)#skillbox [夺魄箭][追命箭][化血镖][暴雨梨花针][逐星箭][裂石弩][穿心弩]左键点击技能开关会禁止该技能释放,再次点击开启。被关闭的技能则无论宏语句中如何定义都不会被执行,可以用于在实战操作中临时关闭某个技能(例如不允许群,则临时关闭群技能等) |
7.游戏里面的对象ID信息怎么获取?所有游戏里的图标和技能以及包裹物品等均有它单独的ID。 例如给你的宏选择一个漂亮的标识图标,你可以按住ctrl将鼠标移到该图标上 ID即为该技能的ID 在宏的撰写中,技能我们则可以将要释放的技能用ID代替,但是这样你后续维护修改将会变得累一些,当然好处是使用ID的写法可以轻松支持多语言版。 当然在判断副本BOSS技能时,同样可以使用ID判断。 IconID即为该图标的ID 我们可以将其美化我们的宏标识及开关图标。 你可以在《ICON大全》中一览这5000个图标
为了节省字节或避免生字时,我们可以直接判断技能ID来撰写宏命令。同样也是按住ctrl查看团队监控中添加的技能或Buff即可。例如: /skill [tpre:8129] 扶摇直上 值得注意的是,“跳”这个命令已经被和谐,是无法写在宏里的哦!
2013/12/15 第一章·第2节:头部命令详解及ID信息获取 —— 主稿:幽明、浮烟 2013/12/15 第一章·第1节:宏结构简述(暨如何阅读一个超级宏)—— 主稿:浮烟、幽明 2013/12/15 第一章·入门基础:引言 —— 主稿:幽明 ∕修订:YYL
更多教程请参考:
|