标题: 请毅兄指点下,谢谢
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-30 01:22 资料 短消息 看全部作者
请毅兄指点下,谢谢

我刚完成两个特性:

抛射:原地攻击时弓的最大射程+1
骑射:移动后攻击弓的最大射程+1

但AI进行攻击时还只是按原来的攻击范围攻击,不会按特性修正后的攻击范围攻击,请问下毅兄要怎么改才能使AI按特性修正后的攻击范围攻击,谢谢


顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-30 12:46 资料 短消息 看全部作者
回复 #2 godtype 的帖子

哦,谢谢


顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-30 13:31 资料 短消息 看全部作者
回复 #2 godtype 的帖子

恩,毅兄,能不能给个提示,关于AI判定攻击范围时的代码地址在哪里。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-30 19:50 资料 短消息 看全部作者
回复 #5 godtype 的帖子

但如果直接读取攻击范围函数的话,AI好像只会按现有攻击范围来计算,不会考虑移动后特性(抛射、骑射)修正的攻击范围。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-31 02:37 资料 短消息 看全部作者
AI进行选择时是调用
00438965  /$  55                          push ebp
00438966  |.  8BEC                        mov ebp,esp
00438968  |.  83EC 14                     sub esp,14
0043896B  |.  894D EC                     mov dword ptr ss:[ebp-14],ecx
0043896E  |.  8B4D EC                     mov ecx,dword ptr ss:[ebp-14]
00438971  |.  E8 486F0000                 call Ekd5.0043F8BE

这个函数吧,不过AI进行选择时是默认不移动的,测试有没有抛射、骑射特性无意义,这个代码要怎么写才能代人抛射、骑射特性呢。若代码写成有抛射特性的判定时攻击范围-1,有骑射特性的判定时攻击范围+1,但若AI原址攻击时怎么办。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-31 09:55 资料 短消息 看全部作者
AI在进行选择攻击对象时,应该是在自己可移动步数+攻击范围内选的,这样若AI选择的攻击对象自己在原地就可攻击到则跳过,若需要移动后才能攻击到,则加入特性(抛射、骑射)修正攻击范围。那AI选择攻击对象时需移动几步这段代码地址在哪里哦。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-3-31 12:08 资料 短消息 看全部作者
回复 #11 godtype 的帖子

哦,我还是放弃那两个特性吧,涉及AI的事都是太麻烦的
顶部

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




当前时区 GMT+8, 现在时间是 2024-11-26 22:04
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

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

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