以前にPartyBuffsのフィルター機能を作ってみる記事を書きました。
yyoshisaur.hatenablog.com
この記事から時間も経ち、随分前にPartyBuffsのバージョンアップがありフィルター機能が追加されたので、今回は最新のPartyBuffs(Ver.3.0)へ移行してみたいと思います。
github.com
設定してみる
フィルターは、filters.luaに設定します。
フィルターは、ホワイトリスト/ブラックリストのどちらかで設定できます。
自作したフィルターでは以下のような機能を実装していました。
- 表示領域や視認性を考慮して、監視したいバフ/デバフのみを表示する
- 特定のジョブ用に、1.に監視したいバフを追加する(吟遊詩人では呪歌、学者では陣など)
Ver.3.0のfilters.luaを見ると自身のジョブ毎にフィルターを設定できるようなので、そのまま移行できそうです。
フィルターはホワイトリスト形式にします。
以前使用していた旧PartyBuffsのフォルダを削除するかリネームして、新しいPartyBuffsをaddonsフォルダにコピーします。
一度、新しいPartyBuffsをロードして、settings.xmlを作成します。
setting.xmlが作成されたら、PartyBuffsをアンロードしてsetting.xmlを編集します。
(私の場合、全キャラクター共通なのでsetting.xmlのglobalに設定します)
<?xml version="1.1" ?> <settings> <global> <mode>whitelist</mode> <size>20</size> </global> </settings>
コマンドでも同様の設定できるようです。(コマンドの場合、キャラクター毎の設定になります)
//pb size 20 //pb mode whitelist
フィルター設定
filters.luaのホワイトリストのテーブルは以下のようになっています。
Player_1となっている部分に自身のキャラクター名を設定します。
ジョブ名のリストにバフ/デバフのIDを設定します。(IDはres/buffs.luaを参照)
例えば、自身のメインジョブが戦士(WAR)の時は、WAR=L{}に設定されたフィルターが適用され、パーティ内の他プレイヤーのバフ/デバフが表示されます。
-- filters.lua --For buffs id you can check the buffs.lua in resources whitelist = { Player_1 = { -- player name WAR = L{}, -- buffs id separated by coma WAR = L{40, 41}, this will show only the protect and shell buffs on Warrior main job MNK = L{}, WHM = L{}, BLM = L{}, RDM = L{}, THF = L{}, PLD = L{}, DRK = L{}, BST = L{}, BRD = L{}, RNG = L{}, SAM = L{}, NIN = L{}, DRG = L{}, SMN = L{}, BLU = L{}, COR = L{}, PUP = L{}, DNC = L{}, SCH = L{}, GEO = L{}, RUN = L{}, }, }
設定例
この例では、キャラクター名は「Piyopiyo」とします。
キャラクター名の先頭の文字は大文字にします。
(PartyBuffs内で使用されるキャラクター名には、windower.ffxi.get_player().nameがそのまま使われているので、すべて小文字などではうまく動作しないと思われます)
私の場合、ほぼすべてのジョブで同じフィルターを使用すると思うので、メンテナンス性を考慮して、whitlistのテーブルに直接バフIDを記述せず、別のリストに格納して、それを指定しています。
default_filterは、全ジョブで使用するバフ/デバフのリストです。(デバフ全般、プロテス、シェルなど最低限監視したいバフ/デバフ)
brd_filterは吟遊詩人で使用するバフ/デバフのリストで、default_filterに呪歌を追加したリストです。
sch_filterは同様にdefault_filterに陣を追加したリストです。
-- filters.lua local default_filter = L{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,28,29,30,31,33,37,40,41,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,144,145,146,147,148,149,156,167,168,174,175,177,186,189,192,193,194,217,223,404,540,557,558,559,560,561,562,563,564,565,566,567,572,581} local brd_filter = L{195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,218,219,220,221,222}:extend(default_filter) local sch_filter = L{178,179,180,181,182,183,184,185,589,590,591,592,593,594,595,596}:extend(default_filter) --For buffs id you can check the buffs.lua in resources whitelist = { Piyopiyo = { WAR = default_filter, MNK = default_filter, WHM = default_filter, BLM = default_filter, RDM = default_filter, THF = default_filter, PLD = default_filter, DRK = default_filter, BST = default_filter, BRD = brd_filter, RNG = default_filter, SAM = default_filter, NIN = default_filter, DRG = default_filter, SMN = default_filter, BLU = default_filter, COR = default_filter, PUP = default_filter, DNC = default_filter, SCH = sch_filter, GEO = default_filter, RUN = default_filter, }, }
複数のキャラクターで使用する場合は、whitlistのテーブルに同様のフォーマットでキャラクター毎の設定を追加します。
○吟遊詩人の視点