Wonderland Seeker

スマホの子はTOPを見てね

【ポケモン赤緑】14番目セレクトバグのメカニズム

14番目セレクトバグについての仕組みをいずれ書きますと言っているのに1か月も放置していました、申し訳ございません

てへ♡

 

さて、本題に入りましょう

どうして14番目のどうぐをセレクトすると好きなどうぐが手に入るのか?

 

まずは改めて手順の説明をしましょうか

1.どうぐの上から14番目でセレクトBB

最速のタイミングだとおつきみやま1Fで集まります

どこかしらドアを行う場合はもっと速い時間で集まるでしょう

2.バトル中、手持ちのポケモンでA

バグります

この時、変換されたポケモンのステータスは見ないようにしましょう。だいたいフリーズします

3.どうぐの上から2番目の個数・3~5番目の種類が!

このバグの効果が発動します

ここで変化するのは必ず、2番目のどうぐの個数と3~5番目のどうぐの種類と個数のみで6番目以降のどうぐには影響しません

手順は以上となります。終了したあとは必ずもう1度14番目のどうぐでセレクトBBして変換に使ったポケモンにAを押して元に戻しておきましょう

 

なぜこのようなことが発生するのか?

そもそも、14番目のメモリはいったいどこを管理しているかを把握する必要があります

前回では9番目のメモリは経験値の3byte目と説明しましたね

しかしながら、それは技のデータと交換を行ったケースです

今回の手順では、技ではなくポケモン自体のデータと交換を行っていますよね

この場合はニックネームのデータが参照されるのです

 

では、ニックネームのデータがRAM領域のどこに格納されているのかを見てみます

せっかくなので手持ちデータを管理してある0xD~のメモリを参照してみましょう

 

RAM :D110 00 00 00 00 00 00 00 00 00 00 00 00 00 B1 D8 BD プレイヤーの名前(ありす+EndCode=50)
RAM :D120 00 00 50 06 4B AB 0E 0E 0E 0E FF 4B 01 24 64 00 6匹連れている,サンダー,プテラ,ゲンガー,ゲンガー,ゲンガー,ゲンガー,EndCode=FF)
RAM :D130 17 02 03 59 5B 39 1B 90 19 13 12 D0 00 00 00 00 1匹目のデーター(サンダー)
RAM :D140 00 00 00 00 00 00 00 C5 14 0A 1E 1E 64 01 24 00
RAM :D150 B9 00 AF 00 E5 01 09 AB 01 26 64 00 05 02 2D 59 RAM :D160 5B 8E 96 90 19 13 12 D0 00 00 00 00 00 00 00 00 2匹目のデーター(プテラ) RAM :D170 00 00 FD 6A 14 19 14 05 64 01 26 00 F5 00 A1 01 RAM :D180 15 00 91 0E 00 F4 00 00 08 03 2D 5B 5E 60 62 90 RAM :D190 19 10 2C 14 00 00 00 00 00 00 00 00 00 00 21 D5 3匹目のデーター(ゲンガー) RAM :D1A0 0A 0F 14 0F 64 00 F4 00 8B 00 7F 00 FB 01 13 0E RAM :D1B0 00 F4 00 00 08 03 2D 51 53 55 59 90 19 10 2C 14 RAM :D1C0 00 00 00 00 00 00 00 00 00 00 0B 1F 0A 0F 14 0F 4匹目のデーター(ゲンガー) RAM :D1D0 64 00 F4 00 87 00 93 00 E3 01 27 0E 00 FE 00 00 RAM :D1E0 08 03 2D 7A 7D 7E 7F 90 19 10 2C 14 00 00 00 00 RAM :D1F0 00 00 00 00 00 00 77 62 0A 0F 14 0F 64 00 FE 00 5匹目のデーター(ゲンガー) RAM :D200 95 00 8B 00 ED 01 0D 0E 00 F2 00 00 08 03 2D 65 RAM :D210 6A 6B 6F 90 19 10 2C 14 00 00 00 00 00 00 00 00 RAM :D220 00 00 AF DC 0A 0F 14 0F 64 00 F2 00 9B 00 9B 00 6匹目のデーター(ゲンガー) RAM :D230 FB 01 21 B1 D8 BD 00 00 50[B1 D8 BD 00 00 50 B1 RAM :D240 D8 BD 00 00 50 B1 D8 BD 00 00 50 B1 D8 BD 00 00 親の名前(みんな「ありす」) RAM :D250 50 B1 D8 BD 00 00 50[8A AB 0F E3 50 50 42 92 A5 ポケモンの名前 RAM :D260 50 50 50 08 AB 05 E3 50 50 08 AB 05 E3 50 50 08 RAM :D270 DE 05 E3 50 50 08 AB 05 E3 50 50[C0 FF FF F7 DF RAM :D280 FF EF FF 9F F7 FF FF FF FD FB 9F FF F9 7F[FF FF つかまえたポケモン RAM :D290 FF FF FF FF FF FF FF F7 FF FF FF FF FF 9F FF F9 見つけたポケモン RAM :D2A0 7F[14 4E 01 01 01 06 01 34 54 39 34 31 28 1D 04 持っているアイテムの個数/種類/個数 RAM :D2B0 04 01 11 3F 36 63 4F 44 24 4D 25 4D 26 4D 23 4D RAM :D2C0 27 57 28 0B 45 01 0F 01 0B 01 FF[83 94 52 3B 2C おこづかい(839452円) ライバルの名前

 

では、この時6匹目と道具の14番目の入れ替えをしてみましょう。
下のリストで「赤」「黄」「白」の部分が入れ替わります。

 

RAM :D110 00 00 00 00 00 00 00 00 00 00 00 00 00 B1 D8 BD
RAM :D120 00 00 50 06 4B AB 0E 0E 0E 0E FF 4B 01 24 64 00
RAM :D130 17 02 03 59 5B 39 1B 90 19 13 12 D0 00 00 00 00
RAM :D140 00 00 00 00 00 00 00 C5 14 0A 1E 1E 64 01 24 00
RAM :D150 B9 00 AF 00 E5 01 09 AB 01 26 64 00 05 02 2D 59
RAM :D160 5B 8E 96 90 19 13 12 D0 00 00 00 00 00 00 00 00
RAM :D170 00 00 FD 6A 14 19 14 05 64 01 26 00 F5 00 A1 01
RAM :D180 15 00 91 0E 00 F4 00 00 08 03 2D 5B 5E 60 62 90
RAM :D190 19 10 2C 14 00 00 00 00 00 00 00 00 00 00 21 D5
RAM :D1A0 0A 0F 14 0F 64 00 F4 00 8B 00 7F 00 FB 01 13 0E
RAM :D1B0 00 F4 00 00 08 03 2D 51 53 55 59 90 19 10 2C 14
RAM :D1C0 00 00 00 00 00 00 00 00 00 00 0B 1F 0A 0F 14 0F
RAM :D1D0 64 00 F4 00 87 00 93 00 E3 01 27 0E 00 FE 00 00
RAM :D1E0 08 03 2D 7A 7D 7E 7F 90 19 10 2C 14 00 00 00 00
RAM :D1F0 00 00 00 00 00 00 77 62 0A 0F 14 0F 64 00 FE 00
RAM :D200 95 00 8B 00 ED 01 0D ** ** ** ** ** ** ** ** **
RAM :D210 ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **	6匹目のデータだった所
RAM :D220 ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **	D367のデータがここに来る
RAM :D230 ** ** ** B1 D8 BD 00 00 50 B1 D8 BD 00 00 50 B1
RAM :D240 D8 BD 00 00 50 B1 D8 BD 00 00 50 B1 D8 BD 00 00
RAM :D250 50 B1 D8 BD 00 00 50 8A AB 0F E3 50 50 42 92 A5	親の名前
RAM :D260 50 50 50 08 AB 05 E3 50 50 08 AB 05 E3 50 50 08
RAM :D270 AB 05 E3 50 50 08 DE 05 E3 50 50 C0 FF FF F7 DF	6匹目(交換する)ポケモンの名前
RAM :D280 FF FF FF FF FF FF FF F7 FF FF FF FF FF 9F FF F9	図鑑のデータ
RAM :D290 FF FF FF FF FF FF FF F7 FF FF FF FF FF 9F FF F9
RAM :D2A0 7F 14 4E 01 01 01 06 01 34 54 39 34 31 28 1D 04	道具の2~5番目の種類と個数
RAM :D2B0 04 01 11 3F 36 63 4F 44 24 4D 25 4D 26 4D 23 4D
RAM :D2C0 27 57 28 0B 45 01 0F 01 0B 01 FF 83 94 52 3B 2C
RAM :D2D0 DF C4 50

 

この場合、道具の2番目の数、3番目の種類/数、4番目の種類/数、5番目の種類

このデータが6匹目のポケモンの名前(ゲンガー)のデータに置き換わります


2番目の道具の数 (08) マスターボールが8個(バグらせる前と同じ種類)
3番目の道具 (DE) わざマシン22が5個
4番目の道具 (E3)わざマシン27が80個
5番目の道具 (50) ピーピーエイドが52個(バグらせる前と同じ個数)
になります

6匹目のポケモンの名前は 01 06 01 34 54 39 34 31....01(FFを見つけるまで名前として扱われる)なので

「イ"ギイ"どポケモンの".....」というニックネームになります

 

この流れを行っているのが今回のセレクトバグというわけですね

結論から言ってしまえば

『手持ちのどうぐ2番目~5番目』を入れ替える先のニックネームにつけられている文字コードに置換して

入れ替えたポケモンのニックネームが『手持ちのどうぐ2番目~5番目』の内部コードに置換します

 

ということは

好きなどうぐを手に入れようとするなら入れ替えるポケモンのニックネーム次第ということです

 

具体的には

ニックネームの1文字目=2番目のどうぐの個数

ニックネームの2文字目=3番目のどうぐの種類

ニックネームの3文字目=3番目のどうぐの個数

ニックネームの4文字目=4番目のどうぐの種類

ニックネームの5文字目=4番目のどうぐの個数

ニックネームの6文字目=5番目のどうぐの種類

 

こういう式になります
※6文字目とはニックネームの終端を現すコードを指します

 

たとえば・・・

f:id:Alice_Wreath:20200131060444p:plain

この場合

f:id:Alice_Wreath:20200131063323p:plain

 

もともと2番目に配置していたどうぐ・227個

「な」と一致するどうぐ、ひでんマシン02・227個

「お」と一致するどうぐ、グリーン・227個

が手持ちの2~4番目に配置され、5番目にはピーピーエイドが配置されるわけです

 

どうぐコードに関しては、こちらをご活用くださいな

 

 

ただし、この方法ではニックネームに付けることが不可能(もしくは困難)な文字と一致するコードのどうぐは安定して入手できないことには留意してください

例:マスターボール⇒「イ”」 わざマシン21⇒「を」

 

ですが、13番目セレクトバグを行うためには

タマムシシティorヤマブキジムに入る必要があります

 

そのため、どこかしらドアを利用せずに最速で壁抜けどうぐ等を入手できるタイミングがこのバグを実行できるようになるおつきみやまから早速遊べる、という訳です

 

以上が今回の検証結果でした

ここまでお付き合いいただき、ありがとうございます

 

 

 

 

 

 

 

 

 

 

 

f:id:Alice_Wreath:20200311082305j:plain

14歳といえば、結衣先輩はこういうチートじみたこと使って楽するの嫌いそう

逆に歳納先輩は好きそう

 

EXIT