ddddloopなしでID調整をしよう!【ポケモンHGSS】
こんにちは。
この部分を書いているのは2021年1月ですが、剣盾が発売され1年が経ち、10月にDLC第2弾の冠の雪原実装に伴って過去作から準伝等を持ってこれるようになった影響でHGSSの乱数をやる人が増えた影響かはわかりませんが、「HGSS ID調整」でggると上から2番目に当ブログがヒットすることからアクセスが増えていると思い、これを書いた2019年10月から1年以上経った2021年1月現在に見やすいよう編集をしなおしています。
もし質問等あれば気軽に仰ってください。
早速ID調整からやっていこうと思います。
今回は控えめでめざ炎70の色違いラティオスをソウルシルバーで捕まえるためSSでやります。
一応この記事内だけの情報で乱数調整ができるよう書くつもりですがわからない部分などあるかもしれません。
この記事内の乱数調整ではDSLiteを使用した乱数調整を想定して書いています。
今回の趣旨
HGSS(第4世代)のID調整は調べれば腐るほどブログやらで出てくると思いますが、今回私がやろうと思っているのは、
①好きな表IDで
②好きな冒険開始日にする
という2点に重きを置きました。
以下は既に乱数をやったことある向けのお話なので初めてやるよって方は飛ばしちゃってください。
まずID調整についてですが、調べればたくさんのHGSS乱数に関するブログ等にたどり着きます。
そんな中で、HGSSのID調整について書かれたブログの大半は2種類に分かれ、
①乱数そのもののやりかたを解説し、フレーム計算等を解説している(例.ヤドンでもできる〜様)
②詳しい乱数のやり方は省き、とりあえずこの日時に起動すればこのID手に入りますよという旨のブログ(例.大人でも〜様)
になっていると思います。
①に関してはPHSの使い方からフレーム計算まで解説しており、②ではツールが使えない人でもこの通りに起動してやればとりあえず出来るよ!ということで初心者でもわかりやすく書かれてます
そんな中で個人的に思うのは時間という概念にこだわっているサイトが少ないということです
「2048年10月11日XX時YY分ZZ秒に時計を設定し〜」
こんな文章をよく見かけると思います。
これはあくまでも私の感想ですが、いくら乱数とは言え2081年みたいなあまりにも未来の時間で捕まえたポケモンを使うのはなんか気持ち悪いので現実味のある時間で冒険を始めたいしポケモンを捕まえたいです。
じゃあ出来るだけ現実味のある年月日で乱数をやりたいなって思うと、「2021年スタートでやりたいな」って思ったらどうしたらいいの…?となります
①に関しては計算方法こそ書いてあるものの、PHSで出て来たフレーム数を60で割るのが一般的ですが自分の目的の年数にはたどり着きにくいです
フレーム+年-2000:5870
とかであれば、ヤドンでも〜様の計算に基づくと5870以下で最も近い60の倍数を求め、
5870/60=97.833333
97*60=5820
となり、年数は5870-5820=50、よって2050年というのが一般的です。
じゃあこの5870という数字から、2021年に持ってこようとするとやり方は書かれてません。
②に関しては年月日そのものを指定しているので、それを自分の狙いたい年月日に適応させるのは無理です
そこで今回私は自分が設定したい日時でやって、それを書き留めておこうと至った次第です。
基本的にはまず①の通り他のブログ等でも多く取り扱われている方法を記載し、その後に自分がやる方法を記述する形になります。
かなり長くなりましたがやっていきます
1.好きな表ID(または冒険開始日)を決める
これが今回の1番の目的です。
今回私は、
ID:00721
冒険開始日:2019年7月21日
で控えめめざ炎70の個体が色違いになるよう調整していきます。
721という数字の理由は単純明快7月21日が誕生日だからです…
冒険開始の年数に関しては2000年より前には設定できないので2019でいきます。
※この記事を書いたのは2019年10月のため2019になっています。
2.狙うポケモンを決める
とにもかくにもまずここですよね。
正直好きなIDを狙うだけならこんな過程いらないですが、どうせ乱数やるんだからそのセーブデータでも欲しい個体を決めましょう。
まずは今回のID調整のみならず第4世代で乱数調整を行うにあたり必要不可欠なPHSというツールをDLします。
こちらのリンクからPHS1.20.2 zipをダウンロードしてください。
そのまま解答してPHS1.20.2.jarを開けば起動します。
もし起動しない場合は使っているPCにjavaが入ってない可能性が高いのでダウンロードして試してみてください。
Windows版:https://www.java.com/ja/download/ie_manual.jsp
Mac版:
https://www.java.com/ja/download/
無事にPHSが起動出来たら、色違いが欲しい個体の情報を入れていきます。
デフォルトは多分こんな画面が出るはず。
私は控えめでめざ炎70の色ラティオスを捕まえたいので、
左上の伝説(シンクロ不可)の箇所はそのままで性格、個体値、必要ならめざパのタイプと威力を入れます。
攻撃の個体値に関してはどうでもいいので攻撃を無視にもチェックを入れます。
そして、左下の方にある
0~500だけ前のseedを出力
450~1000Fで出てくるポケモンを表示
標準出力
のうち、450~1000Fで出てくるポケモンを表示の箇所を450~5000くらいに変更してあげましょう。
上記を入力して左下の実行ボタンを押すとこんな感じ。
右側の欄に目的の個体がズラーっと出てきます。
今回は個体値と性格値の条件に合う乱数パターン数:5となっているので、検索したら結果が5匹いたよってことになります。
この中から自分が欲しい個体を選ぶわけですが、例えば画像で言うと1匹目と2匹目の個体値は共に31-31-30-30-31-30で同じで、「どっちを選べばいいの?」となります。
違うのは特性が1か2かで、今回みたいなラティオスが目的の場合は特性がふゆうで固定なのでどっちでもいいことになります。
ここで重要なのが性格値という値です。
1匹目は66c35c56、2匹目は65bd93b7となっていますが狙うIDで目的の個体が光るかは性格値で決まります。
つまり、検索結果によっては狙いのIDだと出ない可能性があるので注意が必要になります。
3.目的の個体が光るIDを探す
とりあえず目的の個体を検索した結果今回は5パターン出たので、次は実際に自分が狙うIDでその個体の色違いが出せるかを確認する必要があります。
まずはPHSの実験用タブを開きます。
開くとこんな感じになっているハズ。
そして、上のseed調査と書かれたすぐ下にあるテキストボックスに072と入力し、実行を押します。
すると、実験用タブのすぐ左に最初はなかったID関連というタブが出てきます。
これを使います。
最初はこんな感じのはずです。
まず1番上の☑️IDから調べるの表IDの欄には今回自分が狙いたい表IDを入力します。
私の場合は721ですね。
次に、デフォルトではチェックが入っていない
□色違いにするポケモンの性格値から調べる
にチェックを入れ、性格値の欄に値を入れるんですが、この時に最初に欲しい個体の情報を入れた赤いタブ(条件から検索)に戻り、検索結果に出た個体の性格値が必要になります。
例えば私の場合は1匹目に
このような個体が出たので、この中の性格値に該当する66c35c56、これを入れてあげます。
次に開始時刻ですが、特定の年月日で冒険をスタートさせたい場合はここも指定します。
私は①でも書いた通り、今回は2019年7月21日を冒険スタートの日にしたいので入れます。
そして最後に2700~3000Fで出てくるポケモンを表示の欄ですが、後ろの数字には最大値の65535を入れます。
特定のID、特定の年月日で検索をかける場合5000や6000程度では出てこない可能性が非常に高いので、検索可能なギリギリの範囲まで広げてあげて検索します。
冒険開始日にこだわらない場合はチェックを入れない方がいいです。
当然検索する量も増えるため結果が出てくるまでPCに負荷と時間がかかります。
検索中はこんな感じで、右下にある
探索中の初期seed下ケタ:
の右にある数字が、画像の場合検索範囲の最小の2700から始まって最大値の65535になるまで数字が増えていきます(画像だと12213)
マシンのスペックにもよるかもしれませんが私のPCの場合は大体10000の検索で2分ちょっと、65535の検索まで12分前後かかります。
今回性格値66c35c56で検索かけた結果は…
はい、このように結果が0の場合もあるので、目的の表IDと冒険開始日の2つをクリアしようと思うと結構ヒットするまで時間を要します。
後続のソフト、主に剣盾に連れていく場合冒険の開始日はどうでもいいと思うのでこだわりがなければチェックを外しましょう、結果が出る可能性があがります。
これを条件検索でヒットして出てきた個体の性格値を次々と入れていき、どの個体であれば目的のIDで色違いになるかを探していきます。
今回は2匹目3匹目の結果を次々に貼っても仕方ないので、結果だけを貼ります。
これは控えめめざ炎70の検索結果で出てきた、
この個体で色違いが出るIDです。
表ID:721
裏ID:50514
初期seed:ce0e36ec
月×日+分+秒:206or462
時:14
フレーム+年-2000:14060
表IDと裏ID、初期seedとその他の情報が出てきたので次は乱数調整を行うための計算に入ります。
4.計算
今回狙うIDは上記の通り、
表ID:721
裏ID:50514
初期seed:ce0e36ec
月×日+分+秒:206or462
時:14
フレーム+年-2000:14060
です。
※2019年10月当時は一般的な計算方法を書き、次に私のやり方を書いていましたが長ったらしくていらない情報までたくさんあったのでわかりやすいように直しています
①フレーム計算
まずはフレームを求めます。
「フレームってなんなんや」って方に説明をすると、簡単に言えば時間です。
第4世代の乱数、今回のID調整で説明するとざっくりですが、
A.特定の時間にDSをセットする
B.特定の時間でソウルシルバーを起動する
C.最初から始めて性別・名前を入れ、オーキド博士の最後のセリフの画面で待機する
D.特定の時間にAボタンを押して冒険を開始する
という主に4つの工程が必要となり、今から行う計算はB〜Cまでの時間を求めます。
正直初めてやるなら他のサイト様を参考にして、とりあえず出来るかどうか試してみるのが1番いいと思いますが今回は好きな表IDのポケモンを手に入れるために知識0だけど頑張ってみますみたいな人がこれを見て成功するといいなという思いで書いていこうと思います。
ではゆっくりいきましょう。
まず最初に使うのがフレーム+年-2000:14060という値
これは計算式で、
フレーム+年-2000=14060
だと思ってください。「:」が「=」になっただけですね。
で、これを少し並び替えてあげると
フレーム=14060-(年-2000)と出来ます
両端から(年-2000)を引く一般的な計算ですね
で、この年の箇所に自分が冒険を開始したい年数を入れます。
今回の私の場合だと2019ですが特にこだわりがない場合はこれを見ている年数を適当にいれてあげましょう。
フレーム=14060-(年-2000)の年に2019を代入すると、
フレーム=14060-(2019-2000)
フレーム=14060-19
フレーム=14041
ということで14041という数字が出ました。
次にここに空白時間というものを足します。
空白時間ってなんやっていうとソフトを起動した時にゲーム画面が出てくるまで白バックの時間がありますよね。
あの時間を一般的に空白時間を呼んでおり、その時間も考慮する必要があります。
HGSSでは約350と言われています。
が、今回行うID調整においては150ほど低い200にしてあげる必要があるので、
14041+200=14241、これがフレームになります。
このフレームというのは、実は秒数に60をかけたもので、14241を60で割ってあげると237.35という数字が出ます。
つまり237.35秒なので、これを分にすると3分57秒35になります。
この時間を後で使います。
②月×日+分+秒の計算
次に検索結果として出てきた、
月×日+分+秒:206or462
という項目に移ります。
①のフレーム計算がソフトを起動してから冒険を始めるまでの時間なら、この②は特定の時間にAボタンを押して冒険を開始する時間を求めます。
まず月×日+分+秒:の後ろにある数字ですが、これは月×日+分+秒の計算結果が今回の場合は206か462になる必要があるよっていうことになります。
例えば1月2日X時3分4秒の場合、月×日+分+秒は1×2+3+4なので合計は9ですね。
これを上手いこと206か462に持っていきます。
まず私のように、特定の冒険開始日にしたい方の場合「月」そして「日」は確定なので自分の好きな月日を入れてください。
私の場合は7月21日なので月×日は7×21=147となります。
そして分+秒に関してはそれぞれ最大値が59(分or秒)なので、2つ合計しても最大は118となり、147+118=265が最高になります。
今回はこれが206か462になればいいですが462は無理なので除外、206はいけそうなので206でいきます。
もし特に月日にこだわりがない場合は10月X日にするのが計算が楽になるのでオススメです。
206という数字に持っていくにあたり、先述の通り月と日は既に決まっていて計算結果が147となるため、206-147=59となり、この59を分と秒に振り分けます。
一般的な乱数調整ではこの秒を10にするのがメジャーです。
理由としては時間をセットしてDSの電源を入れ直し、ソフトを起動する時間まですぐなので短い、かつわかりやすいためです。
例えばXX分10秒にソフトを起動するのとXX分37秒にソフトを起動するのだと前者の方が楽ですよね。
今回のID調整のみならず他の乱数においてもこの秒数は10として計算するのが最もメジャーなので、今回もそれに則り10を入れて計算します。
なので月×日+分+秒=206、7×21+X+10=206となるので計算するとX(分)は49になります。
そして最後に必要な何時という時間ですがこちらはPHSにて結果として出た
月×日+分+秒:206or462
時:14
の下にある時:14が時間となるので、
2019年7月21日14時49分10秒
にオーキド博士の最後のセリフの画面からAボタンを押して冒険を開始すれば目的のIDになるのです。
③DSに設定する時間を求める
ここまで①と②によって、
A.特定の時間にDSをセットする
B.特定の時間でソウルシルバーを起動する
C.最初から始めて性別・名前を入れ、オーキド博士の最後のセリフの画面で待機する
D.特定の時間にAボタンを押して冒険を開始する
のB〜C(①)とD(②)の時間を求めてきました。
最後はAとBを求めます。
これは一般的には②の時間から①の時間を引いてあげることで出すことができます。
今回だと②が2019年7月21日14時49分10秒、①が3分57秒35
②から①を引けばいいので、
14時49分10秒
ー) 3分57秒35
ーーーーーーーーーーーーー
14時45分12秒65
となります。
これがB.特定の時間でソウルシルバーを起動するに当てはまる時間となり、
2019年7月21日14時45分12秒65
にソフトを起動してあげればよいのです。
そして、ソフトを起動してから性別・名前を決めオーキド博士の「では またあとで あおう!」の画面で待機し、ソフト選択から3分57秒35後の
2019年7月21日14時49分10秒
にAボタンを押して冒険を開始すればいい!
…訳ではなくもう1点加味するポイントがあります。
それが、IDが確定するタイミングです。
D.特定の時間にAボタンを押して冒険を開始する
で、オーキド博士の「では またあとで あおう!」の画面からAを押した瞬間ではなく約2.8秒後にIDが確定するという点です。
つまり、
⒈オーキド博士の「では またあとで あおう!」で待機
⒉2019年7月21日14時49分10秒にAを押す
⒊2019年7月21日14時49分12秒80にIDが確定する
という感じです。
「どういうこっちゃ」って方の場合はとりあえず、
B.特定の時間でソウルシルバーを起動する
D.特定の時間にAボタンを押して冒険を開始する
で求めた時間を全て2.8秒前倒しにすればいいと思ってください。
最終的な時間を書くと、
A.特定の時間にDSをセットする
→2019年7月21日14時45分
B.特定の時間でソウルシルバーを起動する
→14時45分12秒65
→14時45分9秒85(-2.8秒)
C.最初から始めて性別・名前を入れ、オーキド博士の最後のセリフの画面で待機する
D.特定の時間にAボタンを押して冒険を開始する
→ 14時49分10秒
→ 14時49分7秒20(-2.8秒)
としてあげると、②の月×日+分+秒の計算で求めた2019年7月21日14時49分10秒に目的のIDになります。
ここまできてようやく全て必要な情報が出揃ったので、タイマーを使用して乱数調整を行います。
5.乱数調整
いよいよ乱数調整に入ります。
これを編集している2021年1月現在ではflash playerのサポートが終了してしまった影響で、かの有名なエメタイマーが使えません。
なので、有志の方が作ってくれた移植版的な感じのエメタイマーを使いましょう
サイトを開くとこんな感じになってます↓
まず1番上の待機時間には①のフレーム計算で求めた時間を入れてあげます。
今回の場合3分57秒35、秒数だと237.35秒ですね。
下の開始までの猶予には、DSに時間をセットしてソフトを起動するまでの時間を入力します。
今回は14時45分9秒85に起動するので9.85と入れます。
最後の切り上げに関しては今回は使わないので0のままでOK
サウンドに関しては音が欲しければ有効化にチェックを入れましょう。
入れると○秒前から音を鳴らすという項目が出てくるので自分がわかりやすい時間を入れましょう。
デフォルトだと10秒なので目的の時間の10秒前からピッ、ピッ…と音が鳴ってくれます。
全部入力したらこんな感じ。
1番下にある開始ボタンを押すと開始までの猶予で入力した秒数からタイマーが始まるので、開始ボタンとDSの時間のセットを同時に押してスタート。
こんな感じでタイマーが動きます。
今回の場合9.85秒にソフトを起動してそのまま進め、オーキド博士の最後のセリフ
この画面でタイマーが0になるのを待ち、0になったと同時にAボタンを押して冒険を開始します。
そして、Windowsを使っている方はここでDDDDloopという便利なツールがありそれを使って調整をしていけるんですがMacの場合はこのツールが動かないため、全て自力で調整していく必要があります。
頑張りましょう。
Windowsの方の場合はここまでこればあとはDDDDloopを使って調整していくだけなので、ここよりも他のブログ等を見て使い方等を調べるのがいいと思います。
1回目の挑戦で出たIDは10832でした
そしたらPHSに戻ります。
一度閉じていた場合はID関連のタブが消えているので、再度実験用タブにて「072」を入力→実行で出してあげましょう。
表IDの箇所には出たID
開始時刻にはDSにセットした日付を
分+秒は多めに見て±5くらいした数値を入れてあげましょう。
フレームには目的のフレーム±500くらいを入れてあげます
これで実行を押すと
こんな感じの結果が出ました。
分+秒は59となっていて目標も59なので起動時間は大丈夫そうです。
そしてフレームは14015と出ました。
目標のフレームは14041なので、26ほどズレていますね。
これをメモを取ってリスト化していきます。
私は適当にスプレッドシートを使って、こんな感じで表にしました
わかりやすいように2フレームずつ記載しています
今回は26フレームズレており、PHSの右下の計算機で26Fと入れ、右にあるF→時ボタンを押してあげると0秒43という時間が出てきます。
今回は目標よりも26フレーム早かったので、時間としては0秒43押すのが早かったんですね。
なので今度は待機時間から0秒43を引いて再度タイマーをセットして挑戦…を繰り返し、目的のIDが出なければPHSで検索をかけて何フレームズレていたかの確認を繰り返していきます。
以下が私の試行です。
2回目 ID:56127 フレーム:14039
3回目 ID:52902 フレーム:14037
4回目 ID:56127 フレーム:14039
5回目 ID:56127 フレーム:14039
6回目 ID:00721 フレーム:14041
ということで無事に6回目で成功しました!
このようにDDDDloopがなくても無理やりPHSを使ってID調整をすることは可能なので、macだけどやり方わからねえよって方は参考にしてみてください。
再度のアナウンスになりますがこれは2019年10月に書いた記事を2021年1月に再度編集して書き直したものです。
わからないことなどがあれば聞いてもらえれば答えます。
ではまた!