ログパーサー GINA のススメ その3 --ベンダートラッシュ--

 

f:id:perotanz:20210613041044p:plain

 

 今日も今日とて拾い物。

 ギルメンが揃うまで少し時間がある・・・

 終わったけど、眠気には程遠い・・・

 そういうときは気分転換に人気のないゾーンでこっそり 大虐殺 をする。

 といってもただの MAG の土エレで。

 Fine Steel や宝石などの細かい ベンダートラッシュ (店売り以上の価値がないゴミ) を MAG の 四次元ポケット に集め、バッグ 6 個分、60 スロットが一杯になったらゲートして売りに行く。

 なんともセコいが、プラチナは確実に増える。

 Named もそれなりに沸くので、トンネルラットにも良い。

 こうしたプラチナ・グラインドの効率を高めるには、街に売りに行く回数を減らすことだ。そのため出来るだけゴミはその場で捨てて、バッグの中身のプラチナ濃度を濃縮する作業になる。

 さてそこで問題になるのが、ごみの分別 である。

 これがもう、なかなか覚えられない。

 レアではないが、あまり見かけないゴミを勘違いして温存していると実は数ゴールドでした・・・そういうことがままある。

 これ、GINA でなんとかならないかなぁ・・・

 こういうのは、あのアプリの限界を超えてる。

 それにもましてエグい分量の入力作業も不可避だ。

 そんなことを漠然と考えていたとき、前回 の WeAreThePageRats.gtp を使ってみたヴィジュアル系 GINA 師匠の Souji に「これいいわ~」と褒められてしまった。

 これはもう、もうやるしかないではまいか?

 

 ここいらで、取らぬ GINA のトリガー算用が進む。

 基本はページラットとほとんど変わらないはずだ。

 ベンダートラッシュの価格は P99 wiki の Vendor trash をまとめた このページ が参考になるだろう。

 そして、無価値なものを拾うと喋ってくれるのが理想。

 例えば、1p 未満のアイテムは

「Destroy now!」

 1 ~ 4p は

「Cheap」

 と喋らせる。4p 以上は実際の価格を表示する。

Star Ruby Earring: 123.5 pp」

 また、ベンターに売ると大損をする Black Sapphire などの宝石は

「Go Tunnel」

 としてキープする。

 それにしても、GINA は素晴らしいツールだが、こんな酷い使い方は想定していない。なんせ、

1 アイテム = 1 トリガー

 という基本は変わらないのだ。するとどうなるか?

 トリガーが 555 個とか・・・

 えっと、あの・・・

 無駄と知りつつも、こう見えて意外と ( ) でアイテムをまとめてトリガーを削減できるんじゃないか? と軽量化を試みる。

 まずゴミの代表格、錆びた武器 Rusty をバッサリ。

^--(.+) ha(ve|s) looted a Rusty .+\.--$

 おっと、ENC に重要なチャームペットアイテムの  Rusty Spiked Shoulderpads はトンネルでも 150p はするので、これだけは除外したいな。

^--(.+) ha(s|ve) looted a Rusty (?!.*(Spiked Shoulderpads|sonota)).*(?=.+)\.--$

 また、厳密には Rusty ではないがそれに準じるゴミも同様に一括処理しよう。

^--(.+) ha(ve|s) looted a (Cracked Staff|Splintering Club|Worn Great Staff|Iksar Targ Shield|Tarnished (Sheer Blade|Shan`Tok|Fer`Esh))\.--$

 かなり減ったな。

 ・・・わけなかった。

 焼け石に水だ。

 まだ 525 個も残ってやがる。

 こんな膨大な量のトリガーを手入力だなんて、正気の沙汰ではない。

 私のような怠惰な人間には拷問である。

 そうしてああでもないこうでもないと藻掻いた結果、P99 の wiki から csv ファイルに変換し、Excel でそれの手直しをして、そこから GINA パッケージを生成するスクリプトを書いた。

 出来上がったものをこちらに置いておくので、インポートして使ってみてほしい。

 

 GarbageRecycler.zip

 

 Sharing > Import > From GINA Package File > このファイルを指定。

 下の SS のような GarbageRecycler ツリーが入る。

 左からキャラを選んで、このツリーのチェックボックスをオンにするのを忘れずに。

 

 カテゴリは、すぐに使えるように Default にしておいた。

 ただし、カテゴリを Default から分離したい人は 600 箇所のプルダウンを操作するハメになるので、次のようにしてほしい。

  1. ダウンロードした gtp ファイルの拡張子を zip に変更、解凍
  2. 出てきた ShareData.xml をメモ帳で開く
  3. 編集 > 置換で <Category>Default</Category> を <Category>あなたのカテゴリ名</Category> にしてすべて置換ボタン
  4. 保存し、xml を zip に圧縮
  5. 拡張子を gtp に変更してから GINA にインポート

 

 実は  P99 wiki の Vendor trash のページがかなり適当で、抜けているアイテムが多いらしい。これは気が向けばアップデートしてみる。

 機能拡張:guild chat でその名前が出ると表示するようにした。(主に Velious armor gem)

 

f:id:perotanz:20210613040405p:plain

 

 

 

それでは、ハッピーベンダートラッシュライフ

 

 

補遺 - ソース

 GINA パッケージは、gtp という拡張子だ。

 GINA Trigger Package なんて、いかにも馬の骨バイナリの臭いがする。泣きながらバイナリフォーマット解析させられんのかよクソが・・・とまで思ってた矢先。

 なんとなく file(1) すると、zip となっている。あれ? 試しに unzip してみると、なんと xml ファイルがぽろり・・・

 難易度最大の部分が終わってしまった。

 というか、ボーナスステージである。

 なんせ相手はテキストファイル。テキトーなスクリプトでボカーンと nuke。

 なんて親切設計!

 幸い P99 の wiki の html は <tr><td> によるテーブルになっているが、それでもノイズが多いのでまず csv にでも変換するか。大昔に書いたスクリプトに、そーいうのがあったような・・・あった!

 っておい。

 thumnail2csv() 

 エロいにおいしかしない。

 まさかこんなところで むふふサイトダウンロードスクリプト の世話になるとは、わからんもんである。

 気を取り直して wiki の html から csv に落とし、そのままではスクリプトで扱いづらい不備を Excel で修正。実はこの作業が一番時間がかかった。また、前回のページラット的に有益な Spell Research 関連は壊せとか売れとか言わないようにした。

 その csv から GINA の xml に変換するスクリプトを書いて終わり。

 プログラマでも何でもないのでゴミみたいなコードだけど同梱しておく。