ここで使用するツールは IDループDS。要Microsoft office Excelインストール。
1. 初期seedの決定
- 指定の性格値が色違いになるIDの初期seedを検索したい場合
1.セルA3に指定の性格値を16進数で入力。
2.セルA5,B5に検索する下位2バイトの範囲を16進数で入力。
3.「色ID検索」ボタンを押す。
4.検索結果に上記の条件を満たす裏・表IDとその初期シードが表示される。
- 指定の表IDの初期seedを検索したい場合
1.セルB11に指定の表IDを10進数で入力。
2.セルA13,B13に検索する下位2バイトの範囲を16進数で入力。
3.「表ID検索」ボタンを押す。
4.検索結果に上記の条件を満たす裏・表IDとその初期シードが表示される。
2. 初期seedを合わせる
1.出力された初期seedのうち好きなものを選択。
2. 以下の初期seedの決定式に応じた時刻に設定。ここは基本的には他の場合と同じ。
(月×日+分+秒)&0xFF×0x1000000+時×0x10000+(西暦-2000)+α
西暦月日分秒は初期シードが決定される時のものを利用する。初期シードが決定されるのは博士の話が全て終わり、テレビの画面になってからAボタンを押し、自分の部屋に立っている画面に移った瞬間。
αはプラチナ起動から初期シードが決定されるまでの時間に応じた値であるが、他の乱数調整と異なり計測されない画面が存在する。少なくともオープニング終了時の画面(プラチナでいうと博士の話に移る前のギラティナが浮いている画面)での時間は計測されない。
&0xFFは16進数表記での下2桁のみをとるという意味。
3.上記で決定した時刻に起動し、時間内にテレビの画面まで進める。所定の時刻になったらAボタンを押して初期seedの決定。最初の博士の説明はBボタンを押したままにすると速くなる。
3. 得られた表IDから初期seedの特定
1.セルA19に狙っていた初期seedを入力
2.セルA21に検索する下位2バイトの誤差範囲、セルB21に上位1バイトの誤差範囲を入力。セルA23に得られた表IDを入力。
3.「検索」ボタンを押すとその下に候補となる初期seedが出力される。
4.その結果から起動時刻等を調節し、目的のIDが得られるまで同様の作業を繰り返す。
注意点:ExcelマクロはC++と比べて処理が遅く、あまり検索範囲を大きくしない方がよい。
また、1つデータが出力されたらEscキーを押して処理を終了した方がよい。
北米版プラチナでしか確認していないので他のロムで同様の処理が行われている保証はない。
Q.表IDから初期seedが特定できないんだけど
A.初めの内は検索範囲を広めにとって長時間かかってでも特定した方がよいです。そこから微調整していく感じで合わせてください。
Q.エメラルドとかFLにも使える?
A.無理です。
Q.ツールが動かないんだけど
A.Excel2003でしか動作確認してないので動かない場合はごめんなさい。
Q.何でExcelなんて糞なツールで作ったの?処理遅くてとても使えたもんじゃない。さっさとC++で作り直せ。
A.この日記はしてんのーの乗っ取りによって書かれた記事です。C++言語が分からないのでExcelで作るのが限界でしたすみません。そのうち誰かがC++とかでもっといいプログラム書いてくれるのを待ちましょう((
*1
ということで,オフで頼まれたので流れに乗って日記乗っ取ってみました。遅れましたが皆さん初めまして。割と似せて書いたつもりなんだけどここまでで気づいた人いるかなぁ?w
IDループについても教えて欲しいとオフで何人かに聞かれたし,一石二鳥だね!
以下,流れに沿ってアーマーさんとの出会いと人柄でも。
ネット上で出会ったのは1年位前の大窓メッセのときだろうか。リアルであったのは去年の夏のあんぐらおふかな。HNから筋骨隆々としたがっちりした感じのイメージを持っていたけど実際会うとそうでもなかった感じだった覚えが(
割ととっつき易い感じの人で,乱数関係の話やパーティ相談からどうでもいいネタ話までできる数少ない話し相手。
まぁ今後ともよろしくですー
P.S. この日記書いてて時間なくなったからシングル厨行くの無理そうだわ(
コメントレス
- クレナイさん
- まぁ確かに若干違うと言えば違う。
- ななしさん
- ベルモさん
- ID生成の基本原理はDS共通です。
- たなかんさん
- >計測されない時間
- 試したことないので分かりません
- >起動時刻の定義
- 初期seedの微調整を行う上で自分で決めればいいと思います。
- レッドさん
- >決定タイミング
- 調べていないです。
- ゆいさん
- Nimさん
- マクロの挙動はよく分からないです。
*1:今更だけど、乱数計算にID計算の機能追加