2011-3-26 10:48
tydea
怎样让敌方,不用焦灼这个策略?
2011-3-26 10:55
godtype
回复 #61 tydea 的帖子
雪芸的EXE修改教程有写,AI使用策略部分。
2011-3-26 11:07
tydea
回复 #62 godtype 的帖子
找到了……不过不知道焦灼的地址在哪……
2011-3-26 11:19
godtype
回复 #63 tydea 的帖子
按策略顺序排列。
2011-4-4 18:27
tydea
毅哥……无论什么职业,用物理攻击和策略都增加武器经验的,在哪改?
记得问过你,突然找不到了……
2011-4-4 18:38
godtype
回复 #65 tydea 的帖子
00403A06 |. 74 05 JE SHORT 00403A0D
改成JMP
2011-4-9 17:05
tydea
回复 #66 godtype 的帖子
多谢毅大,不过这个只是文官用普通攻击的时候,增加武器经验。
请问武将用策略的时候,也增加武器经验,哪个。。
2011-4-9 17:34
godtype
回复 #67 tydea 的帖子
004212EA |. 74 08 JE SHORT 004212F4
改成JMP
2011-4-15 19:06
aaa132536
00406539 |. 8B4D FC |MOV ECX,DWORD PTR SS:[EBP-4]
0040653C |. E8 C2F8FFFF |CALL Ekd5.00405E03 攻击伤害函数
毅兄这是输入攻击伤害函数的入口,这个函数我只知道传入一个参数ECX:内存地址004927F0,那攻击方武将代码与被攻击方武将代码有没有作为参数传入哦。
[color=Silver][[i] 本帖最后由 aaa132536 于 2011-4-15 19:08 编辑 [/i]][/color]
2011-4-15 19:24
godtype
回复 #69 aaa132536 的帖子
[url]http://www.xycq.net/forum/thread-124674-1-1.html[/url]
如果没有看过,先看一下;如果看过,看不明白我再解释。
2011-4-15 20:05
aaa132536
这个看过了,我上面代码就是从那边来的,不过里面只有岱大有解释的代码看明白,其他的都是一知半解的,呵呵。
2011-4-16 09:51
godtype
AI攻击
[font=宋体]0043AC2F |. 8A45 F8 MOV AL,BYTE PTR SS:[EBP-8]
0043AC32 |. 50 PUSH EAX[color=DarkOrange] <——被攻击方的战场编号压入0C栈[/color]
0043AC33 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
0043AC36 |. 8A51 04 MOV DL,BYTE PTR DS:[ECX+4]
0043AC39 |. 52 PUSH EDX[color=DarkOrange] <——攻击方的战场编号压入08栈[/color]
0043AC3A |. B9 F0274900 MOV ECX,004927F0
0043AC3F |. E8 ADB8FCFF CALL 004064F1[/font]
玩家点击攻击
[font=宋体]0043DB3E |. 8A45 F8 MOV AL,BYTE PTR SS:[EBP-8]
0043DB41 |. 50 PUSH EAX[color=DarkOrange] <——被攻击方的战场编号压入0C栈[/color]
0043DB42 |. 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C]
0043DB45 |. 8A51 04 MOV DL,BYTE PTR DS:[ECX+4]
0043DB48 |. 52 PUSH EDX[color=DarkOrange] <——攻击方的战场编号压入08栈[/color]
0043DB49 |. B9 F0274900 MOV ECX,004927F0
0043DB4E |. E8 9E89FCFF CALL 004064F1[/font]
反击
004064DA |. 8A02 MOV AL,BYTE PTR DS:[EDX]
004064DC |. 50 PUSH EAX[color=DarkOrange] <——原攻击方的战场编号压入0C栈变成被攻击方[/color]
004064DD |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
004064E0 |. 8A51 01 MOV DL,BYTE PTR DS:[ECX+1]
004064E3 |. 52 PUSH EDX[color=DarkOrange] <——原被攻击方的战场编号压入08栈变成攻击方[/color]
004064E4 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10][color=DarkOrange] <——4927F0[/color]
004064E7 |. E8 05000000 CALL 004064F1
另外还有两个地方是引导攻击的,不贴了,分别在AI攻击和玩家点击攻击的下面。
[font=宋体]004064F1 /$ 55 PUSH EBP
004064F2 |. 8BEC MOV EBP,ESP
004064F4 |. 51 PUSH ECX
004064F5 |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
004064F8 |. 8A45 0C MOV AL,BYTE PTR SS:[EBP+C]
004064FB |. 50 PUSH EAX ; /Arg2
004064FC |. 8A4D 08 MOV CL,BYTE PTR SS:[EBP+8] ; |
004064FF |. 51 PUSH ECX ; |Arg1
00406500 |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] ; |
00406503 |. E8 F4FCFFFF CALL 004061FC
4061FC会将攻防双方的战场编号存入4927F0开始的各个内存位置中,再经过各种计算算出攻击处理所需要的一系列数据存进内存中,后面的各种处理就可以直接从4927F0+XX中读出使用。
00406508 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0040650B |. C682 08060000 >MOV BYTE PTR DS:[EDX+608],0
00406512 |. EB 15 JMP SHORT 00406529
00406514 |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4]
00406517 |. 8A88 08060000 |MOV CL,BYTE PTR DS:[EAX+608]
0040651D |. 80C1 01 |ADD CL,1
00406520 |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
00406523 |. 888A 08060000 |MOV BYTE PTR DS:[EDX+608],CL
00406529 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0040652C |. 33C9 |XOR ECX,ECX
0040652E |. 8A88 08060000 |MOV CL,BYTE PTR DS:[EAX+608]
00406534 |. 83F9 02 |CMP ECX,2
00406537 |. 7D 28 |JGE SHORT 00406561
00406539 |. 8B4D FC |MOV ECX,DWORD PTR SS:[EBP-4]
0040653C |. E8 C2F8FFFF |CALL 00405E03
00406541 |. 8B4D FC |MOV ECX,DWORD PTR SS:[EBP-4]
00406544 |. E8 FBF1FFFF |CALL 00405744
00406549 |. 8B4D FC |MOV ECX,DWORD PTR SS:[EBP-4]
0040654C |. E8 38F3FFFF |CALL 00405889
00406551 |. 8B4D FC |MOV ECX,DWORD PTR SS:[EBP-4]
00406554 |. E8 28FCFFFF |CALL 00406181
00406559 |. 85C0 |TEST EAX,EAX
0040655B |. 75 02 |JNZ SHORT 0040655F
0040655D |. EB 02 |JMP SHORT 00406561
0040655F |>^EB B3 \JMP SHORT 00406514
00406561 |> 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
00406564 |. E8 03F7FFFF CALL 00405C6C
00406569 |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
0040656C |. E8 29FEFFFF CALL 0040639A
00406571 |. 8BE5 MOV ESP,EBP
00406573 |. 5D POP EBP
00406574 \. C2 0800 RETN 8[/font]
[color=Silver][[i] 本帖最后由 godtype 于 2011-4-16 09:52 编辑 [/i]][/color]
2011-4-16 12:05
aaa132536
谢谢毅兄,我好好学习下
2011-4-16 23:21
tydea
曹操传里面的自动存档,读档后都是在结束回合前的状态上继续的。
若是都行动过了,再读档,觉得很没意义。
所以能不能把它改成:读档后是从我方行动前开始。这样就有意义多了。。
2011-4-17 08:30
godtype
[quote]原帖由 [i]tydea[/i] 于 2011-4-16 23:21 发表
曹操传里面的自动存档,读档后都是在结束回合前的状态上继续的。
若是都行动过了,再读档,觉得很没意义。
所以能不能把它改成:读档后是从我方行动前开始。这样就有意义多了。。 [/quote]
没有研究过,理论上可行,等有时间再说。
2011-4-17 08:31
godtype
谢谢各位一直以来的支持,暂时停止解释,再开时间待定。
2011-4-17 08:56
513633522
谢谢毅大对我们的帮助,等待再开的时间:hz1024:
2024-9-30 10:15
okokwori
灌水刷权限
页:
1
[2]
Powered by Discuz! Archiver 5.0.0
© 2001-2006 Comsenz Inc.