ログパーサー GINA のススメ その4 --リスポーンタイマー--

 

本記事は前バージョンのものについて書いている。最新は こちら にあるので下記は無視してほしい。

 

 GINA のことを書くのは良いが、生活系トリガーばかりで、ゴミ記事っぷりに拍車がかかっている今日このごろ。

 そんなわけで、いい加減に戦闘に関するもの。

  ダンジョンなどでキャンプをしていると、リスポーン管理 をしなければならない。

 難しいダンジョンでも、リスポーンさえコントロール下にあれば難易度は格段に下がる。また、マナが安定するので安全性も高くなる。

 これがうまいプラーとそうでない人の差は、キャンプの効率や安定性に歴然たる差が出る。

 V 系 GINA マスター Souji 師匠直伝の、単純だが効果的なリスポーンタイマーがこれ。

 自分が殺した時、

You have slain a bat!

 また、周りの誰かが殺した時は、

a bat has been slain by Nekomimi!

 このどちらかを拾ってタイマーを出す。そのため、次に沸く順に並ぶ。

 

 Trigger Name: Respawn Timer

 Search Text:

^(You have slain (.+)|(.+) has been slain by .+)!$

 Use Regular Expressions: チェック

 Timer Type: Timer (Count Down)

 Timer Name: ${2}${3}

 Timer Duration: そのゾーンのリスポーン時間

 

 プルダウンは Start a new timer にする。同じ名前でも上書きされないので、下の SS のような見た目になる。知りたいのは次に湧くのが何かなので、表示する範囲に入りきらなくて問題ない。

 とてもシンプルだが、ちゃんと機能する。

f:id:perotanz:20210616144251p:plain

 タイマーの Duration は、キャンプを開始する前にそのゾーンのリスポーン時間に書き換えるという操作が必要になる。これは wiki に網羅されている。タイマーが必要になるような場所はそう多くないので、すぐに覚えるだろう。

 

 

拡張その1

 これを使っていると、キャンプを開始するたびに時間を書き換える作業が億劫になってくる。

 そこで、リスポーン時間ごとのタイマーを予め作っておき、チェックボックスを操作して切り替えるようにする。これで多少はマシになるかもしれない。

f:id:perotanz:20210616170602p:plain


 

拡張その2

 また、そのゾーンのリスポーン時間をタイマーに表示するようにすれば、wiki を見る必要もなくなる。

 ゾーンしたときのメッセージは、例えば

^You have entered East Freeport\.$

 となっているので、それぞれのゾーンに対応したタイマーを用意しておく。表示させる時間は 10 分程度でいいだろう。ゾーンするたびにどんどん増えていくため、

^You have entered (?!.*East Freeport).*(?=.+)

 を Ender に設定して前のゾーンのタイマーは消す。

 切り替え忘れを防ぐため、ゾーン 5 分後に警告をしゃべらせる。

「Switch your respawn timer now」

 しかし、これを街やトランジットで喋られるととても鬱陶しいので、特定のダンジョンのみに限定する。

 機能追加:スラッシュ・エンター (/who) で

^There are 4 players in Nagafen's Lair\.$

 というのが拾えるので、ゾーンに入ってから時間が経過したあとでもバーを出すように機能を追加。

f:id:perotanz:20210616170534p:plain

 

GINAパッケージ 

 これらをまとめた GINA パッケージをこちらに置いておく。

 GINA パッケージは二つに分割した。

 上記1) RespawnTimer.gtp

 上記2) ZoneRespawnTime.gtp

 ゾーンごとのタイマーは結構な数になるので手入力は断念。CSV から生成するスクリプトを前回のアレから流用したので、そちらも同梱しておく。

 

ボヤキ

 惜しむらくは、これが全自動に出来ないことだ。あともう一押しなだけに、残念でならない。例えば、トリガーを跨いで参照できる変数をユーザーが定義できれば〜なんてことを考えてしまう。

 あと、どうして GINA はコピペが出来ないんだろう? カット・ペースト (つまり移動) はできるんだが、未だにコピーがわからん・・・まぁ、スクリプトで生成しているので関係ないんだが。

 EQ そもそも論として、このトリガーには致命的な欠陥がある。slain メッセージの届く範囲が異常に狭いため、ソロやメレーにしか機能せず、少しでも離れている遠隔 DPS、ヒーラー、プラーなどはあきらめるしかない。多少遠くても XP は届いているんだし、せめてそれを殺したグループ全員には報せるべきだった。

 あと、ゾーン名の表記ゆれもたまらない。

 開発の現場は相当混乱していたのだろうが、おかげで何が正式名称なのかさっぱりわからない。しかしよく考えると、全く同じ動作をしているアプリがあるじゃないか。そこで、ZlizEQMap のインストールフォルダを試しに覗いてみると・・・ありました!

 ZoneData/ZoneData-Project1999.txt

 というファイルがそれだ。

beholder=Gorge of King Xorbb

gukbottom=Ruins of Old Guk

guktop=Guk

paw=Infected Paw

 こちらも平易なテキストファイル。なんという親切設計。

 そろそろ認めようじゃないか、時代は〝ドット・テキスト〟に向かっていると・・・!!

 

 

それでは、ハッピー XP!