重装机兵4--物品类道具无中生有(B篇:详解)

本文根据站中重装机兵4(Metal Max 4, mm4)的“道具栏40页bug”视频抽象出游戏中物品类道具和回复类道具的数据结构及关联,然后从数据的角度对物品类道具的无中生有操作进行详解。本操作可以用于生成大部分物品类道具。
1. 物品类道具数量变化对数据的影响
首先介绍下物品类道具数量变化对数据的影响。对物品数量产生变化的操作包括:购买,出售、拾取、丢弃等。进行这些操作后会使游戏中数据发生变化。这里还是用上一篇抽象出的数据结构(图1):当物品类道具数量变化时,实际上是数量低位在变化,数量高位不变。如果涉及到从无到有和从有到无,那么名称高低位也会变化。同时我们要记得:在游戏中,不同物品对应不同的数字(数据)。如果我们利用物品类道具栏与回复类道具栏数据长度不同,将物品类道具的名称和数量“分离”,将名称放到数量低位并对其值进行改变,再放回到名称位,那么就可以实现道具的变化。这也是“无中生有”操作的基本思路,是后续“战车道具的无中生有”的基础。

2. 物品类道具的无中生有操作详解(以超级蘑菇袋为例)
废话不多说,直接进入实战。注意这里和原视频并不完全一致,但完全可用,具体说明见图。













3. 本操作的用途与限制
本操作主要用于获取未持有物品类道具,例如稀有金属探测器(可以提前获取红狼战车)超级蘑菇袋、等稀有道具。虽然名称上是无中生有,但是更贴切的说法应该是“转换”,即通过数量低位的减法操作将序号大的物品转换为序号小的物品(修理套件是243号道具,超级蘑菇袋是201号道具)。通过此操作,我们也能理解是如何从宇宙电池s中提取超稀有金属。因此,此操作存在局限性:不能够通过小序号物品生成序号大的物,即不能通过修理套件无中生有超级稀有金属(245号道具)。但是,由于修理套件是可购买的较大号物品,因此此方法的局限性不大。目前已知的最大序号的物品是“某种电子零件,251号”,244-250号可以用“某种电子零件”进行转换。(注意:这里的序号是默认名称高位为0。)
4. 致谢
感谢“孙dark眉”提供的封面图片与游戏存档。 感谢粉丝“我也不知道”的纠错(已保留更改痕迹)。
有关物品类道具栏的结构请参考:
重装机兵4----物品类道具复制 (B篇:详解)

