夢幻(漏洞)

  Bag 防塵護目鏡 SV Sprite.png非正式術語  
出自神奇宝贝百科

夢幻漏洞(日文︰fifth法,英文︰Mew glitch),也被稱作百變怪漏洞逃離訓練家漏洞,是一個存在於所有第一世代遊戲的遊戲漏洞,最早在2003年被報告,並且成為都市傳說。這個漏洞讓玩家可以捕捉任意正常的寶可夢,例如在正常流程中無法獲得的夢幻。也是最簡單的遇到錯誤寶可夢錯誤訓練家的方法。

通過該漏洞遇到野生夢幻

觸發方法

方法一可以用於所有第一世代遊戲,方法二用於《皮卡丘》時,需要先到25號道路華藍之岬正輝獲得船票,此時就可以繞過華藍道館去解決民宅的火箭隊事件,到5號道路去抓一隻凱西。

方法一

最早被大眾所知的方法,是利用8號道路上面對地下通道(7-8號道路)入口的賭徒25號道路上擁有呆呆獸短褲小子來實現,玩家必須沒有打敗過這兩位訓練家,另外還需要有一隻具有飛翔招式的寶可夢。

玩家需要站在地下通道入口,確認自己的位置位於賭徒的正上方,然後往正下方走,走到賭徒會注意到主角的位置時,迅速按下Start鍵打開菜單,此時儘管賭徒會出現在畫面中,但不會向主角要求對戰。

菜單出現後,玩家需要使用飛翔移動到華藍市,此時賭徒的頭上會出現感嘆號,但主角將會在他走過來並挑戰之前飛走。

到達華藍市後,Start、A、B鍵將會失效,這是因為遊戲判定玩家正處於戰鬥狀態。在這裡,玩家需要走到25號道路與上述短褲小子戰鬥,注意需要讓其主動走向主角,即至少走到他面前2格距離的位置,走到面前1格的位置或主動挑戰會引起死機。

戰勝短褲小子後,上面失效的按鈕將會重新起效,此時玩家需要回到8號道路,進入8號道路後,將會自動彈出菜單,關閉菜單後,戰鬥將立刻開始,戰鬥對象為等級7的野生夢幻。

  • 若結合等級提升錯誤使遇到的夢幻變為1級,收服時需要保證隊伍有空位。否則捕捉到的1級夢幻傳到正輝的電腦後,從電腦中取出時會死機(該問題在《皮卡丘》中存在)。

方法二

上述方法一中8號道路上的賭徒可以替換為24號道路上金球橋西邊的童子軍,戰鬥對象則可以替換為華藍道館內的泳褲小伙子。由於遊戲進行到這裡時招式飛翔並沒有獲得,所以要捕捉一隻凱西,利用瞬間移動來代替,這也是在遊戲早期就獲得夢幻的一種途徑[視頻 1]

  • 如果使用泳褲小伙子觸發該漏洞,玩家只能在還沒有打敗華藍道館之前觸發,因為該訓練家屬於道館裡的訓練家。

漏洞原理

8號道路上的賭徒與24號道路上的童子軍可以被用於這個漏洞的原因是他們的視線範圍很大,只要主角在他們面前,並且能看到他們,無論多遠他們都會走過來主動向主角挑戰。然而當遊戲繪製NPC的圖像時,會先將它放到某個默認位置,然後再放到正確位置,這就給了玩家去打開菜單的時間。在玩家打開菜單並飛走後,遊戲會錯誤地判定主角正處於戰鬥狀態,導致某些其他的資料被讀取而引起了這個漏洞。

只要某個訓練家符合這個特點,就可以被使用,而符合這個特點的訓練家並不只有這兩個。

從一開始的訓練家處逃走所用的招式,並不一定是飛翔或瞬間移動,只要是能在地圖上瞬移的招式或物品均可,如挖洞離洞繩等等。

之所以上面的方法中遇到了夢幻,是因為這個漏洞最終所遇到的寶可夢,取決於玩家觸發漏洞後對戰的最後一隻寶可夢的特殊數值。

具體而言[1],起始於地址0xCD23(《皮卡丘》是0xCD22)的一串12字節分段會記錄最後一次對戰的寶可夢資訊。以短褲小子為例:

8E 11 00 3C 00 1E 00 1D 00 1C 00 15
  • 第二個字節0x11記錄對手等級17
  • 其後的十個字節記錄對手的狀態 (HP/攻擊力/防禦力/速度/特殊)。每個狀態占用2字節。
  • 分段的兩側各有八字節的分段,每字節值均為07。與其餘狀態(如後文提到的攻擊等級)相關。
  • 末尾字節0x15即地址0xCD2E0xCD2DY記錄了對手的特殊值。上述方法1、2中,短褲小子的最後一隻寶可夢為等級17的呆呆獸,泳褲小伙子的則是等級16的大舌貝,它們的特殊數值均為十進制的21(0x15)。

回到8號道路(或24號道路)時,遊戲會嘗試重新載入先前中斷的對戰。由於不明原因,程序會使用 CD2E (CD2D) 的值作為內部編號讀取對手,值較小時讀取的是野生戰鬥,而199 (十進制) 以上的值甚至會讀取到訓練家戰鬥。數值為0x15(21D)決定讀取的是內部編號21的夢幻。而後一位字節07決定了對手的等級。

可能遇到的對手

寶可夢

特殊值為1-199時遇到的是正常寶可夢和錯誤寶可夢,參見寶可夢列表(按第一世代內部編號)

訓練家

訓練家類型 特殊值
Jacred 200
短褲小子 201
捕蟲少年 202
迷你裙 203
水手 204
童子軍 205
女童子軍 206
怪獸狂 207
理科男 208
登山男 209
飆車族 210
趁火打劫者 211
電工大叔 212
雜耍藝人 213
釣魚者 214
泳褲小伙子 215
光頭男 216
賭徒 217
大姐姐 218
超能力者 219
電氣搖滾團 220
雜耍藝人 221
馴獸師 222
養鳥人 223
空手道王 224
青綠
作為勁敵
225
大木博士 226
西爾佛經理 227
研究員 228
阪木 229
火箭隊的手下 230
精英訓練家
231
精英訓練家
232
希巴 233
小剛 234
小霞 235
馬志士 236
莉佳 237
阿桔 238
夏伯 239
娜姿 240
紳士 241
青綠
作為勁敵
242
青綠
作為冠軍
243
科拿 244
祈禱師 245
菊子 246
阿渡 247

其他方法

上述方法中,均依靠了視線範圍很大的訓練家來觸發漏洞,但在某些特定情況下,玩家不需要依靠他們卻依然可以達到同樣效果。

此方法來源於一個設定,遊戲對遇野生寶可夢的處理優先度,是高於NPC訓練家發現主角的,所以,如果某個訓練家的視線範圍內有可以遇野生寶可夢的地方,而且玩家恰好在這個位置遇到了野生寶可夢,便獲得了觸發漏洞的機會。

此時只需在與野生寶可夢的戰鬥中,讓主角所持的所有寶可夢變為瀕死狀態,遊戲在一般情況下會立刻將主角傳送回最後一個使用過的寶可夢中心的門口,但如果是在某個NPC訓練家視線範圍內發生的戰鬥,在傳送之前遊戲會先判定該訓練家發現了主角,並設定為戰鬥狀態,然後再進行傳送(體現為黑屏中出現了訓練家發現主角的感嘆號標誌)。於是便同樣達到了在NPC訓練家發現主角後立刻逃走的效果,漏洞就被觸發了。

能滿足這個條件的訓練家並不多,最明顯的例子是常青森林中最後一位捕蟲少年

此方法不易在實機實現,因為運氣成分要求過高。

漏洞延伸

利用百變怪使該漏洞取得任意結果

特殊數值為255時遇到的訓練家

由於這個漏洞最終結果取決於觸發漏洞後對戰的最後一隻寶可夢的特殊數值,所以對戰不同的訓練家或野生寶可夢,最終將會遇到不同的寶可夢,比如月見山中的某個少女擁有一隻11級的喇叭芽,它的特殊數值為22。觸發漏洞後與她對戰,最終遇到的就會是等級為7的暴鯉龍(暴鯉龍的內部編號為22)。

由於這個特性的存在,便可以利用野生的百變怪來獲得任意需要的寶可夢,而不用去考慮任何關於敵方寶可夢特殊數值是多少的問題,這個方法的原理是當百變怪使用變身後,由於某些原因它的各項數值並不是本身所固有的數值,而是繼承了變身對象的數值。觸發漏洞後遇野生百變怪,並在它使用變身後打倒它或直接逃走,後面遇到的寶可夢,即是由玩家自身攜帶的那隻寶可夢的特殊數值所決定。

在第一世代中,正常的寶可夢只有151隻,所以在使用這個方法時,會遇到很多非正常的東西,例如錯誤寶可夢,甚至可以和大木博士對戰

如果攜帶的寶可夢特殊數值超過了255,那麼遊戲將會從0重新開始計算,即256和0等同,257和1等同,以此類推。這也是唯一通過這個漏洞獲得內部編號為5以下的寶可夢的方法。(因為正常情況下無任何寶可夢的特殊數值可能低於5)

某些數值(如248-255)將會使玩家遇到病毒性的訓練家(ZZAZZ錯誤即是特殊數值為248、251、252、254、255時觸發),導致資料檔案損壞,所以在非必要情況下,不要嘗試這些操作。

移除擋路的卡比獸

第一世代的正常遊戲流程中,12號道路16號道路玉虹市西邊)上各有一隻擋路的卡比獸,在一般情況下,需要完成寶可夢塔相關劇情,並取得寶可夢之笛後,才能讓它們在路上消失,流程才能繼續進行。

然而,利用夢幻漏洞,可以直接在不取得寶可夢之笛的情況下,移除掉擋路的卡比獸。

在《皮卡丘》中,12號道路的卡比獸必須先完成岩山隧道劇情才能觸發(因為遊戲進行到這裡時玩家並沒有獲得飛翔,也沒有野生的凱西供玩家捕捉)。

  • 移除12號道路上卡比獸的方法:[視頻 2]
    1. 6號道路利用飛翔或瞬間移動在某個訓練家看到主角之前逃走,目的地為枯葉市
    2. 向東走,從11號道路的一側進入12號道路,看到卡比獸後回到11號道路,並與任意訓練家對戰。
    3. 對戰完畢後,回到6號道路,菜單自動彈出,關閉菜單,戰鬥自動開始。
    4. 打敗遇到的寶可夢或逃走後,回到12號道路,原來擋在這裡的卡比獸將會消失。
  • 移除16號道路卡比獸的方法:[視頻 3]
    1. 8號道路利用飛翔或瞬間移動在賭徒看到主角之前逃走,此處和捕捉夢幻的方法一一致,但目的地為玉虹市
    2. 向西走到16號道路,看到卡比獸後往回走,通過地下通道(7-8號道路)回到8號道路,然後繼續走到紫苑鎮(此時8號道路上所有訓練家都不會找主角挑戰,即使他和主角從未對戰過,因為在步驟1中所做的事的原因遊戲判定主角正與賭徒對戰)。
    3. 到達紫苑鎮後,往北走到10號道路,與任意訓練家對戰。
    4. 對戰完畢後,回到8號道路,菜單自動彈出,關閉菜單,戰鬥自動開始。
    5. 打敗遇到的寶可夢或逃走後,回到16號道路,原來擋在這裡的卡比獸將會消失。

導致這個錯誤的原因

在遊戲中,有一些寶可夢只能對戰一次,而且在地圖上有圖像,各種傳說的寶可夢均屬於這種類型,由於只能對戰一次,當對戰完畢後,將會把這隻寶可夢的圖像在地圖上移除,而擋路的卡比獸則也屬於這種類型。

恰巧,夢幻漏洞所觸發的戰鬥,便就是這種類型的戰鬥,當玩家走到卡比獸的所在地後,遊戲將會把卡比獸的相關資料載入內存,這時候再去觸發戰鬥,當戰鬥完畢後,由於戰鬥類型一致,遊戲將認為玩家已和卡比獸戰鬥過,於是便從地圖上移除了卡比獸的圖像。

另外利用這個漏洞也可以移除24號道路上的火箭隊的手下[視頻 4]

改變遇到寶可夢的級別或訓練家的隊伍

在通常情況下,這個漏洞最終所遇到的寶可夢等級為7級,但觸發漏洞後,由於某些原因,玩家所對戰的最後一隻寶可夢的攻擊等級決定了後面遇寶可夢的等級,攻擊等級在通常情況下可以被提升6級或降低6級,表示為-6或+6,比如對方攻擊等級被降低了兩級(-2),後面遇到的寶可夢就為5級(7-2=5),所以玩家只要對對戰的最後一隻寶可夢使用6次叫聲,降低對方攻擊等級6級,就可以使最後遇到的寶可夢變為1級(7-6=1),1級的寶可夢在第一世代中是不能通過正常途徑取得的,因為程序員可能是為了防止「等級提升錯誤」的發生,所以在遊戲中沒有任何1級的野生寶可夢可以遇到,而在這裡獲得的1級寶可夢,只要它符合「等級提升速度中等偏慢」,便可以利用這個錯誤使它獲得54點以下的經驗,而直接升到100級。

另外,前面提到的決定野生寶可夢等級的內存地址,在遇到訓練家時會用來決定隊伍編號(體現為降低或提升對方攻擊等級後,最終會遇到同一訓練家的不同隊伍),因為同一類型的訓練家往往不止一個,在遊戲中它們並不單獨存儲,而只是對同一種訓練家存儲了若干個隊伍資訊,同時保存了該類型訓練家在各個位置對應哪個隊伍編號。例如:當控制對方特殊值為243時,最終結果將會遇到冠軍青綠,正常情況下(不降低攻擊等級)他的隊伍是在正常遊戲裡不存在的,但是,如果降低對方4、5、6級攻擊(即控制表示對方攻擊等級的內存地址為1、2或3)即可遇到正常隊伍的冠軍青綠,而1、2、3號隊伍即分別是含三種最初的夥伴最終進化形的隊伍,於是可以推斷出,遊戲在冠軍戰時就是根據玩家的初始寶可夢來控制該地址以達到對方具有不同隊伍的(前期的勁敵青綠同理)。但是,某些種類的訓練家的某些隊伍是無法通過這種方式遇到的,因為正常情況下攻擊等級只可以在1到13之間變動,而有些種類的訓練家在遊戲裡超過了13個。

參考視頻

  1. 捕捉1級夢幻+等級提升錯誤:Bilibili
  2. 移除12號道路上的卡比獸:Bilibili
  3. 移除16號道路上的卡比獸:Bilibili
  4. 移除24號道路上的火箭隊的手下Bilibili

注釋

遊戲漏洞
第一世代0 ERRORMissingNo.ZZAZZ錯誤道具複製道具下溢錯誤地圖254對戰大木博士
故障市合併寶可夢錯誤記錄衝浪錯誤居合斬漏洞老人漏洞夢幻漏洞《皮卡丘》的圖像錯誤
任意門剩餘HP錯誤雙屬性克制資訊顯示錯誤脫離連接俱樂部選擇按鈕錯誤資料損壞錯誤
第二世代捕蟲大賽資料複製城都寶可夢錯誤錯誤維度代幣盒錯誤
時拉比的蛋寫生錯誤訓練家之屋錯誤重要物品合併
第三世代榴石果漏洞時鐘電路漏洞整個盒子的壞蛋對戰塔盒子複製
第四世代變身招式保留錯誤衝浪漏洞榴石果漏洞追打所造成的異常天氣
第五世代GTS變形錯誤自由落體重力漏洞
第六世代列表
第七世代列表
第八世代列表
第九世代列表
多個世代克隆漏洞任意代碼注入溢出隨機數異常更改時間系統
多回合攻擊類招式漏洞講究道具鎖定漏洞蓄力的招式覆蓋錯誤
跨世代服務Pokémon HOME漏洞
旁支系列寶可夢+信長的野望漏洞寶可夢大集結漏洞
相關列表錯誤招式錯誤屬性錯誤地點錯誤音樂錯誤道具錯誤訓練家錯誤寶可夢壞蛋
神奇寶貝百科遊戲工程.png 這個頁面屬於神奇寶貝百科遊戲工程,歡迎加入遊戲工程 Wikilogo.png