标题: 曹操传EXE第四版的补充
性别:男-离线 岱瀛
(deving)

长平侯
川峡东路经略使
监管使

Rank: 19Rank: 19Rank: 19Rank: 19
组别 经略使
级别 左将军
好贴 1
功绩 2293
帖子 1370
编号 55810
注册 2005-12-22
来自 人间
家族 慕容世家


发表于 2007-5-12 00:07 资料 个人空间 短消息 看全部作者


QUOTE:
原帖由 aaa132536 于 2007-5-11 21:36 发表
没,主要是技术太烂,时间不足

可以继续努力嘛


你上次问过先手攻击的事情,这里我可以告诉你思路,可以去参看我对曹操传攻击代码的分析,其实很简单,攻击方和被攻击方的两个参数反过来,就变成先手攻击了。

其实就是一开始的判断问题,作为兵种属性,首先是判断兵种了,如果你想做成宝物属性,那么就判断身上装备的特性了。

然后再判断对方是否和你相邻,相邻怎么判断?每个战场人物的内存信息里面,都有x位置和y位置了。用那个可以判断。不过不用那么麻烦,本身剧本指令有一条相邻测试的指令,调用那一条的对应函数来判断其实就可以了。

属性对了,相邻了,于是就触发了,触发了就是把送进攻击函数的两个参数调转就可以了。

思路就是这样,可以自己研究下,代码嘛,等75的杨家将完整版更新了再说吧。  我还想再触发先发攻击的时候,让被攻击的人说句话,象发动致命那样,不然感觉怪怪的。

代码是死的,思路给楼主,不凡尝试下


顶部
性别:男-离线 岱瀛
(deving)

长平侯
川峡东路经略使
监管使

Rank: 19Rank: 19Rank: 19Rank: 19
组别 经略使
级别 左将军
好贴 1
功绩 2293
帖子 1370
编号 55810
注册 2005-12-22
来自 人间
家族 慕容世家


发表于 2007-5-15 21:31 资料 个人空间 短消息 看全部作者


QUOTE:
原帖由 aaa132536 于 2007-5-12 04:48 发表
郁闷,研究半天一点头绪都没有.好困,要睡了.

代码总要自己研究出来了才有成就感,自己也才会进步嘛。

参数就是epb-8,ebp-c
被攻击方的数据
攻击方的内存地址

-4被攻击方的数据
-8攻击方的内存地址
-c 被攻击方的内存地址
-10 攻击方的Data编号
-14 被攻击方的Data编号


004D0000    55              PUSH EBP
004D0001    8BEC            MOV EBP,ESP
004D0003    83EC 14         SUB ESP,14
004D0006    8B45 0C         MOV EAX,DWORD PTR SS:[EBP+C]
004D0009    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
004D000C    8B45 08         MOV EAX,DWORD PTR SS:[EBP+8]
004D000F    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
004D0012    25 FF000000     AND EAX,0FF
004D0017    6BC0 24         IMUL EAX,EAX,24
004D001A    05 502C4B00     ADD EAX,Ekd5.004B2C50
004D001F    8945 F4         MOV DWORD PTR SS:[EBP-C],EAX
004D0022    8BC8            MOV ECX,EAX
004D0024    E8 47B4F6FF     CALL Ekd5.0043B470                       ; 判断被攻击方的职业
004D0029    3C 01           CMP AL,1
004D002B    75 69           JNZ SHORT Ekd5.004D0096                  ; 兵种不对跳转
004D002D    6A 08           PUSH 8
004D002F    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C]
004D0032    E8 A966F3FF     CALL Ekd5.004066E0                       ; 判断被攻击方的状态
004D0037    85C0            TEST EAX,EAX
004D0039    74 02           JE SHORT Ekd5.004D003D
004D003B    EB 59           JMP SHORT Ekd5.004D0096                  ; 混乱中
004D003D    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004D0040    E8 2BF6F8FF     CALL Ekd5.0045F670
004D0045    8945 F0         MOV DWORD PTR SS:[EBP-10],EAX            ; 攻击方的Data编号
004D0048    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C]
004D004B    E8 20F6F8FF     CALL Ekd5.0045F670
004D0050    8945 EC         MOV DWORD PTR SS:[EBP-14],EAX            ; 被攻击方的Data编号
004D0053    6A 01           PUSH 1
004D0055    FF75 F0         PUSH DWORD PTR SS:[EBP-10]
004D0058    FF75 EC         PUSH DWORD PTR SS:[EBP-14]
004D005B    B9 F05D4B00     MOV ECX,Ekd5.004B5DF0
004D0060    E8 65AFF8FF     CALL Ekd5.0045AFCA                       ; 判断是否相邻
004D0065    85C0            TEST EAX,EAX
004D0067    74 2D           JE SHORT Ekd5.004D0096
004D0069    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004D006C    E8 AFE2F6FF     CALL Ekd5.0043E320                       ; 获取攻击方的朝向
004D0071    25 FF000000     AND EAX,0FF
004D0076    83C0 02         ADD EAX,2
004D0079    83F8 04         CMP EAX,4
004D007C    7C 03           JL SHORT Ekd5.004D0081
004D007E    83E8 04         SUB EAX,4
004D0081    05 002D4B00     ADD EAX,Ekd5.004B2D00
004D0086    50              PUSH EAX
004D0087    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C]
004D008A    E8 E165F3FF     CALL Ekd5.00406670                       ; 设置被攻击方的朝向,使其对准攻击方
004D008F    B8 01000000     MOV EAX,1
004D0094    EB 02           JMP SHORT Ekd5.004D0098
004D0096    33C0            XOR EAX,EAX
004D0098    8BE5            MOV ESP,EBP
004D009A    5D              POP EBP
004D009B    C3              RETN


这就是先手攻击的函数,注释也付上了,怎么加,楼主自己再研究。


顶部
性别:男-离线 岱瀛
(deving)

长平侯
川峡东路经略使
监管使

Rank: 19Rank: 19Rank: 19Rank: 19
组别 经略使
级别 左将军
好贴 1
功绩 2293
帖子 1370
编号 55810
注册 2005-12-22
来自 人间
家族 慕容世家


发表于 2007-5-15 23:13 资料 个人空间 短消息 看全部作者
做宝物属性的,把兵种判断去掉,换成宝物属性就好了。

函数407A09检测武将ecx是否装备特殊效果为08栈的特殊道具

把ecx送进去,把你定义的特殊效果号push进去就OK了。
顶部

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




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

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

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