如何開發及引用FFXIV ACT插件
2022, Sep 06
遊戲製作人禁止玩家使用ACT等外部插件,禁止使用副本輔助工具等會影響公平性的工具
若有使用請以不影響其它玩家為主
本篇主要自己紀錄一下如何使用開發ACT插件基底
建立一個C#類別庫專案
至Nuget安裝 AdvancedCombatTracker
在專案內建立一個使用者控制項
於使用者控制項內實作ACT介面,InitPlugin, DeInitPlugin
public partial class UserControl1 : UserControl, IActPluginV1
{
public UserControl1()
{
InitializeComponent();
}
public void InitPlugin(TabPage pluginScreenSpace, Label pluginStatusText)
{
//插件初始化
}
public void DeInitPlugin()
{
//插件解除初始化
}
}
測試讀取遊戲Log
- 建立一個 lblChatLog 的Label,將遊戲的log印到控制項中
- 註冊讀取log事件 Game_LogLineRead
public partial class UserControl1 : UserControl, IActPluginV1
{
public UserControl1()
{
InitializeComponent();
}
public void InitPlugin(TabPage pluginScreenSpace, Label pluginStatusText)
{
pluginScreenSpace.Controls.Add(this);
Dock = DockStyle.Fill;
lblStatus = pluginStatusText;
lblStatus.Text = "插件初始化";
ActGlobals.oFormActMain.BeforeLogLineRead += Game_LogLineRead;
}
private void Game_LogLineRead(bool isImport, LogLineEventArgs logInfo)
{
string[] logLine = logInfo.originalLogLine.Split('|');
this.lblChatLog.Text = string.Join(", ", logLine.Select(x => $"\"{x}\""));
}
}
編譯專案與加入自製插件
將專案以Release Build為DLL檔案後,由ACT引用DLL
至ACT點擊Plugins頁籤,點擊Browse將剛才Build好的DLL加入
下方就會出現剛剛自製的DLL了
點入DLL頁籤,從遊戲中測試Log有正常讀取
這樣一個簡單的自製ACT插件就完成了,之後就可以利用遊戲中的log或是其它plugin搭配使用開發出好用的插件