セレクトBBバグの仕組みを図で完全解説|ミュウになる・道具が増える・画面が止まる理由とやり方

『ポケットモンスター 赤・緑』の有名なバグ「セレクトBBバグ」(「セレクトバグ」とも呼ばれます)のやり方と、なぜミュウになるのか、なぜ道具が増えるのか、なぜ画面が止まるのかを、赤(Ver1.1)で検証した結果をもとに図で解説します。「タマムシシティに入ると安全」と言われる理由も確かめました。

⚠️ このバグは、セーブデータを壊すことがあります。試すときは、なくなっても困らないセーブデータで行いましょう。

1どんな裏技?

道具画面でSELECTボタンを押して道具の並び替えを始め、そのままBボタンで閉じると、「どれを入れ替えるか」の記録がゲームの中に残ったままになります。その状態で戦闘中にポケモンを選ぶと、手持ちのポケモンが、手持ちには存在しない「13匹目」などのデータと入れ替わってしまいます。

📝 攻略メモこの記事のポイント
・道具画面とポケモン画面は、入れ替えの記録を同じ1か所で使っている
・ポケモンの入れ替えは、番号が6より大きくても確かめずに入れ替える
・「13匹目」として読まれるのは、いま居るマップの出入口の一覧

2やり方

準備

  • タマムシシティに一度入っておく(理由は「仕組み③:画面が止まる理由」「タマムシシティで止まらなくなる理由」で説明します)
  • 道具を13個以上持っておく(13番目の道具の種類は何でもかまいません)
  • 1匹目にみずタイプのポケモンを置くと、並びがミュウになります(理由は「13番目で入れ替えると起きること」で説明します)

手順

  1. フィールドでSTART →「どうぐ」。13番目の道具に合わせてSELECT。そのままB → Bで閉じる
  2. 草むらで野生のポケモンと戦闘になったら、「ポケモン」を選ぶ
  3. 入れ替える前の手持ちが並ぶ。写真では、1匹目はゼニガメ(ニックネーム「カメックス」)Lv10
  4. 1匹目をAで選ぶと、1匹目が「13匹目」と入れ替わる
13番目の道具でSELECT
手順1:13番目の道具でSELECT
戦闘で「ポケモン」を選ぶ
手順2:戦闘で「ポケモン」を選ぶ
入れ替える前の手持ち
手順3:入れ替える前の手持ち
13匹目と入れ替わった手持ち
手順4:13匹目と入れ替わった

手順4のあと、1匹目は手持ちの並びの上でミュウになり、名前は「ナゲイ」、ねむり・HP332 の崩れたデータになりました。道具袋の道具の数は20個 → 172個に増えました。

3仕組み①:入れ替えの記録が残る

道具の並び替えとポケモンの並び替えは、「どれを入れ替えるか」の記録を同じ1か所に書いています。道具画面でSELECTを押すと、ここに「13」と書かれます。

「どれを入れ替えるか」の記録(道具とポケモンで共通の1か所) ① 道具画面で SELECT13番目の道具に合わせる記録「13」② B → B で閉じるこの閉じ方では記録が消えない記録「13」のまま③ 戦闘中にポケモンを A記録を「入れ替えの続き」と思う記録1匹目 ↔ 13匹目 ・ふつうは、並び替えを途中でキャンセルすると記録が消えます。 ・フィールドの道具画面で SELECT → B → B と閉じたときだけ、記録が消えずに残ります。 ・ポケモンを入れ替えたあとは記録が消えるので、バグは1回ごとにやり直しになります。 「どれを入れ替えるか」の記録(道具とポケモンで共通の1か所)① 道具画面で SELECT13番目の道具に合わせる記録 「13」② B → B で閉じるこの閉じ方では記録が消えない記録 「13」のまま③ 戦闘中にポケモンを A記録を「入れ替えの続き」と思う記録 1匹目 ↔ 13匹目・ふつうは、並び替えを途中でキャンセルすると 記録が消えます。・フィールドの道具画面で SELECT → B → B と 閉じたときだけ、記録が消えずに残ります。・ポケモンを入れ替えたあとは記録が消えるので、 バグは1回ごとにやり直しになります。
図1 SELECT → B → B で、入れ替えの記録が残る

ふつうは、並び替えを途中でやめると記録は消されます。ところがフィールドの道具画面を B → B で閉じたときは、記録が消されず、「13」が残ったままになります。

記録が残っていると、何が起きるのか

ポケモンの並び替えは、Aボタンを2回押して行います。1回目のAで「入れ替え元」を記録し、2回目のAで、その記録とカーソルのあるポケモンを入れ替えて、記録を消します。ゲームは「記録があるかどうか」で、いま押されたAが1回目か2回目かを見分けています。

ポケモンの並び替えは「A を2回」。1回目で記録し、2回目で入れ替える ふつうのならびかえ 1回目の A1匹目を選ぶ → 記録「1」 2回目の A(3匹目で)記録「1」と3匹目を入れ替え → 記録を消す セレクトBB 道具画面で SELECT13番目 → 記録「13」 ポケモン画面で 最初の A(1匹目で)記録あり →「2回目のA」扱い 記録「13」と1匹目を入れ替える(13匹目は本当は存在しない) 道具画面の SELECT が「1回目の A」のかわりになり、ポケモン画面では最初の A で入れ替えが実行されてしまう。 ポケモンの並び替えは「A を2回」。1回目で記録し、2回目で入れ替えるふつうのならびかえ1回目の A1匹目を選ぶ → 記録「1」2回目の A(3匹目で)記録「1」と3匹目を入れ替え → 記録を消すセレクトBB道具画面で SELECT13番目 → 記録「13」ポケモン画面で 最初の A(1匹目で)記録あり →「2回目のA」扱い記録「13」と1匹目を入れ替える(13匹目は本当は存在しない)道具画面の SELECT が「1回目の A」のかわりになり、ポケモン画面では最初の A で入れ替えが実行されてしまう。
図2 ふつうの並び替えと、セレクトBBの比べ

セレクトBBの状態では、道具画面で押したSELECTによって、すでに「13」という記録があります。そのため、戦闘中のポケモン画面で最初に押したAが「2回目のA」として扱われ、その場で「13匹目」と入れ替える処理が動きます。道具画面のSELECTが、ポケモンの並び替えの「1回目のA」のかわりになってしまうのです。

さらに、ポケモンの入れ替えでは「番号が手持ちの数(最大6)以内か」を確かめていません。そのため、本来は存在しない13匹目との入れ替えが、そのまま本当に行われてしまいます。「記録が残る」「最初のAで入れ替えが動く」「番号を確かめない」の3つが重なって起きるのが、セレクトBBバグです。

記録が消えてしまう操作(うまくいかないときはここを確認)

操作記録
フィールドの道具画面で SELECT → B → B残る
フィールドで START →「ポケモン」を開く開いた時点で消える
ポケモンの「ならびかえ」を始めて、キャンセルする消える
戦闘中に、技の上で SELECT を押す消える
戦闘中の道具画面で SELECT → BB の時点で消える(SELECT はフィールドの道具画面で押す)

フィールドのポケモン画面は開いた時点で記録が消えるので、バグを起こすには戦闘中(または姓名判断師)のポケモン画面を使います。

4仕組み②:「13匹目」はどこにあるのか

手持ちのポケモンは、ゲームの中で4つの表に分けて記録されています。

手持ちのポケモンは、4つの表に分かれて記録されている(上から順につながって並ぶ) ① 種類の並び1匹1マス × 6 + 終わりの印 ② ポケモンのデータ1匹44マス × 6(レベル・HP・技・経験値…) ③ 親の名前1匹6マス × 6 ④ ニックネーム1匹6マス × 6 ⑤ そのあと図鑑・道具袋・お金 … 出入口の一覧 ポケモンを入れ替えるときは、①〜④の表の「○匹目」を、4つとも同時に入れ替えます。 「○匹目」の場所は「表の先頭 +(○−1)× 1匹ぶんの大きさ」で決まり、6より大きい数でもそのまま計算されます。 手持ちのポケモンは、4つの表に分かれて記録されている(上から順に並ぶ)① 種類の並び1匹1マス × 6 + 終わりの印② ポケモンのデータ1匹44マス × 6(レベル・HP・技・経験値…)③ 親の名前1匹6マス × 6④ ニックネーム1匹6マス × 6⑤ そのあと図鑑・道具袋・お金 … 出入口の一覧ポケモンを入れ替えるときは、①〜④の表の「○匹目」を、4つとも同時に入れ替えます。「○匹目」の場所は「表の先頭+(○−1)×1匹ぶんの大きさ」で決まり、6より大きい数でもそのまま計算されます。
図3 手持ちのポケモンは4つの表でできている

入れ替えのときは、4つの表の「○匹目」をそれぞれ計算して入れ替えます。このとき、番号が手持ちの数(最大6)を超えていないかを確かめていません。そのため「13匹目」を計算すると、4つの表のどれでも、表の外にある別の記録の場所になります。

「13匹目」を4つの表で計算すると、それぞれ手持ちの外の記録に当たる ① 種類の並びの13番目1匹目のデータの「タイプ」ここに1匹目のタイプの番号が入っている② ポケモンのデータの13番目今いるマップの出入口の一覧44マス=出入口11個ぶん(1個4マス)③ 親の名前の13番目図鑑の「捕まえた」記録入れ替えると図鑑の記録が書き換わる④ ニックネームの13番目図鑑の「見た」記録の終わり + 道具袋の数ニックネームの文字が道具袋に入る 「13匹目」を4つの表で計算すると、それぞれ手持ちの外の記録に当たる① 種類の並びの13番目1匹目のデータの「タイプ」ここに1匹目のタイプの番号が入っている② ポケモンのデータの13番目今いるマップの出入口の一覧44マス=出入口11個ぶん(1個4マス)③ 親の名前の13番目図鑑の「捕まえた」記録入れ替えると図鑑の記録が書き換わる④ ニックネームの13番目「見た」記録の終わり+道具袋の数ニックネームの文字が道具袋に入る
図4 「13匹目」は4つの表で、それぞれ別の記録に当たる

つまり13匹目と入れ替えると、手持ちの1匹目のデータと、出入口の一覧・図鑑の記録・道具袋の数などが入れ替わります。何番目と入れ替えるかで、当たる場所が変わります。

何匹目ポケモンのデータ(44マス)が当たる所ニックネーム(6マス)が当たる所
7匹目親の名前・ニックネームの表図鑑「捕まえた」
8匹目ニックネームの表・図鑑「捕まえた」図鑑「捕まえた」
13匹目今いるマップの出入口の一覧図鑑「見た」の終わり・道具袋の数
14匹目出入口の一覧の続き道具袋の中身
20匹目人の配置などの記録道具袋の終わり・お金

513番目で入れ替えると起きること

並びがミュウになる理由

「種類の並び」の13番目は、ちょうど1匹目のデータの「タイプ」の場所に当たります(図4の①)。ゲームの中では、みずタイプを表す番号と、ミュウを表す番号が同じです。そのため1匹目がみずタイプのポケモンだと、13匹目の種類は「ミュウ」と読まれ、入れ替えのあと1匹目の並びがミュウになります。

🔎 豆知識並びがミュウになっても、中身のデータ(レベル・HP・技など)は出入口の一覧から来た値なので崩れています。手順4の画面で名前が「ナゲイ」、ねむり・HP332 になっているのはこのためです。

名前・状態・HPが崩れる理由

1匹目に入ってくるデータ(44マス)は、出入口の一覧の値です(図4の②)。出入口1個は4マス(縦の位置・横の位置・行き先の番号・行き先のマップ)なので、44マスは出入口11個ぶんにあたります。これがレベルやHP、技として読まれるため、でたらめな値になります。名前は図鑑の記録から来るので、読めない文字の並びになります。

反対に、もとの1匹目(ゼニガメ)のデータは出入口の一覧に書き込まれます。そのため、今いる道路や町の出入口の行き先が変わることがあります。

道具が増える理由

ニックネームの表の13番目は、図鑑の記録の終わりから道具袋の数にかけての場所に当たります(図4の④)。入れ替えると、1匹目のニックネームの6マスが、次のように書き込まれます。

入れ替えたポケモンのニックネーム(6マス)が、次の場所に書き込まれる 1マス目図鑑(見た記録)2マス目図鑑(見た記録)3マス目道具袋の数何個あることにするか4マス目1番目の道具どの道具か5マス目その個数何個か6マス目2番目の道具どの道具か 入れ替えたポケモンのニックネーム(6マス)が、次の場所に書き込まれる1マス目図鑑(見た記録)2マス目図鑑(見た記録)3マス目道具袋の数何個あることにするか4マス目1番目の道具どの道具か5マス目その個数何個か6マス目2番目の道具どの道具か
図5 ニックネームの文字が、道具袋の数・道具・個数になる

手順4では1匹目のニックネーム「カメックス」の文字が書き込まれ、道具袋の数が20個から172個に変わりました。ゲームの中では文字にも番号があり、その番号がそのまま「道具の番号」や「個数」として読まれます。文字と道具の対応の一部を、次の表にまとめました。

文字4マス目に入れたときの道具5マス目に入れたときの個数
ぐふしぎなアメ40
ぢきんのたま49
づポイントアップ50
がインドメタシン38
ぎリゾチウム39
どなんでもなおし52
ヂかいふくのくすり16
ヅまんたんのくすり17
ぜヨクアタール46
ぱスペシャルアップ68
ザつきのいし10
ぞリーフのいし47

6仕組み③:画面が止まる理由

13匹目の「最大HP」は、出入口の一覧の12個目の行き先のマップと13個目の縦の位置からできています。

出入口の一覧(1個 4マス:縦の位置・横の位置・行き先の番号・行き先のマップ) 1個目2個目3個目4個目5個目6個目7個目8個目9個目10個目11個目12個目13個目 13匹目の「ポケモンのデータ(44マス)」は、この一覧の途中から始まる。 13匹目の「最大HP」 = 12個目の「行き先のマップ」と 13個目の「縦の位置」でできる 出入口が11個以下のマップしか通っていないと、12・13個目は空(0)のまま → 最大HPが 0 になる。 タマムシシティ(出入口13個)に入ると 12・13個目が埋まり、最大HPが 0 でなくなる(検証では 35611)。 出入口の一覧(1個 4マス:縦の位置・横の位置・行き先の番号・行き先のマップ)何個目 →1234567891011121313匹目の「ポケモンのデータ(44マス)」は、この一覧の途中から始まる。13匹目の「最大HP」= 12個目の「行き先のマップ」と13個目の「縦の位置」でできる出入口が11個以下のマップしか通っていないと、12・13個目は空(0)のまま→ 最大HPが0になる。タマムシシティ(出入口13個)に入ると12・13個目が埋まり、最大HPが0でなくなる(検証では 35611)。
図6 13匹目の最大HPは、出入口の一覧の12・13個目から決まる

ポケモン画面ではHPバーの長さを割り算で求めますが、この割り算は「引けるだけ引いて、引いた回数を数える」方法で計算しています。最大HPが0だと、引いても数が減らないので、計算がいつまでも終わりません。これが「画面が止まる」正体です。ただし、HPが0のときはこの割り算をしないので、止まるのは「HPが0でなく、最大HPが0」のときだけです。

HPバーの長さ = いまのHP × 48 ÷ 最大HP (割り算は「引けるだけ引いて、引いた回数を数える」) 最大HPが 0 でないとき 100 ÷ 30 → 100−30−30−30 = 10 もう引けない → 答えは「3回」 ちゃんと終わる HPはあるのに 最大HPが 0 のとき 100 ÷ 0 → 100−0−0−0−0 … 引いても減らないので、いつまでも引ける 終わらない = 画面が止まる ポケモン画面にHPバーを出すたびにこの計算をします。HPが0のときは計算しないので止まりません。止まるのは「HPが0でなく、最大HPが0」のポケモンが画面に出たときです。 HPバーの長さ =いまのHP × 48 ÷ 最大HP(割り算は「引けるだけ引いて、引いた回数を数える」)最大HPが 0 でないとき100 ÷ 30 → 100−30−30−30 = 10もう引けない → 答えは「3回」ちゃんと終わるHPはあるのに 最大HPが 0 のとき100 ÷ 0 → 100−0−0−0−0 …引いても減らないので、いつまでも引ける終わらない = 画面が止まるポケモン画面にHPバーを出すたびにこの計算をします。HPが0のときは計算しないので止まりません。止まるのは「HPが0でなく、最大HPが0」のポケモンが画面に出たときです。
図7 割る数(最大HP)が0だと、割り算が終わらない

7タマムシシティで止まらなくなる理由

出入口の一覧は、マップに入ったときにそのマップの出入口の数だけ上書きされ、残りの部分は消されません。出入口が11個以下のマップしか通っていないと、12・13個目は空(0)のままで、13匹目の最大HPが0になってしまいます(HPが0でなければ、画面に出たときに止まります)。

タマムシシティには出入口が13個あるので、町に入ると一覧が13個目まで埋まります。そのあと出入口の少ない道路へ移っても、12・13個目はタマムシシティのときの値が残るので、最大HPが0になりません。検証では最大HPは35611になり、止まらずに入れ替えられました。

マップに入ると、そのマップの出入口の数だけ一覧が上書きされる(残りは消えない) 1〜13個目 → ① 出入口5個の道路 ② タマムシシティ(13個) ③ また5個の道路へ ③では1〜5個目だけが道路の出入口で上書きされ、12・13個目(黄色)はタマムシシティのときの値が残ります。 マップに入ると、そのマップの出入口の数だけ一覧が上書きされる(残りは消えない)1〜13個目 →① 出入口5個の道路② タマムシシティ(13個)③ また5個の道路へ③では1〜5個目だけが道路の出入口で上書きされ、12・13個目(黄色)はタマムシシティのときの値が残ります。
図8 出入口の一覧は、マップを移っても後ろの方が残る

8レベル100・本物のミュウにできる仕組み

セレクトBBバグでは、ポケモンをレベル100にしたり、並びだけでなく中身まで本物のミュウにしたりできます。どちらも、入れ替える番号を組み合わせることで起きます。

「種類の並び」は、8匹目から1匹目のデータの中に入る

「種類の並び」を8匹目より後ろまで数えると、今度は手持ちの1匹目のデータの中に入っていきます。8匹目の種類は1匹目のデータの1マス目(種類)、13匹目は6マス目(タイプ)、22匹目は経験値のいちばん大きい桁に当たります。

「種類の並び」を8匹目より後ろまで数えると、1匹目のデータ(44マス)の中に入っていく 123456789101112131415161718 ↑ 1匹目のデータの 1〜18マス目(上の数字) 8匹目種類 13匹目タイプ 22匹目経験値(いちばん大きい桁) 入れ替えを組み合わせると、1匹目の「種類」を本物のミュウにしたり、「経験値」をとても大きな数にしたりできる。 これが「中身までミュウ」「レベル100」の仕組み。ただし途中で2つの壁がある(下で説明)。 「種類の並び」を8匹目より後ろまで数えると、1匹目のデータの中に入っていく123456789101112131415161718↑ 1匹目のデータの 1〜18マス目8匹目 = 1マス目(種類)13匹目 = 6マス目(タイプ)22匹目 = 15〜17マス目(経験値)入れ替えを組み合わせると、1匹目の「種類」を本物のミュウにしたり、「経験値」をとても大きな数にしたりできる。これが「中身までミュウ」「レベル100」の仕組み。ただし途中で2つの壁がある(下で説明)。
図9 種類の並びの8匹目より後ろは、1匹目のデータの中に重なる

本物のミュウになる理由

13番目で入れ替えると、1匹目のタイプの場所にある「ミュウと同じ番号」が、1匹目の種類の並びに入ります。そのあと8番目と入れ替えると、今度は種類の並びの値が1匹目のデータの1マス目(種類)に書き込まれます。こうして、並びとデータの両方がミュウになります。

レベル100になる理由

22番目と入れ替えると、種類の並びにある値が、1匹目の経験値のいちばん大きい桁に書き込まれます。いちばん大きい桁に数が入ると、経験値は一気に何十万・何百万という大きさになります。経験値がレベル100に必要な量を超えたポケモンは、戦闘で経験値をもらったときにレベルが計算し直され、レベル100になります。

うまくいかないときの原因

使う番号の組み合わせは、手持ちのポケモン・ニックネーム・道具の並び・通ってきたマップによって変わります。途中で止まるときは、次の2つが原因です。

  • HPが0でなく、最大HPが0のデータが画面に出る … 途中の入れ替えで、HPが0でなく最大HPが0になる記録がポケモンのデータとして読まれると、HPバーの計算で止まります。出入口が32個あるヤマブキジム(ワープ床の部屋)に入って出入口の一覧を全部埋めておくと、起きにくくなります。
  • 崩れた道具の名前が表示される … 14匹目より後ろの「ニックネーム」は道具袋の中身に当たります。入れ替えると、ポケモンのニックネームの文字が道具の番号として道具袋に入ります。その番号が正しい名前のない「崩れた道具」だと、名前の中に文章を表示するときの命令の記号(改ページ・名前の差し込みなど)が混ざっていて、道具画面で名前を出したときに画面が崩れて止まります。

どちらも、何番目と入れ替えるかで避けられることがあります。セーブデータごとに、使う番号を変えて試しましょう。

9気をつけること

  • 13番目以外(14番目など)を使うと、止まることがあります。14番目で入れ替えたあと、道具袋に崩れた名前の道具が入り、その名前を表示したときに画面が崩れて操作できなくなりました。
  • 入れ替えたあと、今いる道路や町の出入口の行き先が変わることがあります。
  • 図鑑の記録も書き換わります(親の名前の文字が図鑑の「捕まえた」記録に入ります)。
  • 崩れたポケモンや崩れた道具が残ったままセーブすると、元に戻せないことがあります。

10よく言われる話を確かめた

よく言われる話確かめた結果
先にタマムシシティかヤマブキジムに入ると安全正しい。出入口の一覧の12・13個目が埋まるため。ヤマブキジムは出入口(ワープ床)が32個あり、一覧を全部埋めます
最大HPが0だと画面が止まるHPが0でなければ正しい。HPバーの割り算が終わらなくなるため。HPが0のときは割り算をしないので止まりません
特定の場所にキズぐすりを置く/SELECTを数秒押し続ける関係ない。効いているのは「何番目か」だけで、道具の種類や押す長さは関係ありません
4回(偶数回)入れ替えるとミュウになる回数は関係ない。並びをミュウにするだけなら、13番目で1回入れ替えれば十分です。中身まで本物のミュウにするには、13番目と8番目などの組み合わせが大事で、回数はその結果にすぎません
レベル100にできるできる。22匹目の「種類」が1匹目の経験値のいちばん大きい桁に重なるため、経験値をとても大きな数にでき、戦闘で経験値をもらうとレベル100になります

11まとめ

  • 道具画面とポケモン画面は、入れ替えの記録を同じ1か所で使っている。SELECT → B → B で、その記録が残る
  • 記録が残っていると、ポケモン画面の最初の A が「入れ替えの2回目」として動く
  • ポケモンの入れ替えは番号を確かめないので、「13匹目」=手持ちの外の記録と入れ替わる
  • 13匹目のデータは今いるマップの出入口の一覧。種類は1匹目のタイプ、ニックネームは道具袋の数に当たる
  • みずタイプの番号とミュウの番号が同じなので、並びがミュウになる。ニックネームの文字で道具袋が書き換わる
  • HPが0でなく最大HPが0だと、HPバーの割り算が終わらず止まる。タマムシシティに入って出入口の一覧を埋めておくと防げる
◀ 『ポケットモンスター 赤・緑』 総合目次へもどる