欢迎光临散文网 会员登陆 & 注册

ff14高级触发器不正经教程(2)-我记下了太多店里的黑历史,正被店员们追着揍

2022-11-21 00:38 作者:纤凌依  | 我要投稿

正文无关的宏,喜欢可以拿去用↓

这次的教程是关于ff14ACT高级触发器调用C#脚本的【初级】教程,本人C#的水平只比完全不会好一点点。要是这个触发器动作能支持javascript就好了

执行脚本这个触发器动作不是Triggernometry中新的功能了,至少从我21年开始摆弄这个功能时就有了。它曾经支持C#和VBScript,但是6.0以后的某一次更新开始不再支持VB,并增加了回调等功能。详细的请去文章末尾的官方FAQ和更新日志中啃生肉,我们来简单介绍下它的使用方法,并给出一个小示例

我使用的ACT为下方版本,其他版本差距没有特别大。反馈QQ群中的前辈帮忙解决了困扰我数个版本的问题,在此由衷感谢

ACT版本信息

有必要先介绍一下高级触发器插件的问题,不然可能没法继续讲下去。在前面提到过,执行脚本这个动作在6.0时期有过一次较大的更新。更新的代码本身没有问题,但是汉化文件没有跟上。而汉化文件是类似模板那种,由ACT向其提供参数的。支持的语言(参数的个数)由2变为了1,之后这个触发器动作就报错了。一创建执行脚本动作就会在屏幕右下方无限弹窗,提示警告信息。

我在重制我的旧触发器时注意到了这个问题,并且直接躺平等待官方修复。然而国人玩家使用这个动作的很少,制作者及维护群体又不使用汉化文件,导致这个bug很长一段时间未修复。直到我求助图中反馈群里的前辈,其帮我debug了一圈才找到问题所在。再次感谢~

解决方法是手动修改一下汉化文件,或者干脆使用英文版。我的汉化文件路径如下,请各位根据实际情况自行调整:

E:\ff14\act\Plugins\TriggerNometry\zh-CN.triglations.xml

在里面搜索一下"descexecscript"这个词,然后将所在的一行改成:

如果比较熟悉这种配置文件可以改成传一个参数的方式,我这里直接偷懒了。

现在新建一个触发器,触发器动作选择执行脚本正则表达式与触发器名字根据需要填写(想了解基本使用方式的话可以看我上一期不正经教程,在末尾有链接)

脚本代码左侧的f▽点一下可以展开,你可以在里面以相对(同样不)舒服的方式写C#代码,我更建议从编辑器中复制过去。

这是我的正则表达式,占星的抽卡动作可以触发

这是我的C#代码(写在),有一个很常用的头文件(C#不知道叫不叫头文件)在高级触发器中是默认引入的,所以不用加这一行(这一段在官方FAQ中有说)。

抽卡.txt是输出文件名,我电脑上抽卡.txtCafeACT.exe同目录,不同版本可能不同。

${card}是正则表达式中的捕获组。C#脚本每次执行前都重新编译,所以这么写是可以的。相应的,也需要注意下执行效率的问题

再上一种带盘符的路径拼写方式,不同目录层级的拼写方式我没试出来,迫切需要的可以去下份代码debug下

放个示意图意会下,大概是这种感觉

完整触发器示例

6.0以后的某一次更新新增了一个安全限制,某些头文件默认是不允许加载的。在我这个触发器中表现为不工作。我们需要在【选项】-【编辑配置】-【Security】(汉化不完整)中为对应的头文件按需勾选

放开头文件限制
  1. 如果对这方面完全不懂,请不要使用来路不明的触发器。特别是插件反复提醒你可能有危险的部分。不确定能不能用就别用,极端情况下几行代码就能让你的电脑造成无法修复的故障。

  2. 对于树洞/指名向rp店服务,若客人不希望被记录请不要使用该功能或及时清除相关记录

  3. 触发器往文本里面写入文件的时候,如果不确定就先不要打开该文本文件了,不然可能会导致文件内数据丢失。

高级触发器官方更新日志:

https://github.com/paissaheavyindustries/Triggernometry/wiki/Triggernometry-changelog

高级触发器官方FAQ(第一手资料):

https://github.com/paissaheavyindustries/Triggernometry/wiki/Triggernometry-FAQ-and-examples

本系列往期教程:


ff14高级触发器不正经教程(2)-我记下了太多店里的黑历史,正被店员们追着揍的评论 (共 条)

分享到微博请遵守国家法律