轩辕春秋文化论坛 » 曹操传MOD制作交流 » 请帮忙看看以下代码哪里出了问题


2010-2-20 13:05 武骧金星
请帮忙看看以下代码哪里出了问题

代码目标:将《精忠报国岳飞传》中对吸血攻击特效的判断改为对金兀术ID的判断

00405C6C   $  55            PUSH EBP                                       //子程序开始
00405C6D   .  8BEC          MOV EBP,ESP
00405C6F   .  83EC 10       SUB ESP,10
00405C72   .  894D FC       MOV DWORD PTR SS:[EBP-4],ECX
00405C75   .  33C9          XOR ECX,ECX
00405C77   .  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
00405C7A   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00405C7D   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00405C80   .  51            PUSH ECX
00405C81   .  E8 F7610000   CALL Ekd5.0040BE7D                    //获取武将08栈的DATA序号
00405C86   .  83F8 01       CMP EAX,1                                      //金兀术的DATA序号=1
00405C89   .  0F85 51360000 JNZ Ekd5.004092E0                     //如果不是金兀术,跳转
00405C8F   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]      
00405C92   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00405C95   .  E8 81150000   CALL Ekd5.0040721B                    //获取武将最大血量,以后就是吸血效果代码了,因此省略

我估计是00405C86的代码:CMP EAX,1 可能出了问题……能否请方家指教一下?谢谢。

2010-2-20 13:16 武骧金星
对了,这是原来的代码,可以用于比较:

00405C6C   $  55            PUSH EBP
00405C6D   .  8BEC          MOV EBP,ESP
00405C6F   .  83EC 10       SUB ESP,10
00405C72   .  894D FC       MOV DWORD PTR SS:[EBP-4],ECX
00405C75   .  33C9          XOR ECX,ECX
00405C77   .  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
00405C7A   .  6A 3A         PUSH 3A                                            //检查武将是否带有效果为3A的装备
00405C7C   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]            
00405C7F   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]           
00405C82   .  E8 821D0000   CALL Ekd5.00407A09                  
00405C87   .  85C0          TEST EAX,EAX
00405C89   .  0F84 51360000 JE Ekd5.004092E0
00405C8F   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00405C92   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00405C95   .  E8 81150000   CALL Ekd5.0040721B

2010-2-20 15:28 majiming
用OD一句句跟踪看看不就知道错在哪了

2010-2-20 16:15 godtype

00405C80   .  51            PUSH ECX
00405C81   .  E8 F7610000   CALL Ekd5.0040BE7D
改成
CALL 409500
试一下

2010-2-21 01:50 武骧金星
完全不行……

我也想用OD来调试啊,但是说岳的EKD5.e5是不能直接运行的啊……

2010-2-21 08:07 武骧金星
歹势,经过仔细调查,发现是在改先手攻击时和吸血攻击发生冲突了……

抱歉浪费了BZ那么多时间。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.