吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1841|回复: 29
上一主题 下一主题
收起左侧

[原创] 《英雄无敌》2——小回城术修改成大回城术

[复制链接]
跳转到指定楼层
楼主
darkf 发表于 2024-9-26 09:12 回帖奖励
本帖最后由 darkf 于 2024-9-26 09:16 编辑

一、前言


回城术,是西方魔术世界的基本魔术元素之一。玩过现代一些具有地图场景游戏的人都知道,有回城术,例如《暗黑破坏神》里面的回城卷轴。




(1)《英雄无敌》1代回城术


《英雄无敌》从1代就有回城术,它只能让英雄在野外陆地上,回到离他最近的城堡。





(2)《英雄无敌》2代回城术


到了《英雄无敌》2代,回城术从1代的只能回到最近城堡,升级到2种回城术,即大小回城术。小回城术与1代一样,也只能回到最近城堡,而大回城术则可以回到己方任意一个无人的城堡。自然,大小回城术的魔法等级是不一样的,小回城术是4级魔法而大回城术则是5级魔法。

这是大小回城术的魔法图标






选择大回城术时,会出现对话框以选择要去的城堡









(3)《英雄无敌》3代回城术


到了《英雄无敌》3代后,回城术不再分大小,而是根据英雄的土系魔法的掌握程度决定是小回城术还是大回城术,当英雄土系魔法达到专家级后,就可以施展大回城术。





达到专家级后使用回城术就会有城堡选择





这次修改就是把2代的小回城术改成大回城术。本次修改是在下面这篇贴文基础上进行的:


《英雄无敌》2黄金版(英文)——免CD修改


二、修改过程


首先用32xdbg打开游戏程序,来到用户代码段





再搜索字符串,找到回城术相关文字提示如下





双击字符串来到回城术对应的子程序,可以看到下面两行代码:


[Asm] 纯文本查看 复制代码
0045420A  |>  837D 08 3A             cmp dword ptr ss:[ebp+8],3A
0045420E  |.  0F85 75010000          jnz HEROES2W.00454389


上面的[ebp+8]正是调用程序时输入的第一个参数,它代表的是《英雄无敌》2里的各种魔法编号。







2代里的魔法与1代一样,也分作战斗类和冒险类


(有关这方面可以看我的贴文:手把手教你怎么修改——《英雄无敌》1——魔法学习系统


其中战斗类魔法48个如下,前面的数字就是这个魔法的ID号


[Asm] 纯文本查看 复制代码
00-fireball
01-fireblast
02-lightning bolt
03-chain lightning
04-teleport
05-cure
06-mass cure
07-resurrect
08-resurrect True
09-haste
0A-mass haste
0B-slow
0C-mass slow
0D-blind
0E-bless
0F-mass bless
10-stoneskin
11-steelskin
12-curse
13-mass curse
14-holy word
15-holy shout
16-anti-Magic
17-dispel Magic
18-mass dispel
19-magic arrow
1A-berzerker
1B-armageddon
1C-elemental storm
1D-metar shower
1E-paralyze
1F-hypnotize
20-cold ray
21-cold rung
22-disrupting ray
23-death ripple
24-death wave
25-dragon slayer
26-blood lust
27-animate dead
28-mirror image
29-shield
2A-mass shield
2B-summon earth elemental
2C-summon air elemental
2D-summon fire elemental
2E-summon water elemental
2F-earthquake


冒险类魔法17个


[Asm] 纯文本查看 复制代码
30-view mines
31-view resources
32-view Artifacts
33-view towns
34-view Heroes
35-view all
36-identify Hero
37-summon boat
38-dimension door
39-town gate
3A-town portal
3B-visions
3C-maunt
3D-set earth quardian
3E-set air quardian
3F-set fire quardian
40-set water quardian


对照上面的魔法ID可知,大回城术town portal的ID正是3A,所以上面两行代码中的第一行的把参数和3A比较,正是看看魔法ID是否等于3A。如果等于,则说明施放的是大回城术;如果不等,则施放的是小回城术,那就跳转。

搞懂了程序流程,修改就简单了。只要将上面2行不起作用,则不管施放的大回城术还是小回城术,都只是调用大回城术的流程,就达到目的了。所以,选中这两行,右键选择binary——edit








把数值改成如图所示即可







改成后是这样的





保存修改就行了。


三、检测一下效果


游戏一下看看,使用小回城术







结果出现了选择城堡对话框





说明修改成功了。


四、修改后的程序下载


https://wwzd.lanzouk.com/b00uygppif

密码:easw

免费评分

参与人数 7吾爱币 +7 热心值 +6 收起 理由
x7032360 + 1 + 1 谢谢@Thanks!
chengdragon + 1 + 1 现在还研究这么老的游戏,看来是真爱啊!感谢分享
lswdla + 1 + 1 谢谢@Thanks!
franklizz + 1 热心回复!
qiaoyong + 1 + 1 热心回复!
Bob5230 + 1 + 1 我很赞同!
wanfon + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
z297171662 发表于 2024-9-26 15:26
非常阔以,我去试试看
3#
dickenshms 发表于 2024-9-26 15:37
4#
lxb566 发表于 2024-9-26 16:11
5#
zx360717966 发表于 2024-9-26 21:48
连这都可以?!厉害!
6#
yizhiyuanmo007 发表于 2024-9-27 08:12
没玩过这个,看起来有点意思
7#
sunshinezero 发表于 2024-9-27 08:24
感谢 分享  
8#
煙花 发表于 2024-9-27 08:26
进来观摩学习一下下
9#
Xistorg 发表于 2024-9-27 08:29
感谢分享
10#
tian780127 发表于 2024-9-27 08:48
高手,围观一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-9-28 23:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表