-
-
Notifications
You must be signed in to change notification settings - Fork 68
SpecialSpellTimer_Examples
種類 | spell |
概要 | バイオ系DoTの例 |
スペル名 |
${effect} ➡, ${victim}
|
インスタンス化 | true |
マッチングワード |
1A:<id8>:(?<victim>.+?) gains the effect of (?<effect>バイオ|バイオラ|バイオガ) from <mex> for (?<duration>[0-9\.]+)
|
正規表現 | true |
リキャスト時間 | 0 |
延長1 | |
延長2 | |
レベルによってアクションが置き換わるバイオ系を一括で扱います。 アクション名は バイオ|バイオラ|バイオガ でグループ化しどれでもヒットするようにします。効果時間はグループ名 <duration> を使用してログから動的に拾わせます。ゲーム内で発動したときの効果時間が拾われるためリキャスト時間の設定は関係なくなります。 スペルの表示は正規表現でキャプチャーしたアクション名、対象を表示させます。 例えば、Naoki Yoshida に対してバイオを使用した場合は バイオ ➡ Naoki Yoshida と表示されます。 またインスタンス化にチェックを入れることで名前の異なる対象に対して使用したときにそれらを個別に表示させます。バイオ等はベインで複数対象に拡散するため表示が多すぎてしまう場合があります。その場合はインスタンス化のチェックを外せば最後にかけた対象だけを管理するようになります。 エアロ、サンダー、ミアズマ に対しても同様に設定することが出来ます。例えば
このようにあらゆるDoTを詰め込んでも動作します。スキル名、対象、効果時間は動的に拾われるため問題なく表示されます。ただし、スペルの設定としては1つになるため色やフォントなどはすべて同じ設定が適用されることになります。 |
種類 | spell |
概要 | リジェネ, アスペクト・ベネフィクの例 |
スペル名 |
${effect} ➡, ${_TANK}
|
インスタンス化 | true |
マッチングワード |
1A:<id8>:<TANK> gains the effect of (?<effect>リジェネ|アスペクト・ベネフィク) from <mex> for (?<duration>[0-9\.]+)
|
正規表現 | true |
リキャスト時間 | 0 |
延長1 | |
延長2 | |
リジェネ、アスペクト・ベネフィクによるHoTを一括して扱います。 基本はDoTと同じですが、対象を <TANK> とすることでタンクにかけたHoTだけが表示対象となります。DPSや自分にかけたHoTは継続的に管理する必要がないため、表示する対象を限定することで管理を容易にします。 |
種類 | spell |
概要 | 単体バリアの設定例 |
1つ目のスペル名 |
Nフィールド ➡, ${_TANK1}
|
1つ目のマッチングワード |
1A:<id8>:<TANK1> gains the effect of ノクターナルフィールド from <mex> for (?<duration>[0-9\.]+)
|
1つ目の延長1 |
<TANK1> loses the effect of ノクターナルフィールド from <mex> -60秒延長する |
2つ目のスペル名 |
Nフィールド ➡, ${_TANK2}
|
2つ目のマッチングワード |
1A:<id8>:<TANK2> gains the effect of ノクターナルフィールド from <mex> for (?<duration>[0-9\.]+)
|
2つ目の延長1 |
<TANK2> loses the effect of ノクターナルフィールド from <mex> -60秒延長する |
インスタンス化 | false |
正規表現 | true |
リキャスト時間 | 0 |
TANK1 と TANK2 のバリアを個別に管理します。スペルは2つ設定します。 バリアはキャパシティを超えると効果が失われるため延長するマッチングワードを使用して効果の消失を検知させます。このとき複数人を対象としたグループでマッチングを行うと、TANK2 のバリアが消失したときに TANK1 のバリアも消失したように見えてしまいます。よって TANK1 と TANK2 を個別に設定します。 |
種類 | spell |
概要 | パーティメンバが自分へかけたシナジー効果の表示 |
スペル名 |
${effect}, ⬅ ${user}
|
インスタンス化 | true |
マッチングワード |
1A:<id8>:<mex> gains the effect of (?<effect>桃園結義|竜の左眼|バトルボイス|エギの加護|エンボルデン|フェイウィンド|アーゼマの均衡|オシュオンの矢|ハルオーネの槍) from (?<user>.+?) for (?<duration>[0-9\.]+) Seconds
|
正規表現 | true |
リキャスト時間 | 0 |
延長1 | |
延長2 | |
自分に与えられたシナジー系バフを表示します。 延長などがある場合も更新されます。誰がかけてきたかも分かるので適切にMIPを送りましょう。邪魔ならば使用者の表示は消して使ってください。 吟遊詩人の歌はログの形式が異なるのと意識するほどでもないためオミットしました。また、リキャストについては時間がログから動的に拾えないため個別にスペルを登録する必要があります。数が多いのでここでは取り上げませんので、このスペルの設定を参考に作ってみてください。 |
種類 | spell |
概要 | 敵に作用するパーティメンバへのシナジー効果の表示 |
スペル名 |
${effect}, ➡ ${target}, ⬅ ${user}
|
インスタンス化 | true |
マッチングワード |
1A:<id8>:(?<target>.+?) gains the effect of (?<effect>斬属性耐性低下|突属性耐性低下|被ダメージ上昇|連環計) from (?<user>.+?) for (?<duration>[0-9\.]+) Seconds
|
正規表現 | true |
リキャスト時間 | 0 |
延長1 | |
延長2 | |
敵に作用しパーティメンバにシナジーを与えるデバフを表示します。 「どのエフェクトをどの敵に誰が使ったのか」を3行で表示します。情報量が多すぎるようならば削って使ってください。 タレットとだまし討ちは、与えるエフェクトの名前が同じであるため使用者でしか判別できません。不便なようならばジョブ代名詞を使って分離すると良いでしょう。 召喚士のエメラルドの輝きとコンテージョンもこれに含まれるべきですが手元にログがなかったため含まれていません。使用者もあまりいないので問題ないと思いますが気になる場合は自分で追加してください。 |
種類 | spell |
概要 | ただのリプライザル |
スペル名 |
リプライザル
|
インスタンス化 | false |
マッチングワード |
に「リプライザル」の効果。
|
正規表現 | false |
リキャスト時間 | 5 |
延長1 | |
延長2 | |
なんの変哲もないリプライザルの設定例。 このように正規表現を使わない場合は正規表現のチェックを外します。正規表現はそれ一つが小規模なプログラムのようなものです。ムダに正規表現を使うとCPU負荷があがります。なるべく正規表現を使わない設定にしましょう。このページでは複雑な正規表現の例を書いていますが、私の設定では複雑なものはごく一部です。正規表現なしのシンプルなパターンのスペル、テロップを専ら使用し、正規表現でないと実現できないものに限ってならべく数を減らして登録しています。 あと 「タンクは必ずこれを設定しておけ」 リプライザルを被って打ち込むムダ打ちマンが多すぎる。 |
種類 | spell |
概要 | パーティ募集の検索結果を読み上げさせる |
スペル名 |
パーティ募集
|
インスタンス化 | false |
マッチングワード |
現在パーティ募集は([0-9]+)件、うち詳細検索の条件に見合った募集が([0-9]+)件あります。
|
正規表現 | true |
リキャスト時間 | 0 |
延長1 | |
延長2 | |
NoticeタブのTTSに下記のような設定をすることで、パーティ募集の詳細検索でヒットした件数を読み上げさせることができます。 マッチしたときの通知 TTS : |
種類 | ticker |
概要 | 敵の技 |
メッセージ |
アク・モーン
|
マッチングワード |
starts using アク・モーン または は「アク・モーン」の構え |
正規表現 | false |
表示時間 | 0秒後から 3秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | false |
単純に敵の詠唱技を表示するためのテロップ。テロップの最もポピュラーが使い方と言える。 引っ掛け方は二種類あります。 "starts using ○○○○" で引っ掛けるパターンは FFXIV_ACT_Plugin が生成するログに対して引っ掛けます。これはメモリ解析またはパケット解析から出力しているため FFXIV本体のログより早い です。しかし、多少不安定な部分がありアクションによっては出力されなかったり、多重に出力されるものもあります。設定してみて引っ掛からなかったり挙動がおかしいようならば後述するプレーンなパターンに変えましょう。私も使い分けています。 "は「○○○○」の構え" で引っ掛けるパターンはFFXIV本体が出力するプレーンなログに対して引っ掛けます。starts using よりは多少遅くなりますがあらゆるシチュエーションで動作します。困ったらこれ。トリガーの基本ですね。 レアケースですが "「○○○○」の構え" と出力されるものと "「○○○○」を唱えた" と出力されるものの二種類があります。完全な詠唱魔法の場合は後者のほうになります。ログを見れば分かりますがヒットしない場合は確認しましょう。 |
種類 | ticker |
概要 | 神龍の尻尾 |
メッセージ |
尻尾 ➡ ${target}
|
マッチングワード |
1B:[0-9A-F]{8}:(?<target>.+?):[0-9A-F]{4}:[0-9A-F]{4}:007E:[0-9A-F]{4}:[0-9A-F]{4}:[0-9A-F]{4}:
|
正規表現 | true |
表示時間 | 0秒後から 3秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | false |
神龍の尻尾マーカを通知します。マーカの対象者の名前がテロップに表示されます。 複雑な正規表現に見えますが重要なのは冒頭の |
種類 | ticker |
概要 | 汎用マーキング |
メッセージ |
マーキング ➡ ${target}
|
マッチングワード |
(?<target>.+?)に「マーキング」の効果
|
正規表現 | true |
表示時間 | 0秒後から 3秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | true |
まず最近のコンテンツではこのタイプのマーカは使われません。参考にしてください。 ログに表示されるマーキングを通知します。継続的にマッチさせるをONにするのがポイントです。継続的にマッチさせることで複数人に設定されたマーカを列挙します。 例えば、Taro Yamada と Jiro Suzuki にマーカが設定された場合 マーキング ➡ Taro Yamada マーキング ➡ Jiro Suzukiと表示されます。 複数人にバラ撒かれるようなエフェクトの把握に応用できます。 |
種類 | ticker |
概要 | 磁場転換(頭割り) |
メッセージ |
頭割り ➡ ${target}
|
マッチングワード |
1B:........:(?<target>.+?):0000:0000:0064
|
正規表現 | true |
表示時間 | 0秒後から 3秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | true |
オメガ零式3層の頭割りマーカの表示です。頭割りマーカの対象になった人を列挙します。 次のAOEマーカと組合せることで離れるのか集合するのかを判別します。 |
種類 | ticker |
概要 | 磁場転換(AOE) |
メッセージ |
AOE ➡ ${target}
|
マッチングワード |
1B:........:(?<target>.+?):0000:0000:0065
|
正規表現 | true |
表示時間 | 0秒後から 3秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | true |
オメガ零式3層のAOEマーカの表示です。AOEマーカの対象になった人を列挙します。 AOEマーカの一番最初の人が頭割りと繋がった人になります。よって前述の頭割りマーカのテロップと位置をずらしてこのテロップを表示させることで、速やかに散開と集合を判別することが出来ます。位置を調整すると 頭割り ➡ Taro Yamadaと表示されます。このときAOEの1番目である Jiro Suzuki が頭割りと接続された人ということになります。 |
種類 | ticker |
概要 | ラバナスタの真偽判定 |
メッセージ |
${bool}
|
マッチングワード |
冷血剣アルガス:(261A|2619):(?<bool>真実|虚構)の仮面
|
正規表現 | true |
表示時間 | 0秒後から 8秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | false |
なくても全く問題ありませんがラバナスタの真偽の表示です。前述の磁場転換の例や下記のカウンタ表示及び複数テロップを組合せて使う例として挙げています。 |
種類 | ticker |
概要 | ラバナスタの啓示カウンタ |
メッセージ |
{COUNT0} ${order}
|
マッチングワード |
<mex>に「神の啓示:(?<order>見るなかれ|行動し続けよ)」の効果。
|
正規表現 | true |
表示時間 | 0秒後から 5秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | false |
カウンタを表示する例です。啓示は5秒後に判定なのでテロップを表示時間を5秒に設定しつつメッセージにカウンタを表示します。また前述の真偽表示と組合せることでミスがなくなります。 カウンタは禍泡のような動いてはいけない系に応用できます。 |
種類 | ticker |
概要 | サンダーウィング |
メッセージ |
サンダーウィング ➡ ${target}
|
マッチングワード |
(?<target>.+?)に「サンダーウィング」の効果
|
正規表現 | true |
表示時間 | 0秒後から 3秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | true |
何の変哲もないサンダーウィングのテロップ。かつて侵攻編4層で活躍したテロップ。他人のサンダーも確実に分かるため自分だけテロから逃れられます。他が死ぬのでほとんど意味ないですが。 継続的にマッチさせるようにしておけば複数人への付与も表示できます。 もはや書く必要もないでしょうが サンダーウィング ➡ Taro Yamada サンダーウィング ➡ Jiro Suzukiと表示されます。 さらに応用を効かせて (?<target><nex>)に「サンダーウィング」の効果 (?<target><mex>)に「サンダーウィング」の効果と自分以外と自分を分けて2つのテロップを定義することで、アラートを分けたり表示方法を分けることが出来ます。 |
パフォーマンスを少しでも上げるために FFXIV_ACT_Plugin から取得するログの不要な部分はカットしてマッチングを行っています。したがってカットされている部分をパターンに含めるとマッチしませんのでご注意ください。
カットしているのはログの冒頭のタイムスタンプの部分です。
FFXIV_ACT_Plugin が出力する生のログの例
[23:59:56.364] 1E:Naoki Yoshida loses the effect of インドゥルゲンティア from Himechan White.
スペスペでマッチングするときのログの例
1E:Naoki Yoshida loses the effect of インドゥルゲンティア from Himechan White.
このようにカットされます。
過去に挙げていた設定例ではタイムスタンプ部分をパターンに含めていたものもあります。したがってそれらはマッチしなくなっていますのでご確認ください。
スペルやテロップを作るときはまずはログの収集から始めます。ログの収集方法は下記の通りです。
- スペスペの [Options] タブを開く
- [ログ] を開く
- [ログを保存する] をチェックする
- [ログの保存先フォルダ] に出力先フォルダを設定する
これで指定した場所に FFXIV_ACT_Plugin のパース後のログが保存されます。
参考までに極蛮神やレイドなどの新しいコンテンツが実装されたときは下記の手順で攻略しています。
- ログ収集をONにして偵察に行く
- 収集したログでスペル・テロップを作る
- スペル・テロップで武装して殺す
基本的に一度見た技を食らうことはありません(ミスることはありません)。
ゾーンフィルタ・ジョブフィルタはなるべく設定し、アクティブに展開されるスペル・テロップが最小限となるようにしましょう。
アクティブに展開されているスペル・テロップは膨大に発生するすべてのログに対してマッチングを行います。またマッチする条件よりもマッチしない条件のほうがマッチングの負荷は大きくなります。したがって現在のジョブでは絶対にマッチしないサブジョブのスペル・テロップなどが展開されているとマッチングに大きなムダが発生してしまいます。
通知のレスポンスを極力早めるために各種フィルタを設定したり、まとめられるものはなるべくまとめてアクティブに展開されるスペル・テロップを減らしましょう。
特定のタイマーが「稼働」している、または「停止」している時のみ、そのタイマーの開始用マッチングワードをチェックさせることができます。(非表示や延長のマッチングワードは、条件の影響を受けず常にチェックされます)
また表示内容に、条件指定したタイマーの正規表現がキャプチャした内容を追加できるようにしました。表示メッセージ(スペルの名前)で下記の形式を指定することで、キャプチャされた内容に置き換わります。
$C[条件番号]-[グループ番号]
例:左上から数えて2番目のタイマーのマッチングワードで、3番目に出現する ( ) に一致した内容
$C2-3
これらの機能を使うことで、次のようなことが実現できます。
ロイヤルロード:効果時間増加の有無により、異なる(リキャスト時間の)タイマーを動作させる。
名称 | マッチングワード | 時間 | 条件 |
---|---|---|---|
効果時間増加 | loses the effect of ロイヤルロード:効果時間増加 | 2 | なし |
アーゼマ30 | <me>の「アーゼマの均衡」 | 30 | 停止中:効果時間増加 |
アーゼマ60 | <me>の「アーゼマの均衡」 | 60 | 稼働中:効果時間増加 |
カードの効果はロイヤルロードが消えてから発動するため、ロイヤルロードが消えてから2秒間だけ「効果時間延長」が稼働するようにしています。
マグネットで自身とつながった相手の名前と、それぞれの+ーの種類をテロップで表示させる。
名称 | 種別 | マッチングワード | 時間 | 条件 | メッセージ |
---|---|---|---|---|---|
磁力1 | ログ | (<2>|<3>|<4>|<5>|<6>|<7>|<8>)に「磁力【(.)】」の効果 | 1 | 停止中:磁力1 | なし |
非表示 | (<2>|<3>|<4>|<5>|<6>|<7>|<8>)に「磁力【(.)】」の効果 | ||||
磁力2(奇数) | ログ | (<2>|<3>|<4>|<5>|<6>|<7>|<8>)に「磁力【(.)】」の効果 | 6 | 稼働中:磁力3 | $2 $C1-1 => $1 |
磁力3 | ログ | <me>に「磁力【(.)】」の効果 | 1 | 停止中:磁力1 | なし |
非表示 | (<2>|<3>|<4>|<5>|<6>|<7>|<8>)に「磁力【(.)】」の効果 | ||||
磁力4(偶数) | ログ | <me>に「磁力【(.)】」の効果 | 6 | 稼働中:磁力1 | $C1-2 $1 => $C1-1 |
これらの設定をすることで、[相手の+ー] [自分の+ー] => [相手の名前] のようにテロップを表示することができます。
磁力は、自身が奇数番目・偶数番目それぞれで、一つ前の人・一つ後の人とペアが異なるため、それぞれの場合を指定しています。
テロップでは、「ログに対するマッチングワード」に一致した場合、その行は「非表示にするマッチングワード」のチェックが行われないため、磁力1は1行ごとにON/OFFを繰り返します。そのため、磁力1を条件とすることで、結果的に奇数番目・偶数番目を条件とすることができています。
「こんなスキルを引っ掛けたい」「敵の~というアクションを表示させたい」
こういった要件については Twitter か Discord で尋ねて頂ければお教えします。
ただし、必ずログを採取してログを添えて質問してください。私はあらゆるコンテンツのあらゆるジョブのログを持っているわけではありません。「アイアンジョーで動かないのでどうしたらいいですか?」と聞かれてもログがなければ「私は吟遊詩人をやっていないので分からない」という回答になります。
種類 | spell |
概要 | テンプレートスペル |
スペル名 | |
インスタンス化 | true |
マッチングワード | |
正規表現 | true |
リキャスト時間 | 0 |
延長1 | |
延長2 | |
解説文 |
種類 | ticker |
概要 | テンプレートテロップ |
メッセージ | |
マッチングワード | |
正規表現 | true |
表示時間 | n秒後から m秒間 表示する |
非表示のマッチングワード | |
継続的にマッチさせる | false |
解説文 |
記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
Copyright © 2010 - 2020 SQUARE ENIX CO., LTD. All Rights Reserved.