标题:
请问如何将原版CCZ宝物升级经验改成200?
[打印本页]
作者:
武骧金星
时间:
2010-1-15 14:07
标题:
请问如何将原版CCZ宝物升级经验改成200?
因为翻了本坛的N个EXE修改帖子都没找到……只有人物升级经验的修改。
所以想请问一下,原版EXE宝物升级经验是在哪里修改的?谢谢。
作者:
武骧金星
时间:
2010-1-15 14:56
现在知道:宝物升级的经验=普通武器升级经验+加成值
然后代码好像是这样:
004082D9 83EC 18 SUB ESP,18
0040832A ^E9 84E9FFFF JMP 00406CB3 -----跳到空白位置
00406CB3 1BC0 SBB EAX,EAX
00406CB5 8BC8 MOV ECX,EAX
00406CB7 83E0 64 AND EAX,64
00406CBA 83C0 64 ADD EAX,64
00406CBD 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
00406CC0 8BC1 MOV EAX,ECX
00406CC2 83E0 06 AND EAX,6
00406CC5 E9 65160000 JMP 0040832F
0040835B EB 07 JMP SHORT 00408364
0040835D 90 NOP
0040835E 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
00408361 2955 F0 SUB DWORD PTR SS:[EBP-10],EDX
00408364 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
00408367 3955 F0 CMP DWORD PTR SS:[EBP-10],EDX
004695C6 ^E9 FFD6F9FF JMP 00406CCA -----跳到空白位置
00406CCA 8B4D EC MOV ECX,DWORD PTR SS:[EBP-14]
00406CCD 6BC9 19 IMUL ECX,ECX,19
00406CD0 81C1 40114A00 ADD ECX,004A1140
00406CD6 E8 935A0000 CALL 0040C76E
00406CDB 33C9 XOR ECX,ECX
00406CDD 85C0 TEST EAX,EAX
00406CDF 74 03 JE SHORT 00406CE4
00406CE1 83C9 64 OR ECX,64
00406CE4 83C1 64 ADD ECX,64
00406CE7 51 PUSH ECX
00406CE8 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30]
00406CEB E9 DB280600 JMP 004695CB
004701BE ^E9 2D6BF9FF JMP 00406CF0 -----跳到空白位置
00406CF0 8B45 CC MOV EAX,DWORD PTR SS:[EBP-34]
00406CF3 33C9 XOR ECX,ECX
00406CF5 8A48 24 MOV CL,BYTE PTR DS:[EAX+24]
00406CF8 6BC9 19 IMUL ECX,ECX,19
00406CFB 81C1 40114A00 ADD ECX,004A1140
00406D01 E8 685A0000 CALL 0040C76E
00406D06 33D2 XOR EDX,EDX
00406D08 85C0 TEST EAX,EAX
00406D0A 74 03 JE SHORT 00406D0F
00406D0C 83CA 64 OR EDX,64
00406D0F 83C2 64 ADD EDX,64
00406D12 8B4D CC MOV ECX,DWORD PTR SS:[EBP-34]
00406D15 E9 A9940600 JMP 004701C3
004701C3 52 PUSH EDX
004701C4 52 PUSH EDX
0047771E ^E9 F7F5F8FF JMP 00406D1A -----跳到空白位置
00406D1A 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00406D1D 52 PUSH EDX
00406D1E 8B4D 10 MOV ECX,DWORD PTR SS:[EBP+10]
00406D21 E8 CAF8FFFF CALL 004065F0
00406D26 33C9 XOR ECX,ECX
00406D28 8AC8 MOV CL,AL
00406D2A 6BC9 19 IMUL ECX,ECX,19
00406D2D 81C1 40114A00 ADD ECX,004A1140
00406D33 E8 365A0000 CALL 0040C76E
00406D38 33C9 XOR ECX,ECX
00406D3A 85C0 TEST EAX,EAX
00406D3C 74 03 JE SHORT 00406D41
00406D3E 83C9 64 OR ECX,64
00406D41 83C1 64 ADD ECX,64
00406D44 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00406D47 E9 D7090700 JMP 00477723
00477723 51 PUSH ECX
00477724 51 PUSH ECX
004501A7 ^E9 E46AFBFF JMP 00406C90 -----跳到空白位置
00406C90 6A 00 PUSH 0
00406C92 8B4D C4 MOV ECX,DWORD PTR SS:[EBP-3C]
00406C95 E8 E6290000 CALL 00409680
00406C9A 25 FF000000 AND EAX,0FF
00406C9F 8945 B4 MOV DWORD PTR SS:[EBP-4C],EAX
00406CA2 6A 00 PUSH 0
00406CA4 8B4D C4 MOV ECX,DWORD PTR SS:[EBP-3C]
00406CA7 E8 44F9FFFF CALL 004065F0
00406CAC 33C9 XOR ECX,ECX
00406CAE E9 F9940400 JMP 004501AC
004501AC 8AC8 MOV CL,AL
004501AE 6BC9 19 IMUL ECX,ECX,19
004501B1 81C1 40114A00 ADD ECX,004A1140
004501B7 E8 B2C5FBFF CALL 0040C76E
004501BC 33D2 XOR EDX,EDX
004501BE 85C0 TEST EAX,EAX
004501C0 74 03 JE SHORT 004501C5
004501C2 83CA 64 OR EDX,64
004501C5 83C2 64 ADD EDX,64
004501C8 8B45 B4 MOV EAX,DWORD PTR SS:[EBP-4C]
004501CB 8B4D 1C MOV ECX,DWORD PTR SS:[EBP+1C]
004501CE 03C8 ADD ECX,EAX
004501D0 3BCA CMP ECX,EDX
004501D2 76 05 JBE SHORT 004501D9
0045020B ^E9 5D6AFBFF JMP 00406C6D -----跳到空白位置
00406C6D 6A 01 PUSH 1
00406C6F 8B4D C4 MOV ECX,DWORD PTR SS:[EBP-3C]
00406C72 E8 092A0000 CALL 00409680
00406C77 25 FF000000 AND EAX,0FF
00406C7C 8945 B4 MOV DWORD PTR SS:[EBP-4C],EAX
00406C7F 6A 01 PUSH 1
00406C81 8B4D C4 MOV ECX,DWORD PTR SS:[EBP-3C]
00406C84 E8 67F9FFFF CALL 004065F0
00406C89 33C9 XOR ECX,ECX
00406C8B E9 80950400 JMP 00450210
00450210 8AC8 MOV CL,AL
00450212 6BC9 19 IMUL ECX,ECX,19
00450215 81C1 40114A00 ADD ECX,004A1140
0045021B E8 4EC5FBFF CALL 0040C76E
00450220 33D2 XOR EDX,EDX
00450222 85C0 TEST EAX,EAX
00450224 74 03 JE SHORT 00450229
00450226 83CA 64 OR EDX,64
00450229 83C2 64 ADD EDX,64
0045022C 8B45 B4 MOV EAX,DWORD PTR SS:[EBP-4C]
0045022F 8B4D 20 MOV ECX,DWORD PTR SS:[EBP+20]
00450232 03C8 ADD ECX,EAX
00450234 3BCA CMP ECX,EDX
00450236 76 05 JBE SHORT 0045023D
问题是看不太明白哪个64是普通武器经验,哪个64是加成值
作者:
向我开炮
时间:
2010-1-15 15:06
形象指定器里全局设置不可以吗
作者:
godtype
时间:
2010-1-15 15:32
add 的是普通。
不过现在都不用了,改成
0040911C |. E8 4D360000 CALL Ekd5.0040C76E
00409121 |. 33D2 XOR EDX,EDX
00409123 |. 85C0 TEST EAX,EAX
00409125 |. 74 07 JE SHORT Ekd5.0040912E
00409127 |. 80C2 C8 ADD DL,0C8
0040912A |. B0 09 MOV AL,9
0040912C |. EB 05 JMP SHORT Ekd5.00409133
0040912E |> 80C2 64 ADD DL,64
00409131 |. B0 03 MOV AL,3
作者:
武骧金星
时间:
2010-1-15 15:45
还是看不明白。
一共用了三个寄存器,EAX,ECX,EDX。
但是这三个寄存器经过这么一计算结果似乎都是200呀
但是经过修改发现似乎把ADD 64的代码去掉后,所有道具升级经验都是0了……
能不能更清楚地解释一下?谢谢。
作者:
godtype
时间:
2010-1-15 15:52
你暂时先用旧的代码改吧,新的等我更新之后去看409114,以及调用409114的相关地方。
作者:
武骧金星
时间:
2010-1-15 15:57
哦啊,我就是看不懂旧的代码啊。
最主要的问题是不知道究竟是哪里判断是普通道具还是宝物的……
作者:
godtype
时间:
2010-1-15 16:04
普通的就是ADD 开头的那6条。
作者:
武骧金星
时间:
2010-1-15 16:07
标题:
回复 #8 godtype 的帖子
那么,那些代码是确定宝物的升级经验呢?
作者:
武骧金星
时间:
2010-1-15 16:26
倒是有结论了:只要吧ADD前的一个命令改掉就可以实现宝物升级经验100了,但是还是完全不明白原因。
比如说第一个:
AND EAX 64
ADD EAX 64
能不能解释一下这条代码究竟是如何运作的呢?先将EAX改成00000064,然后再+64变成000000C8?既然如此和直接将EAX改成000000C8有什么区别?
谢谢。
作者:
武骧金星
时间:
2010-1-15 16:32
还有就是不明白为什么普通道具的升级要有六个代码来控制呢?
作者:
godtype
时间:
2010-1-15 16:45
旧的代码就不要再研究了,要问也应该问最早改出来的人,所以后来STAR才改用了现在的代码,我是顺手拿过来用。
至于为什么要改6个地方,每条函数都有不同的用途,等你了解清楚就会明白了。
作者:
武骧金星
时间:
2010-1-15 16:56
……我贴的代码不是你的修改笔记吗?这个帖子现在在斩监侯。当时有人问,然后你就贴了这么一些代码……但是也没有做解释。
不过既然你这么说那我觉得也有道理。那么,不管是宝物升级经验也好,普通物品升级经验也好,都是要同时更改六处的代码对吗?如果是对的那我就不深究了。谢谢。
作者:
godtype
时间:
2010-1-15 17:32
那些笔记都是从别人的EXE里面抄过来的,当时也不太明白,反正就知道六个地方都要改,涉及很多内容,点击查看资料、实战升级等。
欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/)
Powered by Discuz! 5.0.0