宏学研究 宏学(Macrology)第二版 上篇 宏基础

时间:2021-05-09 20:36 作者:佚名 手机订阅 神评论

新闻导语

这个部分主要讲述一些宏的基本知识,面向对宏缺乏基本认知的玩家。当然,里面还包括很多熟手也不清楚的细节,相信无论读者宏学水平高低都能有所收获。

上篇绪论

这个部分主要讲述一些宏的基本知识,面向对宏缺乏基本认知的玩家。当然,里面还包括很多熟手也不清楚的细节,相信无论读者宏学水平高低都能有所收获。

学习这个部分,你可以从零开始:

自如的操作用户宏界面

理解宏的基本原理

理解热键栏的独立与客观存在

分辨什么样的宏是不好的,什么样的宏是好的

对一些比较重要的指令拥有比较充分的认识

写一些简单的宏,不再需要伸手求宏

宏面板介绍

从这里打开你的用户宏面板(你也可以设置一个快捷键)

1:宏面板翻页按钮,第一页是本角色专用的宏,第二页是与在本客户端上启动的任何角色共用的宏。实际上并没有太大意义,只要复制大号文件夹里的macro.dat到其他帐号文件夹里就可以实现200个宏共用。

2:宏图标,默认为

,点击可以选择一些系统提供的图标,也可以使用/micon 进行指定。

3:宏名称,鼠标暂留时会显示,手柄十字热键栏也会显示。

4:宏名称当前字数/字数限制,最多20字,一个英文字母和一个汉字都算一个字。

5:宏内容,由文本指令构成,每行最多180字,一个汉字算3个字,英文字母算一个字。

6:宏当前行数/行数限制,最多15行。

7:宏列表,每一个方格可以储存一个宏,点击可以拖动到热键栏上,但是不能拖动到别的方格上,可以右键呼出次级菜单。

8:当前选中的宏的编号。

9:当前页已占用宏格子的数量。

10:打开文本指令一览,请善加利用。如果记得写法,但是由于里面的项太多找不到,善用/?,或[拜访wiki],或前往日基的[文本指令一览]

次级菜单说明:

执行:执行一次这个宏。

复制:复制这个宏到宏剪贴板(不能复制到聊天框发给别人!)。

粘贴:复制或剪切后出现,把宏剪贴板内的宏粘贴在这个位置,覆盖这个位置上原来的宏。

剪切:将这个宏剪切到宏剪贴板,若热键栏上有这个宏的热键,将自动删除。

删除:删除这个宏,若热键栏上有这个宏的热键,将自动删除。

撤销:删除、剪切、恢复或粘贴后出现,取消最近一次删除、剪切、恢复或粘贴操作,若操作涉及热键栏上的宏热键被删除,热键栏上的宏热键不会恢复。

恢复:撤销后出现,取消上一个撤销操作,若操作涉及热键栏上的宏热键被删除,热键栏上的宏热键不会恢复。

文本指令与宏

那么,宏到底是什么呢?

在FF14中,宏是一种替代玩家进行一部分操作的文本指令集合程序。

首先我们先介绍一下文本指令。

玩家通过键盘或鼠标点选技能热键来释放技能,而通过输入/ac 技能名,玩家也可以施放技能。输入文本指令/ac 替代了玩家点选技能热键的操作。文本指令可以嵌套占位符,

<me>这个占位符替代了玩家在文本指令中输入自己名字的操作。

因为FF14没有专用的文本指令输入区域,所有的文本指令都在聊天框内输入。为了区别于聊天文字,系统规定输入文本指令时,以/这个符号起头表示这是一句文本指令而不是一句话。如果你不慎在/前方打了一个空格,你的指令就会被当做聊天内容发送出去(这非常丢人!)。

大部分文本指令都有包括中文写法在内的多种写法,笔者主要用英语写法展示。由于文本指令实在是太多了,笔者只能挑一些很重要,很难理解的文本指令在这篇文章中说明,如果你还有什么不明白的指令,试用一下是最好的学习方法!

输入文本指令是非常繁琐的,我们把常用的文本指令存储在一个批处理程序里,这样我们就可以直接执行这个程序来快速输入文本指令,这个程序就是宏。一个宏最多可以保存15行文本指令。

宏的实际效果相当于在极短的时间(如果没有/wait或/aaction指令)内将储存的15行内容依次输入聊天框发送,因此如果你的宏中有不是/起头的语句,它会被作为一句话发送到当前默认聊天频道(这非常丢人!)。如果你的宏中有一行什么也没有,系统会自动认为这个宏已经结束,不再继续发送空行后方的内容。

宏除了可以运行几乎所有文本指令以外,还可以使用自己专用的指令:/micon,/wait,/mlock等。

宏的基本特征

宏有三个显著的特性:线性、无判断和单线程。

线性是指宏连续发送文本指令从第一行到第一个空白行为止,是依次进行的,在上方的会先发送,在下方的会后发送。每一行指令执行完毕后才发送下一行。执行完毕是指系统认为这件事情已经做完了。系统执行/ac 指令只要不到0.04s,但执行/aaction需要大约1s,但是,/ac 指令被执行的时候,当前人物状态不能释放技能,那么这个指令也算是执行了。系统做的事情是命令人物现在立刻马上释放这个技能,人物现在不能释放这个技能,那就反馈告诉你,现在不能这么做,命令结束。

无判断是指宏不能根据任何外部信息(除了占位符)来调整自己的行为。宏不会判断这个指令执行的结果怎样,现在角色的状态怎样,只会按部就班的依次发送预存的文本指令并遵循宏专用指令的控制。在运行中止时,也不会记录是否运行完成,运行到了哪。同样,这意味着FF14的宏无法实现任何基于输入条件的编程化指令。

单线程是指只有一个宏可以处在运行状态。如果在一个宏未运行完之前运行另一个宏,当前运行的宏会立刻停止运行。如果正在运行的宏有宏锁保护,那么在运行完之前,任何其他宏都无法运行。但是,直接输入文本指令并不会打断宏的运作,也不受宏锁的控制,因为文本指令不是宏,宏只会被宏打断,宏锁只阻止宏的执行。

占位符

占位符是英文placeholder的直译,意思是一个由特定格式的字符串组成的记号,用于在字符串中预留位置,在获得数据后,用对应的数据替换这个记号(可以看作一个变量)。他的日文是代名詞,中文直译是代词。宏研投票表决以占位符作为正式名称。

占位符一般具有<...>的形式,表示一个特定的逻辑名称,是唯一可以即时接受外部信息做出改变的文本指令。

在一句话中,使用占位符,发送时会自动替换成被指代的内容。例如,“已退避<2>!”,假设2号队员叫XXX,那么发送时会变成“已退避XXX!”。指代的内容不存在时,会显示为空(注意不是空格)。例如当前没有组队,则会发送“已退避!”

占位符可以在文本指令里使用,除了在喊话中指定人名/地名以外,还可以用于指定文本指令的一些参数和对象。如最常用的<tt>——目标的目标,一般是MT,这样用占位符为文本指令指定的目标我们称为逻辑目标。

占位符在逻辑目标的应用上有一些特殊性,它可以指代一些不能被直接指名的目标,比如非玩家单位。例如,/ac 展开战术 <p>可以指定朝日小仙女为展开战术的目标,但是/ac 展开战术 朝日小仙女 并不能成功对小仙女释放展开战术,据推测,这可能是为了防止有一名玩家叫朝日小仙女而造成目标混乱。同样,/ac 强力射击 魔列车 也不行。

由于占位符在游戏内的文本指令一览中查不到,建议翻阅官方网站:[日语文本指令一览],顶上可以改语言,但是没有中文。

这里放出一些常用的占位符(其中有些连官方都没有):

占位符解释
<t>当前选中目标的名字
<tt>当前选中目标的选中目标的名字
<me>自己的名字
<1~8>队伍列表中对应编号的人的名字
<f>焦点目标的名字
<lt>上个选中的目标的名字
<le>上个选中的敌人的名字
<la>上个对自己造成伤害的敌人的名字
<c>自己的陆行鸟的名字
<p>自己的召唤物的名字
<pos>自己的当前坐标,可以被点击插旗
<flag>当前插旗地点的坐标,可以被别人点击插旗
<mo>当前鼠标指向的目标的名字,指向小队列表/仇恨列表/目标模型都算。手柄注意:手柄的预选中状态不算
<item>最近选择过“展示道具属性”的道具链接。装备上的魔晶石、签名、精炼度、耐久等全部不能正确显示,只能显示基本属性
<recast.技能名>指定技能的冷却时间,格式为--:--(分:秒),因此不能用来作为wait的时间参数
<attack1~5>被标记了“攻击1~5”记号的单位的名字,同理还有<bindX>,<stopX>,<cross>等。
<r>上一个悄悄话你的人的名字
<hp>自己的当前hp值/最大hp值,同理还有<mp>(魔力)、<tp>(技力,tp不显示最大值,因为所有人都是1000)、,<bhp>(你的陆行鸟hp)、,<php>(你的召唤兽hp)
<hpp>自己的当前hp百分比,同理还有<mpp>、<bhpp>、<phpp>、<thpp>(当前选中目标)、<fhpp>(焦点目标)
<job>自己的当前职业(等级),同理还有<tjob>(当前选中目标)、<fjob>(焦点目标)

还有几个具有占位符的形式但意义有所不同的用法,官方也将其归为占位符,笔者认为有别于以上占位符,在此列出:

<wait.X>:等同于/waitX,在发言中使用不会在发言中显示,但同一排后面的内容会消失,具体说明见下文。

<se.1~16>:发出提示音,只在小队/团队/默语频道有效果。可以认为是指代了一个本来不能用语言描述的“声音”,会显示在发言中。


相关阅读:最终幻想14,交流,攻略

论坛大图推荐