ff14高級(jí)觸發(fā)器不正經(jīng)教程(2)-我記下了太多店里的黑歷史,正被店員們追著揍

正文無(wú)關(guān)的宏,喜歡可以拿去用↓
這次的教程是關(guān)于ff14ACT高級(jí)觸發(fā)器調(diào)用C#腳本的【初級(jí)】教程,本人C#的水平只比完全不會(huì)好一點(diǎn)點(diǎn)。要是這個(gè)觸發(fā)器動(dòng)作能支持javascript就好了
執(zhí)行腳本這個(gè)觸發(fā)器動(dòng)作不是Triggernometry中新的功能了,至少?gòu)奈?1年開(kāi)始擺弄這個(gè)功能時(shí)就有了。它曾經(jīng)支持C#和VBScript,但是6.0以后的某一次更新開(kāi)始不再支持VB,并增加了回調(diào)等功能。詳細(xì)的請(qǐng)去文章末尾的官方FAQ和更新日志中啃生肉,我們來(lái)簡(jiǎn)單介紹下它的使用方法,并給出一個(gè)小示例

我使用的ACT為下方版本,其他版本差距沒(méi)有特別大。反饋QQ群中的前輩幫忙解決了困擾我數(shù)個(gè)版本的問(wèn)題,在此由衷感謝

有必要先介紹一下高級(jí)觸發(fā)器插件的問(wèn)題,不然可能沒(méi)法繼續(xù)講下去。在前面提到過(guò),執(zhí)行腳本這個(gè)動(dòng)作在6.0時(shí)期有過(guò)一次較大的更新。更新的代碼本身沒(méi)有問(wèn)題,但是漢化文件沒(méi)有跟上。而漢化文件是類似模板那種,由ACT向其提供參數(shù)的。支持的語(yǔ)言(參數(shù)的個(gè)數(shù))由2變?yōu)榱?,之后這個(gè)觸發(fā)器動(dòng)作就報(bào)錯(cuò)了。一創(chuàng)建執(zhí)行腳本動(dòng)作就會(huì)在屏幕右下方無(wú)限彈窗,提示警告信息。
我在重制我的舊觸發(fā)器時(shí)注意到了這個(gè)問(wèn)題,并且直接躺平等待官方修復(fù)。然而國(guó)人玩家使用這個(gè)動(dòng)作的很少,制作者及維護(hù)群體又不使用漢化文件,導(dǎo)致這個(gè)bug很長(zhǎng)一段時(shí)間未修復(fù)。直到我求助圖中反饋群里的前輩,其幫我debug了一圈才找到問(wèn)題所在。再次感謝~
解決方法是手動(dòng)修改一下漢化文件,或者干脆使用英文版。我的漢化文件路徑如下,請(qǐng)各位根據(jù)實(shí)際情況自行調(diào)整:
E:\ff14\act\Plugins\TriggerNometry\zh-CN.triglations.xml
在里面搜索一下"descexecscript"這個(gè)詞,然后將所在的一行改成:
如果比較熟悉這種配置文件可以改成傳一個(gè)參數(shù)的方式,我這里直接偷懶了。

現(xiàn)在新建一個(gè)觸發(fā)器,觸發(fā)器動(dòng)作選擇執(zhí)行腳本。正則表達(dá)式與觸發(fā)器名字根據(jù)需要填寫(xiě)(想了解基本使用方式的話可以看我上一期不正經(jīng)教程,在末尾有鏈接)
腳本代碼左側(cè)的f▽點(diǎn)一下可以展開(kāi),你可以在里面以相對(duì)(同樣不)舒服的方式寫(xiě)C#代碼,我更建議從編輯器中復(fù)制過(guò)去。
這是我的正則表達(dá)式,占星的抽卡動(dòng)作可以觸發(fā)
這是我的C#代碼(寫(xiě)在),有一個(gè)很常用的頭文件(C#不知道叫不叫頭文件)在高級(jí)觸發(fā)器中是默認(rèn)引入的,所以不用加這一行(這一段在官方FAQ中有說(shuō))。
抽卡.txt是輸出文件名,我電腦上抽卡.txt與CafeACT.exe同目錄,不同版本可能不同。
${card}是正則表達(dá)式中的捕獲組。C#腳本每次執(zhí)行前都重新編譯,所以這么寫(xiě)是可以的。相應(yīng)的,也需要注意下執(zhí)行效率的問(wèn)題
再上一種帶盤(pán)符的路徑拼寫(xiě)方式,不同目錄層級(jí)的拼寫(xiě)方式我沒(méi)試出來(lái),迫切需要的可以去下份代碼debug下
放個(gè)示意圖意會(huì)下,大概是這種感覺(jué)

6.0以后的某一次更新新增了一個(gè)安全限制,某些頭文件默認(rèn)是不允許加載的。在我這個(gè)觸發(fā)器中表現(xiàn)為不工作。我們需要在【選項(xiàng)】-【編輯配置】-【Security】(漢化不完整)中為對(duì)應(yīng)的頭文件按需勾選

如果對(duì)這方面完全不懂,請(qǐng)不要使用來(lái)路不明的觸發(fā)器。特別是插件反復(fù)提醒你可能有危險(xiǎn)的部分。不確定能不能用就別用,極端情況下幾行代碼就能讓你的電腦造成無(wú)法修復(fù)的故障。
對(duì)于樹(shù)洞/指名向rp店服務(wù),若客人不希望被記錄請(qǐng)不要使用該功能或及時(shí)清除相關(guān)記錄。
觸發(fā)器往文本里面寫(xiě)入文件的時(shí)候,如果不確定就先不要打開(kāi)該文本文件了,不然可能會(huì)導(dǎo)致文件內(nèi)數(shù)據(jù)丟失。

高級(jí)觸發(fā)器官方更新日志:
https://github.com/paissaheavyindustries/Triggernometry/wiki/Triggernometry-changelog
高級(jí)觸發(fā)器官方FAQ(第一手資料):
https://github.com/paissaheavyindustries/Triggernometry/wiki/Triggernometry-FAQ-and-examples
本系列往期教程:
