三毛 发表于 2007-11-17 16:35:34

[求助]卧龙先生,又来麻烦您老人家了。

是这样的,比如玩家2玩家3分别占据A地和B地。用触发把两地的士兵各自指派到对方的阵地中,但两军在途中相遇的时候士兵不会主动去攻击敌人,而是和敌人擦肩而过。请问下用AI能 不能帮我解决这个问题?

_CCC_大智 发表于 2007-11-17 17:56:42

两个办法。
现假设要从A到B。可以在B地某个无法接近的角落放A的建筑B的兵,让B兵打A建筑,然后调高A的士兵反应距离(这个你应该会了吧?),应该就会过去“防守”,我记得防守的兵是路上见人就砍的。这个方法我还没有试过,你试试看。

另外,还可以用策略值进攻。以前测试我的DF2 AI时发现的“BUG”(没有用ATTACK-NOW居然会自己进攻),查出原因后发现是个很有用的效果,记得当时还在这里发了一贴。《海蓝I》里守卫科堡的那一小段,敌人就是用这种方法进攻的,看起来效果还不错。
这个是《海蓝I》的策略进攻AI:

;用策略值攻击
(defrule
    (event-detected trigger 6)
=>
    (set-strategic-number sn-number-attack-groups 15)
    (set-strategic-number sn-maximum-attack-group-size 40)
    (set-strategic-number sn-enemy-sighted-response-distance 100)
    (set-strategic-number sn-percent-attack-soldiers 100)
    (acknowledge-event trigger 6)
)
(defrule   ;策略值进攻停止
    (event-detected trigger 7)
=>
    (set-strategic-number sn-number-attack-groups 0)
    (set-strategic-number sn-maximum-attack-group-size 0)
    (set-strategic-number sn-percent-attack-soldiers 0)
    (set-strategic-number sn-enemy-sighted-response-distance 0)
    (set-strategic-number sn-task-ungrouped-soldiers 0)
    (acknowledge-event trigger 7)
)

你可以试试看,把AI帖进去,然后触发发出信号6就开始攻击,发出信号7就停止攻击。(信号数还有一些具体的东西你可以根据需要自己改)

三毛 发表于 2007-11-18 19:51:37

不是。是这样的,我是用触发产生双方的士兵,然后让他们各自冲进对方的阵营。我只要他们在路上相遇的时候会攻击,然后不管在没有敌人的时候又会执行我的触发命令,冲进对方的阵营。这AI能实现吗

_CCC_大智 发表于 2007-11-18 21:27:32

如果一定要用触发控制,那我就没办法了。
但如果只是要冲向某个营地,并攻击半路碰到的兵,2楼的办法应该是可以的。

CQJ-丝丝记忆 发表于 2007-11-19 10:53:02

卧龙先生看来比王孙,我,qs都惨,我们还只是偶尔被人称之为"大叔",卧龙先生则已经成为"老人家"了...

卧龙先生 发表于 2007-11-20 18:00:36

不允许三毛叫我老人家,我还年轻,身旁美女无数....:lol嘻嘻……

关于你的问题,我记得 Attack 并不会在中途攻击敌人啊.你试验一下 Attack-now 的效果看看再说...

论坛升级,感觉很好:)

旧王孙 发表于 2007-11-20 20:30:04

特批。本论坛除了火箭筒大哥外,卧龙先生也可以称老人家

_CCC_大智 发表于 2007-11-20 22:14:47

原帖由 卧龙先生 于 2007-11-20 18:00 发表 https://www.hawkaoe.net/bbs/images/common/back.gif
我还年轻,身旁美女无数....:lol嘻嘻……

难怪那么久没见老哥浮上来~11

三毛 发表于 2007-11-21 14:00:27

11,尊法旨。

这个问题我已经用触发解决了。麻烦各位啦``
页: [1]
查看完整版本: [求助]卧龙先生,又来麻烦您老人家了。