情報/クエストウィンドウ出力
このページは?†
クエストを実施した場合に、クエストウィンドウに出力されるパターンを記載します。
友瀬的にはChatAnalyzerの機能検討のためのもので、一般にはあまり需要はないと思います(笑)
入場制限のあるクエストでの基本的な考え方†
多くのクエストでは「1日に1回」「週に1回」というように利用制限がされています。
このタイプのクエストは、実際には次の2つのクエストで管理されています:
- クエスト本体:クエストを受注すると発生し、報告することで消失する。
- クエストの時間制限:クエストを報告すると発生し、次に受注を試みた際に「時間が過ぎていれば」削除される。
ただし、討伐ではないクエストではどうやらこれ以外にもう一段階内部的なフラグのようなクエストが定義されているように見えます。
実例1†
ウェルス発掘場F4まわりのクエスト『深淵の孤独』クエスト。
このクエストはデイリークエストで、「ドローリアン10体」、「デッドレ10体」の討伐を求めています。
受注時†
深淵の孤独 時間制限 クエストが削除されました。
前述のうち「時間制限」に関わるクエスト。前回実施した時期から1日以上経過していることから「完了」として扱われて、削除される。
戦闘中、該当する敵を倒したタイミング。†
[深淵の孤独]クエストの [ドローリアン]モンスターを倒しました。(1/10)
:
[深淵の孤独]クエストの [ドローリアン]モンスターを倒しました。(10/10)
報告時†
深淵の孤独 クエストが削除されました。
クエストリストが更新されました。
報告のタイミングで、クエストで求められている「10体」をチェックし、満たしていることから「完了」として削除される。
実例2†
ウェルス発掘場F4まわりのクエスト『データバックアップ』クエスト。
受注時†
データバックアップ 時間制限 クエストが削除されました。
マップでのNPCアクセス時†
データバックアップ クエストが削除されました。
クエストリストが更新されました。
報告時†
クエストリストが更新されました。
データバックアップ クエストが削除されました。
データバックアップ クエストが削除されました。
クエストリストが更新されました。
直感的に:「最初の、受注したことを示すクエスト」と、「内部的な、マップのNPCへのアクセス」との2つが「削除」されたように見える。
メモリアルダンジョン†
この場合もデイリーと同じように「クエスト本体」と「時間制限」の複数のクエストで管理されている・・・が、それ以外にもいくつかあるようで。
実例「呪いの剣士」MD。†
MD作成の依頼†
呪いの剣士入場時間制限 クエストが削除されました。
呪いの剣士入場時間制限 クエストが削除されました。
なぜか2つの削除が表示されている。なんとなく「再入場の管理」用の別フラグがあるような気がする・・・理由は後述。
MD入場時†
クエストリストが更新されました。
クエストリストが更新されました。
クエストリストが更新されました。
クエストが削除されました。
メモリアルダンジョン[Cursed Knight] に入場しました : [PTm名称] ([キャラ名])
入場時点で「削除」が一回発生している。
つまりこれは「MDができたが、入場していない」状態と「MDができていて入場もした」状態との区別を行うために使われていると思われる。
(入場後外にでて、再入場を試みた際に「そのクエストがないから再入場できない」というような判断をするための内部クエストができている)
更新が3つある理由がよくわからない。
MDから出たとき†
クエストリストが更新されました。
(半角スペース)クエストが削除されました。
(半角スペース)クエストが削除されました。
クエストリストが更新されました。
(半角スペース)クエストが削除されました。
これもよくわからない・・・
- 削除が3つあるが、面白いことに先頭にスペースがついている。なんとなく、2つの「更新」に対してグルーピングされているような感じを受ける。
- そのグルーピングを考えると、おそらく次のような感じではないか。
- 1つ目の「更新」では、MDの管理用のモノがある
- その下の削除1つは、「呪いの剣士MD」自体の削除。
- もう1つは、前述の「入場した状態」管理のためのクエストの削除。
- 2つ目は、おそらく「呪いの剣士」MD内でのNPC会話系のフラグではないか。
これは要検証。
- 1つ目の「更新」では、MDの管理用のモノがある
更新が2つあるので、おそらくは「MDクリアして出た」フラグ。
例外的な内容†
- 解析処理作ってて気づいたんだけど。
メモリアルダンジョン入場時にでる「入場しました : 」のログ、定型かと思ったら違ったわ・・・
- ほとんどのマップでは『入場しました(全角スペース)(全角:)(全角スペース)』なんだけど。
- グラストヘイムの没落は『入場しました(全角スペース)(半角スペース)(半角:)(半角スペース)(全角スペース)』になってた。
- CAのテスト動作確認中、なぜか没落がカウントできなくてなんでだ?って、ログファイルをじっくり調べて気づいたよ。
こんなの定型ににしておけよ(笑) - さらに、もっと古いMDにはフォーマット自体が全く異なるものがあることもわかってきた。
少なくとも「古のグラストヘイム」「暴窟王の洞窟」では次のフォーマットだった。
『<PT名>パーティーの<キャラ名>パーティー員が<MD名>に入場します』- この形式だと、単純な正規表現でのマッチングができないのがまずい。
3種の名前が長い場合に行全体が長くなりログが2行に分割されてしまう恐れがある:このような場合「2行をマージ」して判断する必要があるのだが、この「分割されている」ことを判断するのが難しいため。 - やるとすると、次のような感じか。
まず『(.+)パーティーの(.+)パ(.+)』正規表現で一度引っ掛ける。これが引っかかれば可能性あり。『文末が「入場します」であるか否かチェック』
→文末が「入場します」なら、『(.+)パーティーの(.+)パーティー員が(.+)に入場します』でマッチングして取り出す。完了。
→文末が「入場します」でないなら、次の行をチェックしてそっちが「入場します」で終わっているかチェック。
→次行が「入場します」ありなら2行マージしてマッチング。
→次行に「入場します」がなければ、似てもって異なるものだったとして捨てる。 - 「暴窟王の洞窟」は、また似てもって異なるタイプだったわ・・・
『<PT名>パーティーの<キャラ名>が<MD名>に入場した!』
ふざけんな(笑)
解析はできるよ、だけど個別にやらなきゃならないタイプのはめんどいんだよ(例えばこの場合、それが許可されるかどうかは置いておいて、キャラ名後半が「パーティー員」になっているキャラとかいた場合に正規表現で「古グラストヘイム」と区別するには手間がかかる)
- この形式だと、単純な正規表現でのマッチングができないのがまずい。
- ほとんどのマップでは『入場しました(全角スペース)(全角:)(全角スペース)』なんだけど。
- シミュレーション戦闘のようなタイプ。
- これ、「週に2回使える」タイプなんですが。
この場合、その2回は「同じ日に使える」ようです。- 実際にログを見ると、週の初回のMD作成処理を行うと「入場1回目」「入場2回目」「週間挑戦制限」というクエストが削除されまして。
2回目の作成時には、これらの3クエストについては何も記述がない。 - ってことは、たぶん1回入ると「1回目」クエストが発生。2回目に入ると「2回目」クエストが発生。で規定数作成されたから「週間挑戦制限」も作製される。
3回目に入ろうとすると「週間挑戦制限クエストが動いている」ので次が作れない。
これらが「ウィークリーで時間管理」されていて、翌週にそれが初期化される(ため、作成時に除去される)・・・という感じか。
- 実際にログを見ると、週の初回のMD作成処理を行うと「入場1回目」「入場2回目」「週間挑戦制限」というクエストが削除されまして。
- これ、「週に2回使える」タイプなんですが。

