如何用ai 改变士兵属性,如由探索改为进攻?
如何用ai 改变士兵属性,如由探索改为进攻?谢谢!
本帖最后由 lws735 于 2011-10-27 17:08 编辑
回复 jayly15 的帖子
(defrule
(true)
=>
(set-strategic-number sn-number-explore-groups 100)
(disable-self)
)
(defrule
(players-building-type-count any-enemy town-center > 0)
=>
(set-strategic-number sn-number-explore-groups 0)
)
(defrule
(players-building-type-count any-enemy town-center > 0)
=>
(set-strategic-number sn-percent-attack-soldiers 100)
(attack-now)
)
上面一段语句设置默认生产出来的士兵全部探索地图。(注意后面加了(disable-self),只生效一次)。
中间一段语句设置只要发现任何敌人的城镇中心,士兵全部停止搜索。
下面一段语句设置只要发现任何敌人的城镇中心,士兵全部进攻。
此外www.lws735.ys168.com有AI制作工具包,里面有详细教程。
回复 lws735 的帖子
谢谢了!
还有个想法:能不能让它循环呢?
例如:探索--攻击--探索---攻击…… 完全可以。
(defrule
(players-building-type-count every-enemy town-center < 1)
=>
(set-strategic-number sn-number-explore-groups 100)
)
把最上语句改为上面的就行了。只要发现敌人城镇中心就进攻,找不到就搜索
回复 lws735 的帖子
你的网盘上的教程我也有,就是看不太明。
请你帮忙看看下面的ai , 是否有错。
(defrule
(players-building-type-count every-enemy town-center < 1)
=>
(set-strategic-number sn-number-explore-groups 100)
)
(defrule
(players-building-type-count any-enemy town-center > 0)
=>
(set-strategic-number sn-number-explore-groups 0)
)
(defrule
(players-building-type-count any-enemy town-center > 0)
=>
(set-strategic-number sn-number-attack-groups 2)
(set-strategic-number sn-percent-attack-soldiers 100)
(set-strategic-number sn-task-ungrouped-soldiers 0)
(set-strategic-number sn-group-form-distance 200);
(set-strategic-number sn-enemy-sighted-response-distance 220)
(attack-now)
)
我用它做了一个AI,发现它只会探索,不会攻击。
测试过程:
1、我用我方的城镇围住敌骑兵3人,他们经过城镇中心也没有反应,有时会有一个进行攻击。
2、就算遭到攻击也不反抗。
页:
[1]