游戏修改经验谈──入门篇

Author: 海之风 Date: 2001年 3期

    工欲善其事,必先利其器。对于内存修改工具而言在这里我向大家推荐Game Master 7.3,好过其他工具不少。在以前的DOS时代,修改游戏是靠GB、FPE4.0,然后是FPE5.x独霸天下;Windows时代出了FPE2000,在扫描速度上虽有进步,但在编辑内存地址方面个人感觉似乎FPE5.x更为好用;再接着Game Master(以下简称为GM)推出,我就放弃了FPE5.x了,毕竟是DOS时代的产品,在Windows的窗口寻址还得指定地址──麻烦。GM在扫描速度上和FPE2000差不多,而在内存编辑上带了不少小工具,比FPE系列要方便不少,而且也带有金手指功能,可以把内存地址保存为GM格式,方便下次再使用,还带有直接修改程式码功能。国内也有东方不败和金山游侠两个游戏修改工具,但感觉上还比不上FPE2000。GM现在最新版本为7.30可去gm.kingformation.com.tw下载(需7.0版原光盘)。至于存盘文件修改,随个人喜好了,UltraEdit、WinHex,自己觉得哪个二进制编辑器好用就行,没有多大差别。
      游戏中的Boss好像太强了点,害得我老是不能英雄救美;哎!居然一个小兵就把我给杀掉了……如果你对这个游戏越来越咬牙切齿,好,拿出你的GM来──倚天一出,谁与争锋!
      先让我们来温习一下游戏修改的原理。游戏运行时会把游戏所需的数据放在内存中,游戏修改内存工具就是通过修改内存中这些数据来达到修改游戏的目的。
      首先在GM中选择Scanner,再选择Refresh,单击那个向下的箭头,指定你想要改的游戏(这里以《轩辕剑叁:天之痕》为例)。通过这一步,可以让GM知道你想要扫描内存中哪一部分,以免其它不相干的程序干扰它的注意力。切换到游戏,记下你准备修改的数值,以《轩辕剑叁:天之痕》为例,陈靖仇的生命值为100。再切换到GM(有两种方法,一是按F12,二是用Alt+TAB键切换,推荐第二种,因为第一种容易造成死机),点击一下Rename Mission(左起第三个图标),把扫描的名称改为“陈靖仇生命值”(改不改不影响游戏修改,但是为了防止修改对象过多,自己记不住你现在正在修改的是什么,改掉便于记忆),在输入框里输入100,点击Scan。在一阵扫描过后,它会报告给你,在你要它扫描的地址段内有17709个地址现在的数值是100。是不是感觉太多了一点,无从下手呢?没关系,我们再切换到游戏,随便找个小兵打上一架,好了,现在生命值是88了,再切换到GM,输入88,GM自己会在上次扫描的结果里再扫描数值变为88的地址,再把结果报告给你。好,现在只剩2个地址了,如果你现在还没有把握哪个地址是放生命值的,再重复上一步,去打上一架,让生命值改变一下再扫描,直到你能肯定哪个地址是放生命值的为止。双击你要改的地址,比如是004C4F1C,在弹出来的对话框中把Value值改为你想要改成的数值,如9999,另外的几个分别是自动锁定AutoLock(每隔一定的时间将这个值写到这个地址一次,时间间隔可在Option里设定),热键修改Hot Modify(可自己设定按键,Add表示增加,Sub表示减少,S/W表示取消或应用热键修改,Step表示每次增加或减少的值,如将Add设为“+”,Step值设为2,在游戏中按一下小键盘上的“+”号,可将这个值加2),按下OK确定。切换到游戏,呵呵,这下子你可打不死我了。
      上面这种扫描叫做高阶扫描,但是在一些游戏中并没有明显的数值,如《古墓丽影》里面莱娜的生命值就只是一条光棒,格斗类游戏也多是几条光棒,这怎么办呢?没有关系,我们还有低阶扫描。
      以格斗游戏为例,选择双人对打(单人也可以,不过双人对游戏修改更有示范作用),切换到GM指定要修改的程序,在输入框中输入“?”号,GM会记录下要扫描的地址段现在的值。切换到游戏,操纵另一人打自己一下,这时血会减少一点,再切换到GM输入“-”号,GM会把现在内存中的值和上次扫描的值对比,把减少的值列出来(“-”号表示当前的值减少,“+”号表示当前的值增加,“!”号表示不知道增加还是减少,“=”号表示值相等),再切换到游戏,再操纵被打,再扫描……直到找到正确地址为止。再重新开始一局,切到GM,右击找到的地址,在弹出的菜单中选择“Edit Memory”看当前地址在内存中的数值,假设为0F 27,换算成10进制是9999,即满血的值是9999。和高阶扫描一样,把这个地址锁定为9999,再进入游戏──随便打打敌人都不是对手,^_^