标题: EXE补充研究及修改, Van太守打造
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2005-7-8 23:02 资料 主页 文集 短消息 只看该作者
EXE补充研究及修改

以下所有均为内存中偏移,改文件时减去400C00即可

1、音轨扩充
物理限制上限255(内存中用1个字节存放)
上限22判断代码:.text:004745B8                 cmp     [ebp+arg_0], 16h
一些音轨调用:
.text:00448ABE                 call    sub_4745FE      ; 10
.text:00448ABE                 call    sub_4745FE      ; 10
.text:004312E7                 call    sub_4745FE      ; 10h
.text:0041BFB1                 call    sub_4745FE      ; 12h
.text:00445953                 call    sub_4745FE      ; 14h
.text:00444FC9                 call    sub_4745FE      ; 15h

2、音效扩充
相关处理函数:sub_474777
物理限制上限:各100(文件名中只允许2位数字)
上限判断代码:
.text:004748D8                 cmp     [ebp+WavFileIndex], 2Bh
.text:0047488C                 cmp     [ebp+WavFileIndex], 89h
.text:00474834                 cmp     [ebp+WavFileIndex], 0D1h

3、场景
内场景起始PicIndex
.text:0040BCE8                 add     dl, 28h
大地图起始PicIndex
.text:0040BD3D                 add     cl, 72h

[ 本帖最后由 东方无翼 于 2006-10-9 17:34 编辑 ]


精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2005-7-8 23:12 资料 主页 文集 短消息 只看该作者
4、致命一击台词
特殊台词对应表:
dword_48B230
Len=21bytes*4:
text:0040C052                 cmp     [ebp+var_8], 15h
格式:Table[0]包含使用特殊台词1的武将Index
Table[1]包含使用特殊台词2的武将Index,以下类推
将其改成FFFFFFFF,则此特殊台词不会在游戏中出现
因为此Table后无空闲空间,所以扩充的时候需要改动地址

所有人都不使用特殊台词的修改法:
.text:0040C06F                 cmp     [ebp+var_4], 0FFFFh
将此句删除即可


精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2005-7-8 23:51 资料 主页 文集 短消息 只看该作者
5、特殊音效
复活时的声音调用
.text:0045931C                 call    mPlayWav_not?_0_Play ; 2a
武将出现的声音调用
.text:0045723E                 call    mPlayWav_not?_0_Play ; 2a

判断是否是木偶的函数
sub_4573C1
a、武将编号
.text:004573E4                 cmp     [ebp+CharIndex], 0A2h
.text:004573EB                 jb      short loc_4573FF
.text:004573ED                 cmp     [ebp+CharIndex], 0A9h
.text:004573F4                 ja      short loc_4573FF
b、兵种
.text:00457407                 cmp     eax, 31h
.text:00457415                 cmp     ecx, 32h
两个判断是或的关系

6、人物上限
基本上不可能,因为内存里所有数据是连续存放的,武将数据在中间,扩展的话必然需要将其移至其它地址。这样就算未扩展,光修改偏移就有240多处,工程量太大
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2005-7-9 00:56 资料 主页 文集 短消息 只看该作者
7、物理伤害公式改动
物理伤害=[(地形修正的攻方攻击力-地形修正的守方防御力)/2+攻方等级*1.5+25]*(1+兵种相克)。

在0043BD39 之前插入lea eax,[eax*2+eax](3个字节,8D0440);shr eax,1(两个字节,D1E8)
然后对后面的代码做如下修改:(//表示删去,*表示改动)
.text:0043BD39                 add     eax, 19h
.text:0043BD3C                 //mov     [ebp+var_4], eax(节省3个字节)
.text:0043BD3F                 *mov     ecx, [ebp+var_20]
.text:0043BD42                 *cmp     ecx, [ebp+var_10]
.text:0043BD45                 jb      short loc_43BD59(需修改跳转偏移)
.text:0043BD47                 //mov     ecx, [ebp+var_20](节省3个字节)
.text:0043BD4A                 sub     ecx, [ebp+var_10]
.text:0043BD4D                 shr     ecx, 1
.text:0043BD4F                 //mov     edx, [ebp+var_4](节省3个字节)
.text:0043BD52                 *add     eax, ecx
.text:0043BD54                 *mov     [ebp+var_4], eax
.text:0043BD57                 jmp     short loc_43BD7E(需修改跳转偏移)
.text:0043BD59
.text:0043BD59
.text:0043BD59 loc_43BD59:                             ; CODE XREF: mAttHurt+FAj
.text:0043BD59                 *mov     ecx, [ebp+var_10]
.text:0043BD5C                 *sub     ecx, [ebp+var_20]
.text:0043BD5F                 *shr     ecx, 1
.text:0043BD61                 *push    ecx
.text:0043BD62                 //mov     ecx, [ebp+var_4](节省3个字节)
.text:0043BD65                 *push    eax
.text:0043BD66                 call    subwithlbound
.text:0043BD6B                 add     esp, 8
.text:0043BD6E                 mov     [ebp+var_4], eax
.text:0043BD71                 cmp     [ebp+var_4], 0
.text:0043BD75                 jnz     short loc_43BD7E
.text:0043BD77                 mov     [ebp+var_4], 1
0043BD6E开始的那些代码可以写成
test eax,eax
sete al
mov     [ebp+var_4], eax
这样可以节省9字节

当然最好是重写,直接利用js来跳转,这样可以获得更多的剩余地址用于物理攻击公式的改写
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2005-7-13 12:58 资料 主页 文集 短消息 只看该作者
6 这个同样需要扩充内存空间。原来存放的地址是:
.data:004B09F0 gCharMustInBf   dd 5 dup(?)
.data:004B0A04 gCharMustNotInBf   dd 5 dup(?)
供选择出场人物
.data:004B5EE0 dword_4B5EE0    dd 1Fh dup(?)
实际出场人物(15个)
.data:0048B350 gCharIndexInBattle_Self

一些比较
.text:0041858E                 cmp     ecx, 5
.text:004185B2                 cmp     eax, 5
.text:004185EB                 cmp     ecx, 5
.text:00418766                 cmp     ecx, 5
.text:0041878D                 cmp     ecx, 5

不过这样剧本内的结构就变掉了,也是很麻烦的

20 那个只是设个状态位而已,实现不了什么功能

39要改升级的核心函数,改得会比较多
比如要加个判断,分别处理
for(i=0;i<LvAdd;i++)和for(i=LvAdd;i<0;i++)

36这种是苦力活
偏移是loc_411414,那个类型放在ecx中
精华帖
顶部
性别:男-离线 habashihumin
(abiao)

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 4
编号 71101
注册 2006-6-3
来自 11111111111


发表于 2006-6-3 11:44 资料 短消息 只看该作者 QQ
回复 #5 van 的帖子

好麻烦,我看不懂,能否简单点
精华帖
顶部
性别:未知-离线 hadeswwy
(月晓)

白衣伯爵
谏议大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
护军
组别 翰林学士
级别 安北将军
好贴 1
功绩 573
帖子 2603
编号 57601
注册 2006-1-16
来自 天府异地
家族 轩辕学院


作的补充如果涉及在广点就好了.
精华帖
顶部
性别:男-离线 忆云哉

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 8
编号 72365
注册 2006-6-12


发表于 2006-6-13 22:40 资料 短消息 只看该作者
佤系新人,不大懂呵,准备做个小MOD,不知要弄什么题材
精华帖
顶部
性别:未知-离线 27141083

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 17
编号 40718
注册 2005-6-11


发表于 2006-6-15 18:01 资料 短消息 只看该作者
本人水平有限,一头雾水

精华帖
顶部
性别:男-离线 神源拓也
(神源拓也)

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 45
编号 211960
注册 2007-9-6


发表于 2007-9-25 18:07 资料 短消息 只看该作者 QQ
支持,我回去看看,试一下
精华帖
顶部
性别:未知-离线 jjohnson

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 8
编号 89427
注册 2006-10-31


发表于 2008-2-3 10:14 资料 短消息 只看该作者
请问是用什么工具
精华帖
顶部
性别:未知-离线 wuliliu

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 143
编号 32522
注册 2005-2-12
家族 轩辕学院


发表于 2008-2-3 11:23 资料 短消息 只看该作者
VAN大把策略公式修改的地方也放出来吧..
精华帖
顶部
性别:男-离线 longxinghen
(君棣侯)

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 40
编号 274185
注册 2008-4-8


发表于 2008-5-2 16:05 资料 短消息 只看该作者
能不能在简单一点阿
精华帖
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-7-8 02:18
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.013961 second(s), 10 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP