选择按钮错误(漏洞)

  Dream 探险套装 Sprite.png未完成  
  Bag 防尘护目镜 SV Sprite.png非正式术语  
来自神奇宝贝百科


选择按钮错误(日文︰セレクトバグ,英文︰Select glitch)是一个存在于日文《紅/綠/藍》的游戏漏洞。这个漏洞的存在导致其它一系列漏洞的发生,是由“选择”按钮切换物品顺序的功能相关的某些疏忽所导致的。

在1.1版的日文《紅/綠》中,已经不能在战斗中完整触发这一漏洞,但仍然可以通过先在战斗前选择物品来触发。这个漏洞在海外版《紅/綠/藍》以及所有语言的《皮卡丘》中被修复。

基本效果

当玩家在物品栏中使用“选择”按钮选择了一个物品时,这个物品前面的光标将变为空心图案,但是如果这时玩家什么都不做,直接用B键关闭包包,并在不打开菜单的情况下打开招式列表或宝可梦列表时(如果此时不在战斗中,关闭包包后去遇一只野生宝可梦即可),会发现光标依然是空心的,而且空心光标所在的位置,就是先前选择的那个物品在包包中的位置。(前提是这个招式或宝可梦是存在的)

举例来说,假如我们选择了包包里的第三个物品,然后关闭包包,打开招式列表不做其他事而直接按下A,就会发现第一个招式和第三个招式的顺序被切换了。

原理

在游戏中,内存地址$cc35保存当前选择的东西(可能是宝可梦、招式、物品等等)位于哪个位置,多种类型的切换均由这一个地址决定,它的值在没有选择东西的时候是0。但当玩家选择了某个东西,它的值就会改变,比如我们用“选择”按钮选了第三个物品,它的值便是3。选择第三只宝可梦并点击了“切换”选项时,它的值也会是3。

然而由于程序员疏忽,在战斗中使用“选择”按钮时,$cc35虽然和平时一样会改变,但当玩家选择了一个物品但不做任何动作就关闭了包包,它的值并不会变成0,而依然保留了包包里选择的那个物品的序号。

于是通过这个漏洞,就做到了切换现有东西与不存在的东西,诸如切换第1只宝可梦与第7只,第1个招式与第5个招式等等,这便导致了一系列其他漏洞的发生。

另外在战斗外的时候,虽然选择了一个物品也不会使这个地址回到0,但如果关闭菜单再次打开,它就会重置为0。所以也可以在战斗外选择物品,再遇野生宝可梦去触发漏洞。

而其他版本修复这个漏洞的方式便是无论在何处,只要关闭了包包就会重置这个地址的值,哪怕是在战斗外没有关闭菜单的时候。

由于这个漏洞的存在而衍生的其他漏洞

任意门漏洞

主頁面:任意门(漏洞)

导致原因是利用选择按钮错误,切换了第一只宝可梦与不存在的第二只宝可梦。

物品栏扩充

日版游戏中,第9只宝可梦的信息包含了$d2a1这个地址,它记录了物品数量,因此将它利用该漏洞与其他值替换掉(即替换第9个物品与前6只宝可梦),将会获得类似资料损坏漏洞中的效果,尽管大部分情况下并不会获得255个物品,但用来快速通关是足够的。

参考视频

物品栏扩充+替换$d335通关:Bilibili

遊戲漏洞
第一世代0 ERRORMissingNo.ZZAZZ错误道具复制道具下溢错误地图254对战大木博士
故障市合并宝可梦错误记录冲浪错误居合斩漏洞老人漏洞梦幻漏洞《皮卡丘》的图像错误
任意门剩余HP错误双属性克制信息显示错误脱离连接俱乐部选择按钮错误资料损坏错误
第二世代捕虫大赛数据复制城都宝可梦错误错误维度代币盒错误
时拉比的蛋写生错误训练家之屋错误重要物品合并
第三世代榴石果漏洞时钟电路漏洞整个盒子的坏蛋对战塔盒子复制
第四世代变身招式保留错误冲浪漏洞榴石果漏洞追打所造成的异常天气
第五世代GTS变形错误自由落体重力漏洞
第六世代列表
第七世代列表
第八世代列表
第九世代列表
多个世代克隆漏洞任意代码注入溢出随机数异常更改时间系统
多回合攻击类招式漏洞讲究道具锁定漏洞蓄力的招式覆盖错误
跨世代服务Pokémon HOME漏洞
旁支系列宝可梦+信长的野望漏洞宝可梦大集结漏洞
相关列表错误招式错误属性错误地点错误音乐错误道具错误训练家错误宝可梦坏蛋
神奇宝贝百科游戏工程.png 这个页面属于神奇宝贝百科游戏工程,欢迎加入游戏工程 Wikilogo.png