【ポケモンRS】ID調整自動化

 

1.はじめに

この記事は Pokémon Past Generation Advent Calendar 2023 の211日目の記事です。

ルビー・サファイアでは、単純にオープニング終了時のSeedによって、TID・SID共に決定されるため、ID調整が難しくありません。エメラルドでID調整が確立される前は、色理想個体を捕獲する場合はルビー・サファイアで乱数するのが一般的でした。

今では自動化でエメラルドのID調整をして、BVSeed保存+絵画Seedを利用するのが簡単ですが、固定method4やLv45のグラードン・カイオーガなど、エメラルドでは狙えない個体も存在するため、一部の3世代対戦勢は現在もルビー・サファイアでID調整を行っています。

今回はNx macro ControllerでC#スクリプトを使用したID調整プログラムを作成したので、紹介いたします。(ある程度、ID調整の知識がある方向けの内容です。)

 

 

2.ID調整自動化プログラム

電池待機終了後にリセットして「さいしょからはじめる」を選択し、ID調整を行うプログラムです。(電池なしの場合は、目標のIDを引くまでループします。)

※ Nx Macro Controller用です。GC(GBA)自動化の導入はこちらの記事を参考にしましょう。

 

 

ゲームでの設定

・「はなしの はやさ」を「はやい」にする。
・ ゲームボーイプレイヤーの画面設定を「フル」にする。

 

 

Nx Macro Controllerでの設定

【電池ありなし共通】

・「Var TrainerName」で任意のトレーナーネームを入力する。
・「Var Gender」で任意の性別を入力する。
・「Var Frame」に待機フレームを入力する。
・「Var Battery」に電池の有無を入力する。

 

【電池ありの場合】
・「Var CurrentTime」に現在の電池待機の経過時間、「Var TargettTime」に目標の電池待機を分単位で入力する。

 

【電池なしの場合】
・「Var TID」で目的のTIDを入力する
・「Var Report」でレポートの有無を書く。
・「Var Threshold」で画像認識の閾値を設定する。

Var Report」を有効にすると、"電池なし"でTIDの画像認識がうまくいった場合にレポートを書くようになります。TID00000を狙う場合なら問題ありませんが、3・8・9の違いをうまく認識できるか怪しいため、画像認識の閾値等を調整する必要があるかもしれません。

 

電池待機 & 待機フレームの設定は3gensearchの「ID調整タブ」で検索したものを入力します。例えば、method4勇敢5VS0が色違いになり、なおかつTID0のIDを狙う場合は、"表ID"を「0」、"性格値"に個体逆算タブから出力した勇敢5VS0個体の性格値を入力すればよいです。詳しいツールの使い方や、DL先はコチラの記事が参考になります。

 

 

実践

準備ができたら、プログラムを実行します。電池ありの場合は、電池を抜いてRTCをリセットした後に改めて電池を入れ、時計の針が動き、Nxで設定したVar CurrentTime」の経過時間(分)と一致した瞬間で実行します。例えば、「Var CurrentTime」が「1」の場合は、電池を入れて起動し、針が1つ動いた瞬間に実行すれば良いです。電池待機からリセットまで、自動で行いますので、寝てる間や通学・出勤中に電池待機が終わる場合でも乱数できるのが嬉しい点です。

電池なしの場合は目的のTIDを引くまでループしますが、電池ありの場合は成功可否に関わらずレポートして終了します。IDが合わない場合は、RTCのリセットからやり直して下さい。

 

NXのオプションから、LINE Notifyトークンを設定してれば、"電池あり"の場合はプログラムが終了した際、"電池なし"の場合は目的のIDを引いた際に通知してくれます。

 

 

3.おわりに

「電池あり」、「電池なし」の両方に対応させているので、各々のニーズに合わせて、使っていただければと思います。最も「電池あり」を利用する方は理想個体を光らせるだけではなく、TIDにも拘りがあるオタクの中のオタク向けですが...。

RSEの自動化プログラムが落ち着いたら、FRLGのID調整プログラムにも着手したいと思います。ジュナリさんのストーリー自動化と同時公開が目標ですが、何かと忙しいので遅くなるかもしれません。