看板 NSwitch作者 h10840206 (CHC_Yu-Da可以了是揮下去)標題 [攻略] 《曠野之息》超過999弓箭的拿法時間 Mon Jan 25 17:45:41 2021
大家好!我是Yuda:)
有一次直播時跑了一次繼承光弓流程,
下線前一讀檔
古代箭就超過999支了(72900支),
稍微在這邊分享一下方法和原理。
不知道在講什麼的話,可以參考這個影片(我的Twiiter):
https://twitter.com/zb_yuhudaddy/status/1351491956241625088?s=20
Yuda
@zb_yuhudaddy
72900本古代の矢
厄災だな
#BreathoftheWild #NintendoSwitch
這個則是1/24晚上的(沒有改機!)
https://i.imgur.com/elxFgLa.jpg
Switch或WiiU版都可以,
我是用Switch的,1.6版曠野之息(最新)。
以下開始說明原理和流程,
玩家可以自己往下滑動,
看到自己想看的位置就好,
因為下面牽扯到一些程式碼的部分,
可能會比較困難一點,
而我本身也非程式工程師出身的,
印象中BoTW的原始碼都是C語言,
所以有懂程式的大大如果看到有地方寫得不正確,
也麻煩指證一下!畢竟我也不想傳達錯誤的知識。
----------------袋子同步----------------
事實上,曠野之息這個遊戲有「
2個袋子(Inventory)」,
這邊用寶可夢的用詞「背包」,
一個是存在主數據管理區的GameDataMgr,
這邊我們稱為「
表背包(Outer Inventory)」
一個是存在記憶體的In-Memory Data,
這邊我們稱為「
裏背包(Inner Inventory)」
一般這兩個背包會隨時同步,
只要你打開背包查看、經過讀取、變更背包內容或順序,
這兩個背包內容都會同步處理,
包含武器道具的數量、耐久等等。
那這邊為什麼我要刻意提到「
同步(Sync)」?
身為Glitch-Hunter的玩家們,
肯定會想知道「
怎樣可以解除同步(Desync)?」
大家有印象「
劍之考驗(Trial of the Sword, DLC)」
和「
野外的試煉(Stranded on Eventide)」
全身被脫光光的任務吧!
大家在解這兩個任務時,在任務中拿到一堆東西,
結果考驗結束後,系統又會還你進入考驗前的道具,
在這邊玩家應該就會想到:
「
系統肯定把道具放在某個空間儲存起來」,
這樣結束後,才有辦法直接備份過來,這種概念。
是的!
其實是系統設置了一個「
臨時的表背包空間(Temporary Inventory)」,
讓玩家在考驗中能夠暫時存放考驗中的道具,等到考驗結束後,
再將「
裏背包(Inner Inventory)」的東西備份過來。
那這邊提供一個想法:
「
如果我在考驗中,增加武器或背包的格數,系統會怎麼同步?」
----------------數據錯位----------------
先破題,這個方法的原理就是:
「
數值錯位繼承(Item Value Shift Transfer)」
如果我們的表裏背包內容不同,
同步的時候,系統會怎麼處理?
畢竟我們遊玩時,是以「表背包」為主,
所以備份用的In-Memory Data在同步時儲存的數值,
會直接同步到對應在GameData的數據道具上。
那這個「數值」是什麼?
每一個道具都會有一個自己的
道具數值(Item Value, IV),
道具的同步都會以這個數值為準。
很難懂?換個說法,
簡單講就是把道具和弓箭
全部都打散成一堆數字!
譬如現在有一個檔案有以下道具,按照順序:
●道具外觀:大師劍、光弓、30木箭、50火箭、100電箭、海利亞盾
→打散數值:4000、10000、30、50、100、80000
有發現武器盾牌的數值是「
耐久度× 100」嗎?
這個和
定點運算(Fix Point Arithemtic)有關,
避免讓數量變成小數點,所以會乘以100。
有興趣的玩家可以去google看看。
如果我們表裏背包同步時,
系統發現表裏背包對應的位置並非同樣的東西(盾牌→箭)時,
就會看道具數值,畢竟程式不是人類,
要備份弓箭時發現其實是盾牌,然後開始除錯(Debug)。
其實正常流程來說,表裏背包是不可能不同步的,
在這方面,
Nintendo就沒有特地設置一個Failsafe來處理這個部分。
說了這麼多,
其實我上面影片的72900古代箭和80000支炸箭,
就是「
海利亞盾的耐久度× 100」覆蓋在箭的數量上。
----------------流程----------------
那現在知道原理了
首先,這和「繼承光弓」到正常世界的流程相同,
「
回憶儲存(Memory Storage)」這個程錯開的新檔,
在最後打完魔獸加儂再開新檔案時,
前後的武器盾牌格數位不一樣,
而且開新檔時,不知道為什麼地表裏背包會一瞬間不同步,
直到我們再次讀取或打開背包內容觀看時,才會再度同步。
我上面那個影片可以列表出來:
https://reurl.cc/WE3eYZ
事實上,我在打加儂前的
→
炸箭有4發、古代箭有1發
而打完開啟新檔並原地存讀擋(避免觸發同步)後
→
炸箭有1發、古代箭有72900發
很明顯加儂戰時的海利亞盾耐久度× 100倍直接備份到古代箭上,
而裝備中的古代箭數量直階備份到炸箭數量上。
同樣道理,玩家可以在繼承光弓時,
故意調整道具格數,就可以在繼承光弓後,
順便移植盾牌耐久度的100倍到弓箭上,
達成破表弓箭數。
主要原因就是
前後道具順序不同造成數據錯位同步
而且,這個弓箭數可以在NG+的野外試煉進行移植,
https://twitter.com/Kinak338/status/1353367721115742209?s=20
Kinak
@Kinak338
#BreathoftheWild #NintendoSwitch
3種弓箭80000隻+2個武器耐久度80000,
方法就不細談了,類似原理,有興趣的玩家可以入群討論。
繼劍之考驗、野外的考驗,續作出現以前,
玩家們也可以當作這是一個從頭開始的任務:
「拯救海拉魯」
其任務獎品就是:
「
光之弓矢(The Bow of Light)」
「
80000支弓箭(80000 arrows)」
成就感跟拿到機車一樣喔~
以上供玩家參考!
-----
Sent from JPTT on my iPhone
--
Welcome to my CHC Zelda-Botw Youtube channel!
CHC Youtubeチャンネルへようこそ!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.139.201 (臺灣)
※ 文章代碼(AID): #1W3fD8Ft (NSwitch)
※ 文章網址: https://www.ptt.cc/bbs/NSwitch/M.1611567944.A.3F7.html
※ 編輯: h10840206 (118.163.139.201 臺灣), 01/25/2021 17:54:27
懶人包在最後面那個列表
把表列出來就知道了
背包重置前後的排列
會對應繼承的弓箭
※ 編輯: h10840206 (118.163.139.201 臺灣), 01/25/2021 18:06:28
推 lim3: 推災厄林克7F 01/25 18:24
推 Zein: 災厄出現拉8F 01/25 18:28
推 Trika: 推Yuda教學!11F 01/25 18:59
→ bigbowl: 跟以往的bug一樣複雜(頭痛12F 01/25 19:02
推 Kamikiri: 這是不是代表mew game+的speedrun會有新玩法?13F 01/25 19:21
推 WLR: 太災厄了14F 01/25 19:53
推 CiCha: 先推再看15F 01/25 20:17
推 terryate: 2021年了災厄林克還在荼毒迦儂22F 01/25 22:04
推 zebra1986: 這根本是一篇完整的駭客教程!!我喜歡(讚許意味23F 01/25 22:31
推 cochon23: 謝謝你的教學影片,幫助很大,這幾天一直看。25F 01/25 23:37
--