重裝機(jī)兵4--回復(fù)/戰(zhàn)斗道具無中生有(B篇:詳解)

????????本文根據(jù)站中重裝機(jī)兵4(Metal Max 4, mm4)的“道具欄40頁bug”視頻抽象出游戲中物品類道具和回復(fù)類道具的數(shù)據(jù)結(jié)構(gòu)及關(guān)聯(lián),然后從數(shù)據(jù)的角度對(duì)物品類道具的無中生有操作進(jìn)行詳解。本操作可以用于生成回復(fù)類道具和大部分人類戰(zhàn)斗道具。?
1.? 無中生有回復(fù)/戰(zhàn)斗類道具的思路及步驟
????回復(fù)/戰(zhàn)斗類道具的無中生有步驟上十分簡單,但是在理解上和物品類道具的無中生有不一樣。如果我們單純用物品類道具的數(shù)量來決定目標(biāo)產(chǎn)物,直接將其移入物品類40頁第4欄,我們會(huì)發(fā)現(xiàn),不管怎么樣,雖然出現(xiàn)了我們想要的物品,但是數(shù)量始終為0。這歸因于不管我們?cè)趺凑垓v,產(chǎn)物回復(fù)道具的數(shù)量對(duì)應(yīng)著原料物品類道具的數(shù)量高位,而我們的操作沒辦法改變數(shù)量高位。所以,如何改變數(shù)量高位,就是回復(fù)/戰(zhàn)斗類道具的無中生有的關(guān)鍵所在。
????下面,我們從全滿飲料的無中生有來理解此操作:


????????從上圖可以看出,99就直接復(fù)制在了數(shù)量高位。也正是這一個(gè)舉動(dòng),解決了回復(fù)/戰(zhàn)斗類道具無中生有的關(guān)鍵性問題。而在后續(xù)的操作中我們發(fā)現(xiàn),隨著物品欄操作的進(jìn)行,數(shù)量低位并沒有變化,即99并沒有變化,這也是后續(xù)戰(zhàn)車類道具無中生有的基礎(chǔ)。


????????注意step 3中的數(shù)量低位和數(shù)量高位的變化(12被直接替換成4)。所以筆者進(jìn)行以下猜測(cè):在進(jìn)行購買操作時(shí),系統(tǒng)遍歷所有材料,發(fā)現(xiàn)沒有修理套機(jī),所以按照系統(tǒng)設(shè)置確定新買的修理套件放在40頁2欄。因此,直接賦值名稱低位為243,數(shù)量低位為4。如果遍歷到有修理套件,則在此修理套件所在的數(shù)量低位進(jìn)行。

? ? ? ??
2.??一些關(guān)鍵道具的序號(hào)
????這里提供一些道具的數(shù)量高位和低位的值,這些道具包括外道興奮劑、再生膠囊等強(qiáng)力道具。前文中提到的道具的“序號(hào)”就是高位為0時(shí),道具對(duì)應(yīng)低位的值:

3.??回復(fù)類道具與戰(zhàn)斗類道具的連通及道具轉(zhuǎn)移
????????如果我們用上述方法產(chǎn)生了戰(zhàn)斗道具,但是此時(shí)它是出現(xiàn)在回復(fù)欄的,我們沒辦法使用,這時(shí),我們需要把它放到戰(zhàn)斗類道具欄中。這不得不提到回復(fù)類道具與戰(zhàn)斗類道具的連通規(guī)則:
? ? ? ? (1)回復(fù)類道具5頁第10欄不顯示道具;
????????(2)回復(fù)和戰(zhàn)斗類道具均只占用兩字節(jié);
? ? ? ? (3)當(dāng)有道具放入回復(fù)類道具5頁第10欄時(shí),如果戰(zhàn)斗類1頁第1欄為空,則該道具出現(xiàn)在戰(zhàn)斗類1頁第1欄,數(shù)量名稱不變;否則替換。
????????所以想把道具從回復(fù)欄放到戰(zhàn)斗欄就清空戰(zhàn)斗欄1頁第一欄,把想轉(zhuǎn)移的道具放入回復(fù)類道具5頁第10欄即可;如果把道具從戰(zhàn)斗欄放到回復(fù)欄就將其置于戰(zhàn)斗欄1頁第一欄,把任意道具放入回復(fù)類道具5頁第10欄即可。

????????這里把與物品類道具連通的示意圖也補(bǔ)充進(jìn)來。這里需要注意兩點(diǎn):1. 聯(lián)系是相鄰兩種道具欄的聯(lián)系;2.關(guān)聯(lián)是有順序的,我們只能通過上方道具欄的操作改變下方道具欄的值,下方道具欄被改變的數(shù)據(jù)長度(2字節(jié)還是4字節(jié))取決于在上方道具欄每欄的長度。
? ? ?

圖4? 回復(fù)類道具與戰(zhàn)斗類道具的連通示意圖
?4. 本操作的用途與限制
? ? 本操作主要用于獲取強(qiáng)力回復(fù)、戰(zhàn)斗道具,同時(shí)可以用于打破是由再生膠囊的數(shù)量限制。換句話說,再也不用擔(dān)心藥不夠用了。由于購買道具的數(shù)量不得超過99個(gè),所以產(chǎn)出的道具數(shù)量不會(huì)超過99個(gè),也不可產(chǎn)出100號(hào)及以后的道具(100號(hào)以后道具的無中生有方法請(qǐng)關(guān)注后續(xù)作品)。
5. 致謝
? ? 感謝“孫dark眉”提供的封面圖片與游戲存檔。 感謝“孫dark眉”的“測(cè)序”工作。
