見出し画像

MacroQuest2を最新にする

久しぶりにレストランで昼飯を食べた。会社をやめるという人がいるので送別会を行った。インド人の上司に物理的に1年半ぶりくらいに会った。レストランはイタリア料理屋だった。私の住んでいるところのイタリア料理は、日本で言えばカレーやラーメンのような自分の国で魔改造しているうちにそこの国の料理になってしまった系のさきがけだと思う。基本的にどんな料理もぐだぐだに茹でられたパスタ、なんでもかんでもマリナラソースとチーズ、味のきついミートボールの3つで構成されており、料理の種類というのは、その3つの形状やもりつけが変わっただけのものだ。例をあげれば、ミートボールスパゲティ、ラザニア、その他もろもろ。なにげにピザもクラシカルになると同じ出自であることがよくわかる。
しかし今回行ったレストランは、そのいつものお約束以外に、イカスミがあった。実際はマリナラソースをイカスミで色をかえているだけだが、イカスミはここではめったに食べられない。これは注文しないわけにはいかない。メニューを良く見たら、麺がスパゲッティではなく、フットチーネとかいてあった。きしめんじゃなく、普通のスパゲッティでくいたい。そのため、注文するとき、麺をふつうのにしてくれと頼んだ。イタリア料理店のくせにチェッカーのシャツにジーンズというきこりのような格好をしたメキシコ人のウエイターはOKOKと軽く返してきた。そしてやってきた料理は全く黒くなかった。普通のスパゲティに、マリナラソースとエビとイカがはいったものがでてきた。そして、実はこの料理、私がよく知るイカスミパスタではなく、普通のマリナラソースに、イカスミが練り込んであるフェットチーネをあわせただけの料理だった。麺を普通のにすればたしかにイカスミ成分が全くなくる。やられた。だまされた。まあでも味はそこそこよかった。

うーん、今日もサーバ設定の話ができないな。たぶん、ストレス的にそちらのほうが重いんだろうなあ。
さて、ここ1年間シコシコ作っていたe4だが、これはMacroquest2(以下MQ2)というEverquestを乗っ取って中の情報の取得と制御を行う環境の上で動くマクロだ。MQ2はオープンソースソフトウエアだが、これを管理しているところは、ライヴとテストサーバで使うことを想定しているため、使用者のとMQ2が動作しているマシンのコントロールをしている。要はあるウェブサイトでアカウントを取ってそれをMQ2で入力するか、自分でコンパイルした場合、謎の認証ソフトにマシンのIDを登録しなければ動作しない。そんな怪しいツールや認証ソフトを入れるのは気持ちが悪い。なので、認証していなかったころの古いMQ2を使うことになる。その古いMQ2は2017年のもので、もう4年も前のものになる。その間Everquest自体斜陽なゲームなのにもかかわらず、MQ2自体はすごい勢いでバージョンアップしており、便利そうなプラグインも追加されている。他にも、2017年のものは、バグが多く、普通に使っている限りでは気づかないが、マクロをまともに作るとそのバグに結構遭遇する。ものによってはEQがハングアップしたりするので、デバッグが大変だった。その辺含めて新しいものが使いたかった。
MQ2のソースはgithubにあるので、それを落として、認証部分を全部引っこ抜いてビルドしなおそうと思ったが、なんとgithubにあるMQ2のレポジトリには、エミュレーションサーバ用の設定ファイルが入っていなかった。これでは手詰まりだ。やっぱり古いMQ2でなんとかしなければならないかと思っていたら、灯台下暗しというか、PEQのデータベースサイトに普通においてあった。これでMQ2Navがe4でも使える。
以下に最新のMacroquest2へのインストール方法を備忘録として書いておく。

エミュレーションサーバ向けの最新のMacroquest2はmqemulator.netにある。

いくつか種類があるが、クライアントはRoF2、ビルドはMQEmulator Classic Buildを選ぶ。私は最初PEQを選んでしまい、MQ2autologinがなくてドハマリした。
ダウンロードしたファイルはMQ2しかない。基本的にmacrosのフォルダの下にe3なり、e4を入れるだけだ。ただ、これだけだと自動的に実行しないため、以下の設定が必要になる。ひとつはMQ2EmuAutoMacro.iniの設定だ。

[Macros]
Default=e4

また、自動ログインのためにMQ2AutoLogin.ini、移動で使われるMQ2MoveUtils.ini、複数Everquestを起動したときに裏のクライアントの動作を軽くするMQ2FPS.iniは古い設定ファイルをそのまま上書きすればよい。マップにNPCなどを表示するプラグインは古いほうはMQ2mapliteという機能制限版が入っていた。これはPEQのルール的に使えなかったためだと思われるが、最新には上位版のMQ2mapが入っている。これも設定ファイルがそのままもっていけるがファイル名が違うため注意が必要だ。

これだけ設定すればひとまず動くようになる。いままでと動作は変わらない。ただ、自動的に動いているプラグインが増えて、それが自動的に実行されるため、画面が結構うるさくなっていると思う。次に新しくはいったプラグインの説明と無効にする方法を書いていく。

macroquest2.iniのpluginセクション

ここで自動的にロードするプラグインが設定されている。上がデフォルトの設定だ。上からひとつひとつ説明する。使わないプラグインは、mq2xxxx=0と設定すればよい。

MQ2aaspend : 自動的にAAを使用する。旧版ではなかった。不要
MQ2autologin:自動的にログインする。必要
MQ2cast:詠唱コマンドを拡張する。e3では必須。e4ではこのプラグインがバグの温床の一つであったため、使わずにマクロで全部構成した。一応必要
MQ2chatwnd:Everquestのスクリーンの左上のウインドウを出すプラグイン。必要
MQ2custombind:キーの組み合わせをコマンドとして登録できる。旧版ではなかった。どちらでも
MQ2emuautomacro:ログイン時に自動的に実行するマクロを設定する。必要
MQ2emuring:ゲーム内にチェックポイントを置くプラグイン。旧版ではなかった。将来使うと思うので必要
MQ2emusearch:mqemulator.netのデータベースに自動的に飛んでくれるプラグイン。旧版ではなかった。すごく便利
MQ2eqbc:クライアント間の通信を可能とするプラグイン。必要
MQ2fps:各クライアントのフレームレートを調整するプラグイン。必要
MQ2hud:オーバーレイで設定した情報を表示するプラグイン。必要
MQ2iniext:iniファイルを便利に読むためのプラグイン。e3もe4も利用している。必要
MQ2itemdisplay:アイテムのウインドウを表示したときに通常よりも詳細な情報をだすプラグイン。必要
MQ2Labels:ゲーム上でMQ2のデータを参照できるプラグイン。必要
MQ2map:ゲーム上のマップに追加情報を表示するプラグイン。旧版では機能限定版のMQ2mapliteだった。必要
MQ2moveutils:キャラクターの基本的な移動を制御するプラグイン。必要
MQ2nav:キャラクターの複雑な移動を制御するプラグイン。旧版ではなかった。e4では将来使うので必要
MQ2netadvpath:キャラクターのフォローを制御するプラグイン。必要
MQ2netbots:EQBCSに接続した他のキャラクターの情報を参照するプラグイン。必要
MQ2spawnmaster:zone内で設定したmobがpopしたときに音で知らせてくれるプラグイン。旧版ではなかった。どちらでも
MQ2ic:ライヴでMQ2の使用をサーバ側で検出されるのを防ぐためのプラグイン。エミュレーションサーバでは不要
MQ2TargetInfo:ターゲットウインドウを拡張して、ターゲットの種族やクラスを表示する。旧版ではなかった。デフォルトのUIだとまともに動くので、違うUIを使っている場合不要だと思う。
MQ2Exchange:装備を交換する機能を追加する。e3もe4も利用している。必要。
MQ2LinkDB:アイテムのリンクを表示する。必要
MQ2Turbo:たぶんマクロ内のTurbo値を設定しているのだと思う。これいるのかなあ。

とりあえず私のmacroquest2.iniの設定は以下にした。

とりあえずこれでちょっと細かい不具合があるが、e4は問題なく動いているようだ。しかしMQ2navを動かすのは楽しみだなあ。これによって自動巡航は劇的に動作が改善されるはず。




この記事が気に入ったらサポートをしてみませんか?