ログパーサー GINA のススメ その2 --トンネルのネズミ--

 East Commonlands のトンネル。

 一見ここは、誰かしらアイテムを売ったり買ったりできるフリマだが・・・

 ある意味、ノーラスの魔界である。

 最後のレイドゾーンはここ Plane of Tunnel だと云う輩もいる。

 数プラチナの生革とかボーンチップを出しているヌーブがいると思えば、数百キロプラチナなんていう超高額のお宝を売りに出しているゴッドクラスもいたりして、auction チャンネルは玉石混交の様相を呈している。

 実際の取引の多くは値切られるため、初回は予め高めに設定をしておいて、相手の出方を待つことも多く、ある意味でプラチナ弾の PvP である。

 中毒性があることから、TunnelQuest なんて呼ばれもする。商才のある一部の人はボーンチップから手始めにアイテム転がしで富豪に成り上がることもあるものの、ほとんどの人は仕方なしにここに突っ立っている。

 さて、こうしたトンネル・カーストの中でも最下層に位置する人々は〝トンネルラット〟と呼ばれている。ごくたまに物好きが買う程度の二束三文のゴミを延々と売り続ける、トンネルに巣食うネズミである。

 私のトンネルラットキャラも、バッグの中身はひどい有様だ。

f:id:perotanz:20210609143441p:plain

 ネズミが湧く原因は、二つに大別される。

 一つは損切りができない人。

 まさに私のことだ。

 バンクスロットが一杯になってしまい、にっちもさっちも行かなくなったのに損失の大きな店売りもできず、しょうがなくラットをしている。売っているあいだに何か生産的な、例えば別のキャンプをしたりなどをすればそれ以上の儲けも出るかもしれないが、たいていはさらなる粗大ゴミが増えるという結果に終わる。

 二つ目は、何か買いたいアイテムが出品されるのを張っているあいだに、余計なものを売ろうとする人。

 ほとんどのケースは後者だろう。

 欲しいものがあっても、多い時だと 100 人以上いて目で追うのは大変だ。そこで、アイテムを張る GINA トリガーを作ってみる。

例 4) トンネルラット

 さて 前回 に引き続き、GINA の使い方の例示。

 Search Text はこのようになる。

^(.+) auctions, '.*(Ring of Shadows|10 Dose Potion of Unlife Awareness)

 前回までに説明していなかった、( ) 内の区切り |

 これは、| で区切ることで、この内のどれかにマッチするようになる。

 例では Ring of Shadows と IvU ポーションの売り出しを張っている。欲しいアイテムを | で区切って並べていけばいい。

 初めて出てきた .*

 * は + と似ている。違いは + が 1 文字以上に対し、* は 0 個以上の文字列にマッチさせたいときに使われる。つまり、ここに何もなくてもマッチする。他のものと混ぜて売っている人も居るので、欲しいものの前に他のアイテムが書かれてあってもマッチさせるためだ。

 例えば、ドラッグストア・オタスケ。

f:id:perotanz:20210609144224p:plain

 この例では、

Otasuke auctions, 'WTS 10 Dose Blood of the Wolf x 10 100p each | 10 Dose Potion of Unlife Awareness x 2 200p each...

 太字部分にマッチしている。

 ここで、.* は

WTS 10 Dose Blood of the Wolf x 10 100p each |

 の部分にマッチする。

 システムが出すログと異なり、プレイヤーが手で書いているため、できるだけ緩くして幅を持たせておこう。

 さて、誰かが売っていることはこれでわかった。次は tell で〝ill take that...〟と言わなければならない。相手の名前が必要となるので、タイマーとして表示させてみよう。

 Timer タブの Timer Name 欄に

${1}: ${2}

 とし、10 分間のタイマーにする。この例では

Otasuke: 10 Dose Potion of Unlife Awareness

 というタイマーが出る。何度もスパムする人もいるため、プルダウンで Restart current timer にしておく。

 ここで出てきた ${1} と ${2} の説明。

 ( ) でマッチした順に ${1}、${2}、${3}... と参照ができる。

 例では、1番目の (.+) にはプレイヤー名がマッチするので、${1} で参照する。そして2番目の (Ring of Shadows|10 Dose... にはアイテム名がマッチするので、${2} で参照する。

 

 さて、そうしたトンネルラットの親戚みたいなものに〝ページラット〟がいる。

 まずは スペルリサーチ の説明がいるだろう。

 4 キャスター ENC、WIZ、MAG、NEC が店売りしていないスペルを作成できるトレードスキルだ。それそのものは大して重要ではないが、それなりに頑張ればトンネルで小銭を稼ぐことができる。

 スペルを作成するには、材料となるページがいる。

 これらはモブからのドロップなのだが、多くは店売り、その場で壊す、あるいは地面で腐らせている。

 これは、ページラット的な視点では、かなりの損失である。

 とはいえ、材料となるページは種類が膨大。覚えるにはそれなりの努力がいるため私のような怠惰な人間には全く向いていない。しかも、何よりもバッグスロットを圧迫しまくるため普通は敬遠をするし、整理整頓の苦手な私には苦痛以外の何物でもない。いや、WIZ、MAG、NEC はまだマシだ。

 ENC はまじでエグい

 こいつでページラットとして生計を立てようとすると、それなりの覚悟がいる。

 ただでさえ種類が多いのに、二つや三つが揃わないと売り出せない上に作ってしまうと重ならないからギリギリまで材料として持っておく必要もある。アイテム名だけからはわからない Left と Right なんて違いもある。その上、Faded... なんていう、めくるまでページ番号がわからない嫌がらせまで仕込んである。しかも、どうしてそうなったのか謎だが、店売りのスペルを作成する糞ページも結構存在する。こうした完全なゴミはルート直後に捨てるべきだ。

 そもそも、レベル 50 以上はモブが直接スペルを落とすようになったので、開発側も設計ミスを認めたも同然。

 ともかく、グループで誰かが大事なページを拾って Destroy ボタンで尻でも拭こうものなら即刻止めに入らなければならない。

Nekomimi「そ、その紙はもしや伝説の・・・!!」

Heihatirou「知っているのか雷電! あっ」

 

例 4b) ページラット

 どうでもいい前置きもページラット並みである。

 基本的には、トリガーの Search Text で、自分や誰かが loot したアイテムから特定のページを判定するだけ。

^--(.+) ha(ve|s) looted a (Nilitim's Grimoire Pg\. (300|301))\.--$

 この例の ha(ve|s) は、英語特有の揺れを吸収している。自分が拾ったときは You have... だが他人が拾うと has... となるためだ。そのくせ、a は an にならないなど詰めが甘い。しかも A Faded... なんてアイテムもあるから、a A Faded みたいに酷いことになっている。

 また、(300|301) のように、( ) の中で ( ) を使うこともできる。この例では、

Nilitim's Grimoire Pg. 300

Nilitim's Grimoire Pg. 301

 のどちらかにマッチする。

 この記事で見えている \ はバックスラッシュという記号だが、日本語版の Windows で GINA を動かしていると¥記号になる。これは問題ないので無視していい。

 戦闘中は気づきにくいため何かを喋らせたほうがいいだろう。私の場合は Use Text To Speech で

Enchanter Research

 などクラス名を喋らせている。スピーチでは鬱陶しいのであまり詳細は言わないほうがいいだろう。その代わり、Display Text で何の材料かと誰が拾ったかを表示させる。

ENC (162): Lv44 Shiftless Deeds / ${3} -> ${1}

 さて、こうした単品を狙い撃ちするだけなら話はここで終わる。

 問題は、我々ページラットは、すべてのページを網羅しなければならない使命を帯びている、という点だ。

 これは一人が犠牲になれば十分なので、私が超貧乏だった Blue サーバ時代に作ったトリガーをここに置いておく。

 ENC しか書いていなかったので残り 3 職も追加。バグってる可能性もあり、注意してほしい。

 店で売っていないスペルのページは全部網羅してあり、ラットでも売れないようなゴミスペルも混ざっている。そういうものは各自削除してほしい。

(UPDATE) レベル 51〜54 のスペル交換クエストの引換券スペルも、何に引き換えられるのかを出すようにした。

 WeAreThePageRats.gtp

 

f:id:perotanz:20210610043802p:plain

 

 

それでは、ハッピーねずこライフ!

 

 

補遺 - ログのサンプル

 こういうものは、必ずバグが混入するため、実際のログを GINA にマニュアルで流し込んでデバッグする必要がある。このログを集めるのが大変だったので、ここに残しておく。

 デバッグの方法は簡単。GINA を起動しつつ EQ は念の為に落としておく。次に、適当なキャラのログをメモ帳などで開く。ログの一番下の行にテストしたい行を書き込んで Ctrl-S する。例えばこの例では下記のログを一行ずつコピペする。GINA が期待どおりに反応をしていればそのトリガーは正しい。


ENC

[Wed Mar 18 05:09:56 2020] --Krax has looted a Part of Tasarin's Grimoire Pg. 26.--
[Mon Mar 16 18:44:15 2020] --Dankus has looted a Part of Tasarin's Grimoire Pg. 30.--
[Sun Mar 15 17:30:28 2020] --Hortencia has looted a Part of Tasarin's Grimoire Pg. 312.--
[Sun Mar 15 18:58:21 2020] --Cazad has looted a Part of Tasarin's Grimoire Pg. 390.--
[Tue Mar 17 03:39:17 2020] --Ahzura has looted a Velishoul's Tome Pg. 8.--
[Tue Mar 17 19:06:25 2020] --You have looted a Velishoul's Tome Pg. 9.--
[Fri Mar 20 07:04:13 2020] --Ouktok has looted a Velishoul's Tome Pg. 109.--
[Tue Mar 17 23:01:20 2020] --Nafaelduron has looted a A Faded Velishoul's Tome Page.--
[Mon Mar 23 06:14:28 2020] --You have looted a Salil's Writ Pg. 60.--
[Tue Mar 24 06:25:09 2020] --Mecoes has looted a Salil's Writ Pg. 90.--
[Wed Mar 25 21:53:02 2020] --Crino has looted a Salil's Writ Pg. 64.--
[Thu Apr 02 21:55:40 2020] --Vorik has looted a A Faded Salil's Writ Page.--
[Mon Apr 06 17:22:09 2020] --You have looted a Salil's Writ Pg. 174.--
[Sat Nov 21 01:54:51 2020] --Takewo has looted a Salil's Writ Pg. 288.--
[Fri Mar 20 22:31:25 2020] --Beatnix has looted a Nilitim's Grimoire Pg. 115.--
[Wed Apr 08 23:59:41 2020] --Nasubi has looted a Nilitim's Grimoire Pg. 116.--
[Sat Nov 14 01:49:28 2020] --Takewo has looted a Nilitim's Grimoire Pg. 35.--
[Sun Apr 19 23:39:00 2020] --Sapporocyan has looted a Nilitim's Grimoire Pg. 36.--
[Wed Nov 11 23:38:15 2020] --Puriin has looted a Nilitim's Grimoire Pg. 300.--
[Wed Nov 11 19:29:19 2020] --Puriin has looted a Nilitim's Grimoire Pg. 301.--
[Sun Nov 15 00:07:13 2020] --Tabasa has looted a Nilitim's Grimoire Pg. 378.--
[Sat Dec 05 15:57:01 2020] --Dojou has looted a Nilitim's Grimoire Pg. 379.--
[Tue Dec 08 23:26:18 2020] --Shinnosuke has looted a Nilitim's Grimoire Pg. 415.--
[Thu Dec 31 23:03:21 2020] --Takewo has looted a Nilitim's Grimoire Pg. 416.--
[Fri Jan 01 22:38:30 2021] --Keines has looted a Nilitim's Grimoire Pg. 449.--
[Mon Jan 04 22:49:11 2021] --Sapporocyan has looted a Nilitim's Grimoire Pg. 450.--

 

MAG

[Thu Mar 19 00:23:43 2020] --Nerdy has looted a Words of Transcendence.--
[Thu Mar 19 23:51:35 2020] --Multiplicity has looted a Words of Dimension.--
[Sun Mar 22 00:00:23 2020] --You have looted a Pearl Shard.--
[Sat Mar 21 05:07:56 2020] --Whiteelf has looted a Jade Shard.--
[Wed Mar 18 05:19:35 2020] --Waba has looted a Ice of Velious.--
[Wed Mar 18 04:32:29 2020] --Pluckeye has looted a Words of Coercion.--
[Sat Mar 21 23:57:25 2020] --Reare has looted a Glove of Rallos Zek.--
[Fri Mar 20 05:41:06 2020] --Malmin has looted a Flame of Vox.--
[Mon Mar 23 05:38:00 2020] --Tullamore has looted a Words of Duress.--
[Fri Mar 27 03:03:18 2020] --You have looted a Breath of Solusek.--
[Tue Mar 24 21:53:36 2020] --Kengi has looted a The Scent of Marr.--
[Fri Apr 03 17:41:31 2020] --You have looted a Words of Convocation.--
[Wed Apr 01 21:28:26 2020] --Nemuiyo has looted a Words of Incarceration.--
[Wed Dec 02 01:56:52 2020] --Puriin has looted a Essence of Rathe.--
[Sun Dec 06 02:25:26 2020] --Puriin has looted a Tears of Prexus.--
[Mon Nov 16 23:48:04 2020] --Dojou has looted a Words of Bondage.--
[Sat Feb 06 15:55:08 2021] --Sapporocyan has looted a Wing of Xegony.--
[Sun Apr 19 22:31:29 2020] --Sapporocyan has looted a Breath of Ro.--

NEC

[Fri Mar 13 15:38:22 2020] --Phusis has looted a Words of Materials.--
[Thu Mar 12 23:25:19 2020] --Aiakos has looted a Words of Spirit.--
[Fri Mar 13 13:43:36 2020] --Veal has looted a Words of the Spoken.--
[Thu Mar 12 03:04:45 2020] --Tricho has looted a Words of Possession.--
[Tue Mar 17 02:00:27 2020] --Hyperium has looted a Words of Refuge.--
[Sun Mar 15 21:27:21 2020] --You have looted a Words of Absorption.--
[Mon Mar 16 19:50:33 2020] --Dankus has looted a Words of Detachment.--
[Sun Oct 25 21:42:10 2020] --Toranosuke has looted a Words of Allure.--
[Wed Mar 18 01:43:58 2020] --Stabbinz has looted a Words of the Sentient (Beza).--
[Thu Mar 19 01:22:57 2020] --You have looted a Words of Recluse.--
[Fri Mar 20 08:16:32 2020] --Multiplicity has looted a Words of Purification.--
[Wed Mar 18 07:57:29 2020] --Waba has looted a Words of the Incorporeal.--
[Wed Mar 18 07:26:57 2020] --Waba has looted a Words of Acquisition (Azia).--
[Thu Mar 26 23:44:30 2020] --Kullma has looted a Words of Motion.--
[Fri Mar 27 00:13:28 2020] --Kullma has looted a Words of Neglect.--
[Fri Mar 27 03:03:24 2020] --You have looted a Words of Endurance.--
[Fri Mar 27 01:33:57 2020] --Wuxiang has looted a Words of Dark Paths.--
[Fri Mar 27 00:47:59 2020] --Coags has looted a Words of Haunting.--
[Sat Mar 28 00:00:36 2020] --Wuxiang has looted a Words of the Suffering.--
[Tue Nov 24 01:24:40 2020] --Puriin has looted a Words of Abatement.--
[Thu Nov 26 22:09:39 2020] --Dojou has looted a Words of Cazic-Thule.--
[Tue Dec 08 23:02:40 2020] --Wuxiang has looted a Words of Efficacy.--
[Sat Dec 12 23:35:43 2020] --Takewo has looted a Words of the Psyche.--
[Sun Dec 13 00:38:07 2020] --Takewo has looted a Words of Burnishing.--
[Sun Dec 13 23:13:12 2020] --Dojou has looted a Words of Grappling.--
[Mon Dec 14 20:53:24 2020] --Sapporocyan has looted a Words of Odus.--
[Fri Jan 01 22:50:30 2021] --Keines has looted a Words of Requisition.--
[Fri Jan 01 22:04:19 2021] --Tcpdump has looted a Words of Acquisition (Beza).--
[Sat Jan 16 23:09:06 2021] --Takewo has looted a Words of the Ethereal.--

WIZ

[Fri Mar 13 23:33:06 2020] --You have looted a Rune of Nagafen.--
[Sat Mar 14 03:37:16 2020] --Veal has looted a Rune of Proximity.--
[Tue Mar 17 02:35:14 2020] --Hyperium has looted a Rune of Periphery.--
[Mon Mar 16 21:46:58 2020] --Dojou has looted a Rune of Fulguration.--
[Tue Mar 17 01:26:55 2020] --Hyperium has looted a Rune of Velious.--
[Mon Mar 16 21:02:43 2020] --Aiakos has looted a Rune of Al'Kabor.--
[Wed Mar 18 02:59:20 2020] --Waba has looted a Rune of Disassociation.--
[Wed Mar 18 08:01:06 2020] --Krax has looted a Rune of Presence.--
[Thu Mar 19 05:38:25 2020] --Evoq has looted a Rune of Trauma.--
[Sat Mar 21 08:05:50 2020] --You have looted a Rune of Xegony.--
[Sun Mar 22 03:34:20 2020] --Wenlee has looted a Rune of Karana.--
[Tue Mar 17 21:18:41 2020] --You have looted a Rune of Rallos Zek.--
[Wed Mar 18 05:07:45 2020] --Solarflare has looted a Rune of the Helix.--
[Fri Mar 20 21:12:34 2020] --Nemuiyo has looted a Rune of Banding.--
[Fri Mar 27 00:00:35 2020] --Kullma has looted a Rune of the Catalyst.--
[Mon Mar 23 07:33:06 2020] --Gilean has looted a Rune of Concussion.--
[Fri Apr 03 09:45:21 2020] --You have looted a Rune of the Cyclone.--
[Fri Nov 13 00:03:32 2020] --You have looted a Rune of Solusek Ro.--
[Mon Nov 23 15:44:27 2020] --Azumino has looted a Rune of Conception.--
[Fri Jan 15 00:57:38 2021] --You have looted a Rune of Contortion.--
[Thu Jan 14 01:57:19 2021] --You have looted a Rune of Howling.--
[Sat Jan 16 00:58:24 2021] --You have looted a Rune of Infraction.--
[Sat Jan 16 02:07:39 2021] --Tcpdump has looted a Rune of Attraction.--
[Thu Jan 14 23:04:38 2021] --You have looted a Rune of the Inverse.--
[Sat Jan 16 02:07:34 2021] --Tcpdump has looted a Rune of Rathe.--
[Sat Jan 16 22:27:36 2021] --Takewo has looted a Rune of Frost.--
[Sat Jan 23 00:03:08 2021] --Tabasa has looted a Rune of the Astral.--
[Sat Feb 06 01:10:36 2021] --Souji has looted a Rune of Impetus.--
[Fri Feb 26 21:55:24 2021] --Souji has looted a Rune of Ap`Sagor.--

 

Spell Quest

ENC

[Sat Feb 06 15:02:31 2021] --Sapporocyan has looted a Spell: Color Slant.--

[Mon Dec 14 22:42:53 2020] --Sapporocyan has looted a Spell: Cripple.--

[Sun Jun 06 22:13:07 2021] --Souji has looted a Spell: Dementia.--

[Sat Feb 13 20:59:37 2021] --Takewo has looted a Spell: Theft of Thought.--

 

MAG

[Sun Jan 17 00:01:52 2021] --Takewo has looted a Spell: Bristlebane`s Bundle.--

[Sat Dec 05 00:45:57 2020] --Sapporocyan has looted a Spell: Gift of Xev.--

[Wed Dec 30 22:38:27 2020] --Heihatirou has looted a Spell: Quiver of Marr.--

[Sun Jun 06 23:14:55 2021] --Souji has looted a Spell: Scars of Sigil.--

 

NEC

[Fri Jan 01 22:25:10 2021] --Tcpdump has looted a Spell: Convergence.--

[Fri Jan 01 22:53:04 2021] --Keines has looted a Spell: Defoliation.--

[Sat Jan 16 22:38:27 2021] --Takewo has looted a Spell: Splurt.--

[Sat Jun 05 23:38:00 2021] --Heihatirou has looted a Spell: Thrall of Bones.--

 

WIZ

[Sat Dec 05 00:12:28 2020] --Sapporocyan has looted a Spell: Atol`s Spectral Shackles.--

[Sat Jan 16 22:55:19 2021] --Takewo has looted a Spell: Inferno of Al`Kabor.--

[Sat Feb 06 14:54:39 2021] --Sapporocyan has looted a Spell: Pillar of Frost.--

[Sat Jun 05 23:17:30 2021] --Heihatirou has looted a Spell: Tears of Druzzil.--

 

CLR

[Sat Jan 30 21:23:05 2021] --Souji has looted a Spell: Death Pact.--

[Fri Jun 04 22:49:40 2021] --You have looted a Spell: Reckoning.--

[Sat Jun 05 23:49:46 2021] --Heihatirou has looted a Spell: Upheaval.--

[Sat Jan 30 16:03:40 2021] --Sapporocyan has looted a Spell: Yaulp IV.--

 

DRU

[Fri Jan 01 21:45:10 2021] --Tcpdump has looted a Spell: Circle of Summer.--

[Tue May 04 00:02:56 2021] --Luela has looted a Spell: Circle of Winter.--

[Sat Feb 06 14:35:25 2021] --Sapporocyan has looted a Spell: Form of the Howler.--

[Tue Dec 01 23:54:27 2020] --Puriin has looted a Spell: Spirit of Scale.--

 

SHM

[Sun Dec 13 22:52:11 2020] --Dojou has looted a Spell: Cannibalize III.--

[Mon Dec 14 23:40:15 2020] --Sapporocyan has looted a Spell: Cripple.--

[Tue Jun 01 22:32:07 2021] --Dojou has looted a Spell: Spirit of Scale.--

[Thu Nov 19 21:23:21 2020] --Tabasa has looted a Spell: Talisman of Jasinth.--