chifeiyen 发表于 2018-8-25 18:11:51

HD版的AI怎么修改让敌人远程兵不会躲炮弹?

HD(5.7或5.8beta版)的AI,敌人远程兵(比如长弓兵)每个兵都会躲避投石车火炮炮塔的炮弹,很烦人而且不真实。有大神知道怎么修改让他不会躲炮弹吗?

wongyuhua 发表于 2018-8-26 10:10:37

AI控制的不列颠长弓兵的确很讨厌,为了削弱它,我降了它射程与命中率,加快了炮弹的飞行速度。如果要改AI的话,论坛已经有帖子提供方法了:
(defrule
(true)
=>
(set-difficulty-parameter ability-to-dodge-missiles 20);回避投射物的能力
(set-difficulty-parameter ability-to-maintain-distance 20);射手与敌人维持距离的能力
(disable-self)
)
填写的值越小能力越强,为100时完全没有能力
引用自:
https://www.hawkaoe.net/bbs/forum ... =%E8%BA%B2%E9%81%BF

chifeiyen 发表于 2018-8-26 12:00:33

wongyuhua 发表于 2018-8-26 10:10
AI控制的不列颠长弓兵的确很讨厌,为了削弱它,我降了它射程与命中率,加快了炮弹的飞行速度。如果要改AI的 ...

谢谢回答。不过我刚看到HD里的per文件一大堆,那应该改哪个或哪些文件呢?我玩的是HD默认AI(电脑玩家),不是(原版电脑玩家)。带了全部三个DLC。

chifeiyen 发表于 2018-8-26 15:55:26

chifeiyen 发表于 2018-8-26 12:00
谢谢回答。不过我刚看到HD里的per文件一大堆,那应该改哪个或哪些文件呢?我玩的是HD默认AI(电脑玩家) ...
找到了,另外还有一个the horde.per2是什么AI?

wongyuhua 发表于 2018-8-26 19:58:22

chifeiyen 发表于 2018-8-26 15:55
找到了,另外还有一个the horde.per2是什么AI?

据说是旧版的,已经不用了

chifeiyen 发表于 2018-8-27 12:28:11

本帖最后由 chifeiyen 于 2018-8-27 12:31 编辑

wongyuhua 发表于 2018-8-26 19:58
据说是旧版的,已经不用了
谢谢,那个射手与敌人维持距离的能力,改成100是不是AI远程就不会一个个放风筝了?现在连印加枪兵长都会放风筝真是无语。。。

wongyuhua 发表于 2018-8-27 12:45:07

chifeiyen 发表于 2018-8-27 12:28
谢谢,那个射手与敌人维持距离的能力,改成100是不是AI远程就不会一个个放风筝了?现在连印加枪兵长都会放 ...

理论上如此,你试试就知道了。冷兵器时代的投掷物速度慢,躲闪保命是本能,也是本事啊

chifeiyen 发表于 2018-8-27 19:51:42

本帖最后由 chifeiyen 于 2018-8-27 20:42 编辑

wongyuhua 发表于 2018-8-27 12:45
理论上如此,你试试就知道了。冷兵器时代的投掷物速度慢,躲闪保命是本能,也是本事啊 ...
大大,我刚把Promisory.per2里的所有那两条语句都改成100了,但在编辑器里测试长弓兵还是会躲避投石车和火炮的弹道,难道编辑器测试的AI不是用的这个?能麻烦帮我看看吗?

是在你做的那个不会轻易投降的文件基础上改的。。

wongyuhua 发表于 2018-8-28 02:44:05

chifeiyen 发表于 2018-8-27 19:51
大大,我刚把Promisory.per2里的所有那两条语句都改成100了,但在编辑器里测试长弓兵还是会躲避投石车和火 ...

我看到你已经改了
#load-if-defined DIFFICULTY-HARD
(defconst ability-to-dodge 100)
(defconst ability-to-kite 100)

请确认地图编辑器创建场景时勾选了所有扩展包,并且在修改AI之后重启了游戏。最保险的做法是重新创建场景,因为我发现有时改了数据之后,直接测试之前的场景并没有启用新数据

chifeiyen 发表于 2018-8-28 08:57:04

本帖最后由 chifeiyen 于 2018-8-28 09:38 编辑

wongyuhua 发表于 2018-8-28 02:44
我看到你已经改了
#load-if-defined DIFFICULTY-HARD
(defconst ability-to-dodge 100)

好我今天再重测一下,下面还有好几处set-difficulty-parameter ability-to-dodge-missiles的语句,全都要改掉吗?

chifeiyen 发表于 2018-8-28 13:18:30

本帖最后由 chifeiyen 于 2018-8-28 13:25 编辑

chifeiyen 发表于 2018-8-28 08:57
好我今天再重测一下,下面还有好几处set-difficulty-parameter ability-to-dodge-missiles的语句,全都要 ...
里面有两处是这样写的,我没法在missiles和distance后面加数值,加了就无法开始游戏(进去后马上跳回主界面提示error),但不知这里要不要改?如果要改该怎么编写?

chifeiyen 发表于 2018-8-28 23:37:13

wongyuhua 发表于 2018-8-28 02:44
我看到你已经改了
#load-if-defined DIFFICULTY-HARD
(defconst ability-to-dodge 100)

我今天重建场景测试了一下,AI远程倒是不会风筝了。但躲弹道还是会,而且不管选择哪个难度都会,难道这里还用到其他AI文件?还是哪些其他语句需要改?

wongyuhua 发表于 2018-8-29 00:50:43

本帖最后由 wongyuhua 于 2018-8-29 01:11 编辑

chifeiyen 发表于 2018-8-28 13:18
里面有两处是这样写的,我没法在missiles和distance后面加数值,加了就无法开始游戏(进去后马上跳回主界 ...
这两行的作用看上去是在取外号啊,比如第二行把“维持距离的能力”定义为“放风筝的能力”,所以我昨天说看到你改了那几句不是这里

我不清楚自制场景是否用到其他AI(elite petersen),你可以改一下elite petersen difficulty loads.per2再进行测试

chifeiyen 发表于 2018-8-29 02:27:04

wongyuhua 发表于 2018-8-29 00:50
这两行的作用看上去是在取外号啊,比如第二行把“维持距离的能力”定义为“放风筝的能力”,所以我昨天说 ...
我把所有的per2和per文件,还包括ai文件夹和gamedata_x1里的per,只要有那行语言的都改成100了,测试还是不行{:169:},难道是dat数据里面就有设定成这样?
页: [1]
查看完整版本: HD版的AI怎么修改让敌人远程兵不会躲炮弹?