前言
IMPORTANT本文只是出于学习交流的目的而做,不代表本人对于ACT、Triggernometry等第三方软件的态度,如果对于这方面有疑问的话,请参考官方对于第三方软件的态度。
对于ACT、Triggernometry可谓是老生常谈的话题了,而无论是出自整活的态度:
还是其他的用途(天才妹妹报下机制),ACT+Triggernometry几乎可以满足你的所有需求。
那么在编写你的触发器之前,我们先来了解一些基础知识!
ACT是怎么工作的?
ACT,全称:Advanced Combat Tracker ,是一个通用的MMORPG的战斗追踪框架,它提供了插件的运行环境。而后,在其中工作的核心:FFXIV_ACT_Plugin
便是整个工作机制的核心。
TIP本文并不会过多去探讨插件是如何运作的,如果感兴趣可以访问以上的仓库阅读源码。
当我们成功配置之后,在打开游戏进行几场战斗之后,你会发现在某个地方出现一堆奇怪的东西……
日志
在你的ACT目录下,有一个FFXIVLogs
文件夹,其中你会发现一大堆文件,但是不出意外,他们的文件名长得都像这样:
Network_xxxxx_xxxxxxx.log
ACT在你的战斗过程中通过一些神奇的方式(人话来说,抓包或者注入进程)去接受来自FF14的网络包,然后通过解析这些网络包,ACT得以知晓在战斗中谁在什么时间做了什么事情或者释放了什么技能,而后ACT会将这些内容用一句话去概括,然后保存下来,这些保存的内容便是我们的日志。对,就是我们俗称的logs(别查我logs哇)。
格式
前面我们已经提到了ACT保存了一系列的操作在日志中,那么我们如何去读懂这些日志呢?当然我们并不是说你要完全读懂这些东西,我们只需要知道大概这句话是什么意思即可。
幸运的是,cactbot已经整理好了最常用的日志行的意义,并且整理为了文档:
以上读者感兴趣可以自行阅读,当然需要一定的阅读理解能力。
触发器是怎么工作的?
讲了这么久,我们便来讲解一番触发器的工作原理。
前面提到,对于游戏内的每一个操作,ACT都会通过读取网络包产生对应的日志,因此触发器的工作原理便非常简单,它在ACT写下日志的同时去读取写下的每一行,如果读取到了对应的日志内容,便触发相应的操作。
我:在游戏中按下了“疾跑”技能
ACT:读取到这一网络包,将其保存在日志中
触发器:检测到ACT写下的:玩家xxx 释放了 疾跑,找到了自己的一个触发器,开始运行
一言以蔽之,上面便是非常简单的工作流程。
那么恭喜你,你已经明白了最简单的工作原理,下一章我们会讲解如何编写一个最简单的触发器。
部分信息可能已经过时