老人(漏洞)
老人漏洞(英文︰Old man glitch)是一个存在于第一世代《紅/綠/藍》中的漏洞,可以用来遇到野生宝可梦或训练家,其中也包括了一些错误宝可梦,比如MissingNo.、'M (00)等等。这个漏洞在日文版的《紅/綠/藍》中不存在,在西班牙语和意大利语《紅/藍》中通过让岸边的格和水上一样被修复,但仍然存在于德语和法语的《紅/藍》中;但在法语版,会在遇到MissingNo.或者'M (00)时死机。在后续的《皮卡丘》中通过在重写之前擦除野生宝可梦的数据和重新编程岸边的格使其不再能遇到宝可梦而修复。
触发方法
首先玩家需要与常青市北边那位教主角如何捕捉野生宝可梦的老人对话,然后让他向主角演示,演示结束后,玩家需要立刻利用飞翔去往红莲镇,然后在距离东岸边1格的一排海域使用冲浪,便可能遇到非正常的野生宝可梦(也可能是训练家、MissingNo.之类)。
基础原理
这个漏洞在最初的形式是在其他地方遇到狩猎地带内的宝可梦的错误,玩家需要先进入狩猎地带随后立即出来,然后在中间没有经过任何有野生宝可梦的地区的情况下去往20号水路,然后在红莲镇东边海岸或者双子岛西边距离岸边1格位置使用冲浪,遇到的即是先前狩猎地带里才能遇到的各种宝可梦。
最简便的方法即是从狩猎地带出来后直接使用飞翔去往红莲镇,然后做上述所示的内容即可。
之所以会出现这种错误,是因为程序员的某些疏忽,在红莲镇东岸边1格和双子岛西岸边1格的一排海域中,虽然被编程为可以遇到野生宝可梦,然而具体会遇到哪些,则是没有数据的,所以游戏便会读取主角所处的最后一个有野生宝可梦数据的地区的数据,上文中的方法,最后所处的地区为狩猎地带,所以在这里冲浪便会遇到狩猎地带中的宝可梦。
而“老人漏洞”则是此原理的一种特殊形式,由于在捕捉教学时,游戏需要将主角的名字替换为OLD MAN,教学完毕后再将原来的名字替换回来,所以游戏需要开辟一个内存区域(英文版中为从$d887开始的几个字节)用于保存原来的主角名字。
而这些在捕捉教学时用于保存主角名字的地址除了最开始的$d887之外(虽然它也有别的功能即控制遇野生宝可梦的机率,但不在这个漏洞的影响范围内),都不只有一个功能,它们的另一个功能是记录当前地图内可以遇到的野生宝可梦的数据(种类以及等级),每到一个新的有野生宝可梦的地点,它们就会被重置一次,但是,常青市中没有野生宝可梦,所以教学完毕后,它们只是被用来恢复主角原来的名字,本身并无变化。
由于红莲镇没有野生宝可梦,而红莲镇西岸的1格海域中,同样无野生宝可梦数据,但却被设定为可以遇到野生宝可梦,所以看完捕捉教学后立刻去往红莲镇再在西岸冲浪这一过程中,这些保存主角名字却又是野生宝可梦数据的内存地址还是没有变化,这个漏洞就被触发了,而且遇到的宝可梦等级以及种类,很大程度上取决于主角的名字。
上述遇原野区内宝可梦的错误,则也是这些值没有变化所导致的。
触发效果
主角名字对漏洞的影响为:名字中第三、五、七个字符决定了宝可梦的种类,第二个字符决定了第三个字符起作用时遇到的宝可梦的等级;第四个字符决定第五个字符起作用时遇到的宝可梦的等级;而第六个字符则决定第七个字符起作用时遇到的宝可梦的等级。具体第三、五、七个字符中哪个会起作用则是随机的。
同时游戏也会读取第九个和第十一个字符作为宝可梦种类同时以第八个和第十个字符作为等级,但实际上游戏中的主角名称最多只能有7个字,因此当使用自定义名字时,这些实际上并不存在的字符在内存中均被保存为0(即空白),导致有时也会遇到等级0的'M (00)。
但是如果使用了游戏内置的主角名字,后面的数据就会被填充,所以当使用内置名字时,内部编号0的'M是不会出现的。
下面这个表格,列举了所有字符用来决定宝可梦种类或等级时的情况,事实上这里的等级就是宝可梦或训练家的内部编号。(适用于英文版)
字符 | 宝可梦或训练家的种类 | 等级 |
---|---|---|
'M (00) | 0 | |
MissingNo. | 80 | |
MissingNo. | 127 | |
A | 哥达鸭 | 128 |
B | 引梦貘人 | 129 |
C | 大嘴蝠 | 130 |
D | 超梦 | 131 |
E | 卡比兽 | 132 |
F | 鲤鱼王 | 133 |
G | MissingNo. | 134 |
H | MissingNo. | 135 |
I | 臭臭泥 | 136 |
J | MissingNo. | 137 |
K | 巨钳蟹 | 138 |
L | 刺甲贝 | 139 |
M | MissingNo. | 140 |
N | 顽皮雷弹 | 141 |
O | 皮可西 | 142 |
P | 双弹瓦斯 | 143 |
Q | 猫老大 | 144 |
R | 嘎啦嘎啦 | 145 |
S | MissingNo. | 146 |
T | 鬼斯通 | 147 |
U | 凯西 | 148 |
V | 胡地 | 149 |
W | 比比鸟 | 150 |
X | 大比鸟 | 151 |
Y | 宝石海星 | 152 |
Z | 妙蛙种子 | 153 |
( | 妙蛙花 | 154 |
) | 毒刺水母 | 155 |
: | MissingNo. | 156 |
; | 角金鱼 | 157 |
[ | 金鱼王 | 158 |
] | MissingNo. | 159 |
a | MissingNo. | 160 |
b | MissingNo. | 161 |
c | MissingNo. | 162 |
d | 小火马 | 163 |
e | 烈焰马 | 164 |
f | 小拉达 | 165 |
g | 拉达 | 166 |
h | 尼多力诺 | 167 |
i | 尼多娜 | 168 |
j | 小拳石 | 169 |
k | 多边兽 | 170 |
l | 化石翼龙 | 171 |
m | MissingNo. | 172 |
n | 小磁怪 | 173 |
o | MissingNo. | 174 |
p | MissingNo. | 175 |
q | 小火龙 | 176 |
r | 杰尼龟 | 177 |
s | 火恐龙 | 178 |
t | 卡咪龟 | 179 |
u | 喷火龙 | 180 |
v | MissingNo. | 181 |
w | MissingNo. 镰刀盔化石形态 |
182 |
x | MissingNo. 化石翼龙化石形态 |
183 |
y | MissingNo. 宝可梦塔幽灵形态 |
184 |
z | 走路草 | 185 |
PK | 青绿 作为劲敌 |
225 |
MN | 大木博士 | 226 |
– | 西尔佛经理 | 227 |
? | 火箭队手下 | 230 |
! | 精英训练家(男) | 231 |
♂ | 夏伯 | 239 |
× | 绅士 | 241 |
. | 青绿 作为劲敌 |
242 |
/ | 青绿 作为冠军 |
243 |
, | 科拿 | 244 |
♀ | 祈祷师 | 245 |
细节
- 使用此漏洞遇到的训练家,他们的大部分宝可梦都是错误宝可梦,包括但不限于MissingNo.、'M (00)等等,少数正常形态的宝可梦,也会有部分等级异常,即超过100级。
- 捕捉教学中使用那样的内存地址存储主角名字,在一般情况下是不会产生问题的(即这一点不能算作漏洞),根本原因在于某些地点理论上(游戏认为的)可以遇到宝可梦但实际却什么都没有。
- 某些情况下,主角名字并不完全决定宝可梦数据,还有一部分会来自于主角来到常青市前的所在地区。所谓“某些情况”即是主角来到常青市前的所在地区有野生宝可梦,而且种类很多,导致主角名字不能完全覆盖掉这些野生宝可梦数据。
遊戲漏洞 | |
---|---|
第一世代 | 0 ERROR • MissingNo. • ZZAZZ错误 • 道具复制 • 道具下溢错误 • 地图254 • 对战大木博士 故障市 • 合并宝可梦错误 • 记录冲浪错误 • 居合斩漏洞 • 老人漏洞 • 梦幻漏洞 • 《皮卡丘》的图像错误 任意门 • 剩余HP错误 • 双属性克制信息显示错误 • 脱离连接俱乐部 • 选择按钮错误 • 资料损坏错误 |
第二世代 | 捕虫大赛数据复制 • 城都宝可梦错误 • 错误维度 • 代币盒错误 时拉比的蛋 • 写生错误 • 训练家之屋错误 • 重要物品合并 |
第三世代 | 榴石果漏洞 • 时钟电路漏洞 • 整个盒子的坏蛋 • 对战塔盒子复制 |
第四世代 | 变身招式保留错误 • 冲浪漏洞 • 榴石果漏洞 • 追打所造成的异常天气 |
第五世代 | GTS变形错误 • 自由落体重力漏洞 |
第六世代 | 列表 |
第七世代 | 列表 |
第八世代 | 列表 |
第九世代 | 列表 |
多个世代 | 克隆漏洞 • 任意代码注入 • 溢出 • 随机数异常 • 更改时间系统 多回合攻击类招式漏洞 • 讲究道具锁定漏洞 • 蓄力的招式覆盖错误 |
跨世代服务 | Pokémon HOME漏洞 |
旁支系列 | 宝可梦+信长的野望漏洞 • 宝可梦大集结漏洞 |
相关列表 | 错误招式 • 错误属性 • 错误地点 • 错误音乐 • 错误道具 • 错误训练家 • 错误宝可梦 • 坏蛋 |
这个页面属于神奇宝贝百科游戏工程,欢迎加入游戏工程。 |