英雄·无敌
=========================
发表于软件时尚2002年第6期
=========================
这次被我们拿来开刀的是现时热火朝天的 HeroesIV(魔法门英雄无敌4),以下简称F4,啊错,是H4。虽然H4自带的作弊秘技条款丰富多彩,令人心旷神怡,但是为了避免通关后被打上作弊者烙印的残酷历史事实,我们还是委屈点儿,自力更生为妙。下面水寒就 step-by-step 地谈一下H4基础的修改方案。
1、强调一点,H4与以前历代的Hgame不同(Hgame…好熟悉…汗),在地图模式下,同一颜色势力在内存中的位置不再是固定的了。换句话说,例如H3,那时候在地图甲找到红方的金钱和资源地址,将其保存为金手指文件或生成专用修改器,拿到地图乙上对且仅对红方仍旧生效。而现在别说换地图,就算在同一地图上取存档或者类似意义的操作都会造成欲修改内容内存地址的变化。当一劳永逸的锁定成为美好的回忆,才发现什么是痛不欲生。也因此,下文提供的地址只作为过程演示,没有实际代入的价值,如有雷同,默哀默哀……
2、演示开始。在H4中选择 New Game-Scenairos,随便选择一张地图,例如 A Tale of Two Enemies,Next(图1),不妨将难度调成最高的 Champion Game,Begin(图2)。
3、这便是游戏开始的最初局面(图3),看得出最高难度对资源的限制是BT级的。为了要迅速改变现状,我们要修改,为了要修改,我们要跑到不远的地方敛金(图4)。
4、扑进一堆金块后,我们终于有了白手起家的 400 金(图5)。用热键呼出金山游侠III,查找 400,第一次搜索得 818 个地址(图6)。
5、把旁边另一堆金子也收入囊中,当前 800 金(图7)。游侠III 续找 800,好极了,就剩 1 个地址,,肯定是它了(图8)。
6、双击搜索结果 034335D8,在添加修改的窗口中将数值改为 999999,长度改为四字节,按确定将本修改项目添加入修改地址栏(图9)。回到游戏中看看,金钱没变!难道改错了?其实是因为游戏屏幕没有刷新的缘故,用各种手段(例如进入城镇模式)刷一下就成了(图10),活活,999999 金,几辈子都花不完啊……
7、留意一下当前 6 种资源的数量,切换到游侠III,在左边的功能条中选择内存编辑,开启内存编辑窗口(图11)。在当前地址中填入 34335D8(前面无论有几个 0 都可以省略),然后按显示地址,列出在金钱地址附近的内存代码段(图12)。
8、我们曾经说过,一款游戏里相同或相似属性的项目,在内存中经常处于同一块区域。看,代表 999999(16进制是F423F)的 3F 42 0F 后面,出现了 0A(10进制是10)…0A…05…05…05…05 的字样,刚好与我们适才所留意的 6 种资源数量一一吻合。这说明在H4中,金钱和资源在内存中表示为以金钱地址为首,相邻的 7 段四字节长度的代码。
9、很容易理解地,将 034335D8 依次 +4,运算出 034335-DC/E0/E4/E8/EC/F0 六个地址,将六者的值均置为 9999,添加入修改地址栏(图13)。回到游戏,所谓暴发户莫过如此(图14),用孙小美的话说,人家不是故意的……
10、最后要做的事情,就是先存盘以免不测,然后切到游侠III把任务清空,再把所有锁定项目删除,防患于未然。原因已经在步骤1中谈了。
11、一般来说,在开局即有城的地图中,把金钱和资源改一下就游刃有余了,同样能保持不错的游戏乐趣,如果连军队都改就容易索然无味了。而在开局无城的地图中,例如 The Ultimate Mug of Ale 的 Champion Game 难度下,改军队的效果更胜一筹。
12、为方便起见,仍以 A Tale of Two Enemies 为例(图14)。英雄目前有 15 单位狼和 23 单位妖精,打算改狼。呼出游侠III,查找 15,第一次搜索得 66510 个地址(参考图6)。
13、回游戏,进入部队界面(图15),点击狼,按住 <Shift>,分出若干 1 单位的狼,此时原位置的狼只剩 11 单位(图16)。
14、呼游侠,查找 11,有 3 个地址满足条件(图17)。凭经验判断很明显 033A7EA4 是我们的目标,实际操作中问题到这儿已经解决了。悲观点,假设第二次找到的地址还是太多,或者经验>