※本記事は、ポケモンレジェンズZ-Aにて、ストーリー最序盤(冒険開始~モミジリサーチ解禁、不思議な贈り物が可能になるまで)、および不思議な贈り物の受け取りを自動化するプログラムについて解説した記事です。ポケモンSVの操作をArduino Leonardoで自動化しております。
「Arduinoって何?」って方は剣盾の00回目の記事を、Arduinoの環境構築(ライブラリ含む)は01回目の記事をご覧ください。
本記事では、このプログラム(スケッチ)でできることや原理を解説したうえで、スケッチを配布しています。とにかくスケッチが欲しいという方は下へと読み飛ばしてください。
きっかけ、動機
これまで剣盾、BDSP、SVと作ってきたストーリー自動化。
一方でレジェンズアルセウスで作らなかったのは、カメラ動作が難しいのと、不思議な贈り物がほとんどなかったから。
さてレジェンズZ-Aは、アルセウスみたいに配布ないかな...と思っていたら
A0厳選もできる、オヤブン証のついたプレシャスボールリザードンが1/19まで配布!
これで何ができるの?
①ZAの新規データを作成し、主人公の名前などを設定したところから、モミジリサーチを解禁して不思議な贈り物を実行可能になるところまでを自動化、40分程度。
②モミジリサーチ解禁した後から、ふしぎなおくりものを開いて受け取るまでを自動化。
③その他、手持ちポケモンを預ける動作、ユーザーを切り替えて新しいデータを開始する動作を自動化
①~③組み合わせることで、複数データで不思議な贈り物を複数匹受け取ることが可能です。
原理、おおまかな流れ
①ストーリー最序盤自動化
概要
言語や主人公の容姿、名前を設定し、「これで始める!」からマイコンを挿すことで、モミジリサーチを解禁して不思議な贈り物の受け取りが可能になるところまでを自動化します。40分程度。
自動化開始前に、公開しているスケッチ上部の設定項目、および下部のvoid setup/loopの編集が必要となります。
設定項目(スケッチ上部)
スケッチ上部に「設定項目」として、以下の3点を設定する必要があります。
・Switch本体&ソフトの環境
int hardware_type
Switch本体がSwitch2なのか、旧Switch(1)なのかの選択します。1or2を選択。
これは③その他おまけ自動化 内のユーザー切り替え時、HOME画面に移った際に挙動が変わります。ユーザー切り替えしないなら変更しなくても挙動には問題なし。
int software_type
使っているソフトがSwitch2エディションなのか、旧Switch(1)用なのか。1or2を選択。
Switch1と2でロード時間に結構な差が出るため、1を選択した場合は2よりも要所での動作時間が長くなるように切り替わります。
旧Switch1本体を使用している場合は、2エディションを買っていたとしても1を選択してください。
・御三家の選択
int gosanke_choice
ストーリー最初にもらうポケモンを選択。特にこだわりがないなら、1のワニノコを推奨。
0:チコリータ...他2匹より攻撃力が低い(最序盤進行は問題ない?)。木の葉もたいあたりも物理技なので、A下降性格だときついかも。
1:ワニノコ...無難。水鉄砲で半減になる相手はいない。トレーナー戦、野生のホルビーに抜群
2:ポカブ...問題なし。2回戦うホルビーの弱点を突けない。一方で火の粉やけどの追加効果で早く戦闘が終わる可能性(不確実?)。
関数の使い方(スケッチ下部)
スケッチ下部「void setup」「void loop」内に、ストーリー自動化用の関数を並べることで自動化可能です。
スケッチ内、startStory~momijiResearchまでの各関数が、ストーリー各所の進行に対応しています。これらを並べたものとして
storyAll();
1つで冒険開始からモミジリサーチ解禁までの一連の動作をおこないます。
②不思議な贈り物受け取り自動化
概要
モミジリサーチ解禁後に不思議な贈り物を受取可能になります。
SVの頃の自動化を流用。
関数の使い方(スケッチ下部)
スケッチ下部「giftSet」内に
・startMysteryGiftZA(); ...不思議な贈り物をメニューから開く(+オンラインに接続)
・inputMysteryGiftZA("gift"); ...カッコ内に入れた文字に対応した贈り物を受け取る
・finishMysteryGiftZA(); ...不思議な贈り物を閉じる
の3つを並べて受け取り挙動を設定し、
giftSet();
を「void setup」「void loop」内、ストーリー自動化の後に置くことで自動化可能です。
inputMysteryGiftZA("gift")について
括弧内に入れる文字が数字1文字か、英数2文字以上かで動作が分岐します。
・数字1文字の場合は「インターネットで受け取る」を選択、の上からn番目の贈り物を受取
例)inputMysteryGiftZA("1"); ...贈り物1番目のラルトスを受取
・英数2文字以上の場合は「あいことば/シリアルコードで受け取る」を選択、キーボードにて文字入力して受け取り
例)inputMysteryGiftZA("B1G0006"); ...コードを入力し、オヤブンリザードンを受取
複数受け取る場合は、複数のinput~~~をstart, finishで挟んで記述してください。
③その他おまけ関数での自動化
概要
上記①②の後に動かすおまけの関数として、以下を用意。SV自動化より流用。
・partyIntoBoxZA(n); ...ボックスを開き、手持ちのn番目以降のポケモンをボックスに預ける
通常はモミジリサーチ解禁時点で手持ち5匹になっているため、
partyIntoBoxZA(6); を設定することで、不思議な贈り物で受け取ったポケモンを預けることが可能です。
・changeAndInputZA(x, y, z, "name"); ...レポートを書いた後に起動しているデータを終了し、左からx番目のユーザーに切り替え、新規データのy番目の言語、z番目の主人公容姿を選択し、指定した主人公名を設定します。
なお、ユーザー切り替えのxについては1-8を選んだ場合は通常通りx番目を選択しますが、9以上を選択した場合はSwitch1, 2で動作が異なります。
・旧Switch1の場合、直前にプレイしたユーザーの右隣りを選択します。
・Switch2の場合、十字キー右を多く押し続けるだけなので、結果的に1番右のユーザーを選択します。
主人公名の設定ルールは複雑なので、スケッチ中の説明を確認しつつ、改変してみて覚えてください(説明放棄)
準備、必要なもの
初期条件は以下の通り
初期条件は以下の通り
0. 本スケッチ内の設定項目(すぐ下)およびvoid setup/loop(最下段)より各種設定しておく。
0-設定項目1:Switch本体、ソフトの種類の選択。本体がSwitch1か2か、ソフトがSwitch2エディションか否か
0-設定項目2:御三家選択。チコリータ、ワニノコ、ポカブのどれを受け取るかを選択。
0-ふしぎなおくりもの設定項目:ふしぎなおくりものの合言葉・シリアルコード設定。giftcode1などに受け取る贈り物のあいことばを入力
0-giftSet設定:受け取りたいおくりものに合わせて、スケッチ最下段付近void giftSet内を編集
0-setup・loop設定:ストーリー自動化、不思議な贈り物受取、ユーザー切り替えなど、必要な動作を順にスケッチ最下段のvoid setupあるいはloopに並べる
1. ポケモンSVの新規データを作成する(1データ目)。言語、主人公の容姿、名前を決定する
2. 「これではじめる」にカーソルを合わせたところ、あるいは推した直後にマイコンを挿してスタート。うまくいけばモミジの前までストーリーを自動で進行、贈り物受取、ユーザー切り替えて2データ目以降進行など。
作成したスケッチ
ZA最序盤ストーリー自動化および不思議な贈り物受け取り自動化のスケッチ最新版2025.12.26_ver1.00はこちら。
本スケッチを実際に使用した動画はこちら↓
最後に
本スケッチを使用することで、ZA最序盤のストーリーや、その後の不思議な贈り物受け取りを自動化できます。
もうすぐ配布終了のオヤブンリザードン、ラルトス、そして今後あるのか分からない配布を大量に受け取りたいなどの場合にお役立てください。
プログラムの不備、改善点などありましたらコメントやお問い合わせからお願いいたします。
| Arduino Arduino Leonardo (ピンソケット・ピンヘッダ実装済) 【A000057】 | ||||
|




0 件のコメント:
コメントを投稿