作者:
Rabby250 (在沙漠裡尋找星星)
2016-09-03 00:44:57反正都被釣出來了就(攤手)
-----
Select BB 是日版赤綠青裡一個非常危險的 Bug ,
危險度大概僅次於 ACE (目前唯一已知可以搞出 GS 雪拉比的那個)
完全摸熟的專家用起來跟開老金沒兩樣,小拉達豈止變夢幻,還給你變成藍的
但是不會用的用下去會有整個存檔報銷的危險
(這大概就是「改獸會破壞存檔」的起因了吧......遠目)
VC 版基本上只修閃爍等有危害玩家健康的要素,所以這個 Bug 也原封不動地保留了
有興趣的玩家可以試試,但是再強調一次:這個 Bug 是有可能破壞存檔的
-----
原理的話是這樣:
遊戲中道具欄、寶可夢欄和招式欄有所謂的「交換順序」功能
(比方說對某個道具按 Select 之後選個新的位置就可以把道具順序交換)
基本上這功能就是照以下步驟處理:
1. 玩家選擇第一個要換的道具,假設這個道具原先是排第 x 個
2. 玩家選擇第二個要換的道具,假設這個道具原先是排第 y 個
3. 把記憶體裡第 x 個和第 y 個道具的資料(種類和個數)對調
招式也是一樣:玩家選擇第 x 招和第 y 招,由遊戲把資料(種類和 PP )對調
但是很不幸地,這段程式碼裡有個相當大的漏洞:
1. 玩家選擇第 x 個道具,遊戲中會記著數字 x ,但是不會記是「道具」還是「招式」
2. 玩家這時候可以按 B 取消,交換不會執行,但是數字 x 還是記著
3. 玩家選擇第 y 招,遊戲會以為是要跟第 x 「招」交換,於是把資料對調
因為每隻寶可夢招式最多四招, x 如果是 1 到 4 就還好
但是如果 x 是 5 以上呢?(電腦最多可以存 50 種道具,所以 x 有可能會到 50 )
遊戲就會去算記憶體裡第 x 招「應該會存在哪裡」,然後把那裡的資料拿出來對調
而根據解析結果, x 在 5 以上會對到的記憶體其實是用來存這些東西的:
http://wiki.ポケモン.com/wiki/裏技一覧_(第一世代)
→ 2.24 ポケモンのステータスを変更する (注意其中的對應表格)
也就是說:
1. 如果 x 是 45 ~ 48 (利用電腦),
可以利用這個 Bug 把第二隻寶可夢的招式「交換」到第一隻身上
於是 VC 版衝浪皮卡丘 GET !衝浪時的皮卡丘圖示超讚的!(這樣不對)
2. 如果 x 是 16 或是 37 ,就可以竄改第二隻的種族,於是小拉達就被變成夢幻了!
3. 如果 x 是 20, 21, 43 或 44 ,就可以竄改個體值,於是夢幻進一步變成藍色了!
(別忘了,只要個體值符合第二世代的色違條件,傳到第二世代就會是色違)
光是以上三點,相信大多數玩家大概都能想像為什麼這個 Bug 能夠匹敵老金了吧?
不過這個 Bug 可不只這樣!剛剛有提到能交換順序的除了道具以外,寶可夢當然也可以
而且因為整隻寶可夢的資料量大,影響的範圍也隨之擴大
所以也有故意在交換前給寶可夢取特定名字、
然後把該名字「換進」道具欄以轉換成非常難拿或是數量非常多的道具之類的案例
只是隨著影響範圍擴大,改到不該改欄位的機率也會同時飆高
有些欄位隨便修改甚至會有導致整個存檔無法正確讀取的風險
這就是為什麼在本文一開頭就要特別強調必須留意存檔正確性的緣故
-----
解說到此應該很清楚了,有興趣的就請便吧!(茶)(潛下)