标题: 水木版曹操传兵种特效
性别:未知-离线 okokwori

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 仁勇校尉
功绩 2
帖子 155
编号 509888
注册 2015-1-20


发表于 2017-8-15 18:14 资料 短消息 只看该作者
水木版曹操传兵种特效

最近无聊在添加兵种特效,论坛里发现了反击后反击的兵种特效
原版的反击后反击宝物特效的是这样的:
004063D6  |. 6A 28          PUSH 28  <——特效号
004063D8  |. 8B4D FC        MOV ECX,DWORD PTR SS:[EBP-4]
004063DB  |. E8 90920500    CALL 0045F670
004063E0  |. 8BC8           MOV ECX,EAX
004063E2  |. 6BC9 48        IMUL ECX,ECX,48
004063E5  |. 81C1 681B4A00  ADD ECX,004A1B68  <——计算出来的武将数据内存起始地址
004063EB  |. E8 19160000    CALL 00407A09  <——判断武将身上是否带有指定特效号的装备
004063F0  |. 85C0           TEST EAX,EAX
004063F2  |. 75 0F          JNZ SHORT 00406403  <——判断出武将身上带有反击后反击的宝物特效装备,跳到406403

将原来的代码修改如下(肯定不够位置,需要另外找空位置跳过改好再跳回来)
MOV ECX,DWORD PTR SS:[EBP-4]
CALL 0045F670
MOV ECX,EAX
IMUL ECX,ECX,48
ADD ECX,004A1B68
CALL 406610
CMP AL,XX  <——XX就是兵种编号
JE 406403
PUSH 28
CALL 00407A09
TEST EAX,EAX
JNZ SHORT 00406403

如上更改后发现所有兵种都变成反击后反击了,有没有大大帮忙指点一下,哪里错了?还有跳转空白的汇编是要从哪里改的?我是从原地址的6A 28改的 对吗?


顶部

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




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

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

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