欢迎光临散文网 会员登陆 & 注册

重装机兵4--偷梁换柱法--人类装备的偷梁换柱(B篇:详解)

2022-09-14 19:28 作者:mymai11  | 我要投稿

        本文根据站中重装机兵4(Metal Max 4, mm4)的“道具栏40页bug”视频抽象出游戏中物品类道具、回复类道具、战斗类道具和装备类道具的数据结构及关联。本文利用此BUG将“绯红牡丹铁扇”变为“双截棍”。活用此方法可以轻松获得鳟鱼刀。本期内容非常重要,是后面“起飞”的基础。同时,本期内容涉及到从装备栏到物品栏再到装备栏的数据流通,是“40页BUG拓展”的难点内容。

1.  涉及到的道具

     按照惯例,这里提供了本次需要的道具名称及序号(游戏中表示该物品的数值)。这里稍微复习下前面的内容:一、 物品类道具和装备类道具的名称和数量分别占两个字节,在本系列分为低位和高位。对于名称来说,高位和低位共同决定名称;对于数量来说,只有低位决定数量,高位无效。二、由于回复类道具和战斗类道具总种类较少,所以为了节省空间,只用1个字节表示名称,用另外一个字节表示数量,不区分高位和低位。

2.  基本原理的解释

    游戏中,我们可以通过购买和出售操作改变物品的数量,这很好理解,因为这就是个数字。但是没有办法直接改变物品的名称,因为这是字呀。例如,我们买了一个绯红牡丹铁扇,但是没有办法让它变成双截棍或者别的武器。但是,如果现在告诉你,绯红牡丹铁扇和双截棍等武器,或者道具也都是数字,虽然这个数字不在我们能改变的范围里,但我们现在至少有改变它们的可能性了。

    剩下的就是理解“我们为什么能改变表示物品/道具种类的数字”了。以物品类道具和回复类道具的连通为例,我们要知道:一、物品类道具占4字节,读2字节为名称,再读1字节为数量,1字节忽略,在物品栏里的移位操作一次性改变4字节的数据,;回复类道具占2字节,读1字节为名称,再读1字节为数量,在回复栏里的移位操作一次性改变2字节的数据。二、物品类道具的40页第4栏与回复类道具的第1页第1,2栏重叠。意思就是说,我们把一个物品类道具赛到物品类道具的40页第4栏,这时,这4字节的数据会与回复类道具第1页第1,2栏的4字节数据交换。原物品类道具的名称低位解释为回复栏第一个道具的名称;原物品类道具的名称高位解释为回复栏第一个道具的数量;原物品类道具的数量低位解释为回复栏第二个道具的名称;原物品类道具的数量高位解释为回复栏第二个道具的数量。所以我们在将2个修理套件放到物品类道具的40页第4栏时会在回复栏道具的第1,2栏分别出现0个修理套件和0个神的口水。就是因为“ 243 | 0 | 2 | 0 ”这4个数据在物品道具栏中和回复道具栏中的解析规则不一样。这里尤其要注意,我们通过这样的移位操作,已经使无法编辑的名称的数据转移到了可操作的数量低位上了。由此,我们已经具备了改变道具名称的理论基础。

    回复类道具和战斗类道具的是连接,战斗类道具和装备类道具的连接可以看作是回复类道具与物品类道具的反方向连接,可以在此前的专栏中看到,本期也给出了4大道具栏的连接详解。

3.  偷梁换柱法

        以获取宇宙火神炮的无中生有为例,讲述此法。此法取名“偷梁换柱法”,希望大家不要死记其过程,要理解其中的数据流动及改变,一致活学活用。后面的专栏会将本期所有操作打包起来当成一个动作,因此,本期专栏的内容只会是后续的“基本操作”。

        在装备栏里, 3 | 249 共同解释为红牡丹铁扇。 我们要盯着这个数据。

        在战斗类道具中, 3 | 249 解释为3个宇宙电池。这里需要注意一下为什么出现了1个森林蘑菇。1个森林蘑菇需要分成名称和数量两部分,名称部分是高位数据的1与低位数据的57共同决定,是1个火箭烟花放到装备栏后,这2字节的数据同时解析的结果;而数量部分的1个,则是“1个绯红牡丹铁扇”的“1个”。

        在回复类道具中, 3 | 249 解释为3个宇宙电池。

     “ 3 | 249  ” 这2字节数据在物品类道具栏里解释为“249个”,3在数量高位,不解析。再次重申,我们通过这样的移位操作,我们此时已经使无法编辑的名称的数据转移到了可操作的数量低位上了。由此,我们已经具备了改变道具名称的理论基础。

    我们此时,我们把“ 3 | 249  ” 这2字节数据变成了“ 3 | 211  ” ,此时就已经有了“宇宙火神炮了”。剩下的就是让这组数据原路返回到装备栏中。


4.  结语

    本次拖更有半年了,因为身体原因。而且有大眉的视频打头阵,我也没有很急着更新专栏。从本期开始,专栏的进度没有和视频一致,以后回不断更新,不断补充。另外还有"天下第一超超改"等着大家。 

    本期内容不是获取没有的装备的最简单方法,但是是最实用的。我们可以通过把几个任意道具直接丢到战斗类7页6栏赋值名称,任意道具丢到7页7栏赋值数量,这样也可以获得新道具。另外,低位小于等于99的道具也可以通过买入的方法改变数值。当然,名称低位超99的只能用此法了。过总之有了这个基本原理之后,思维要活。另外,有兴趣的小伙伴也可以尝试看看高位更高会有什么变化,但是别太贪了。

5.  致谢

    感谢“孙dark眉”提供的封面。 感谢“梦想”的纠错及建议。

重装机兵4--偷梁换柱法--人类装备的偷梁换柱(B篇:详解)的评论 (共 条)

分享到微博请遵守国家法律