Ikarus 发表于 2009-11-10 21:39:36

Ai不只为对战服务
对于Hawk,战役Ai显得更加重要…

老胡V1 发表于 2009-11-10 21:48:11

突然记得了…事件名字是(event-detected XX XX)XX里不记得要填入什么了…

老胡V1 发表于 2009-11-10 21:50:29

其实用巡逻也是可以的哦…

Ikarus 发表于 2009-11-10 21:52:09

但是兵一定要是新产生的。因为那条道还需要玩家人先过,敌人再追上来

老胡V1 发表于 2009-11-10 21:59:45

分几个阶段指派目标任务…或者用自我驻扎…奇怪…我怎么尽是用触发解决…

Ikarus 发表于 2009-11-10 22:14:12

我想用Ai,当然问你…结果你告诉我隐身抖蓬…那个不想用的啊…

老胡V1 发表于 2009-11-10 22:25:26

哦…不过我也说过用AI无非就两种方法:TSA和ATTACK-NOW。TSA缺点就是兵十分分散,且他对别人外交也要同盟(避免AI打别人)。后者的话你可以试试,我没试过,且外交一样要改。

老胡V1 发表于 2009-11-10 22:27:26

我还是不太明白你的要求,你想达成什么效果,是不是玩家守城,AI来进攻?

Ikarus 发表于 2009-11-10 22:34:01

是!没错!就是这样!
是一个地方被玩家占领然后Ai的援军从玩家来的路来夺

老胡V1 发表于 2009-11-10 22:43:57

我很不明白,为什么要让敌军从原来的路来,从哪里不都一样吗?我倒觉得可以一开始用树挡住电脑的兵,顺便也让玩家看不到,然后移除树再指派目标,或者干脆把兵放在路的另外一端。

Ikarus 发表于 2009-11-10 22:47:57

因为是山路,而且已经没有地方再放兵了。玩家可以从三条道任何一条上来,但每条都要通畅啊。
其实就是问一个怎么用触发控制Ai
再问一下Attack到底怎么写…
大家把问题复杂化了,我承认错误…

Ru43 发表于 2009-11-10 23:03:54

Attack Now很好写,摆好你要的条件,然后Attack一下就可以了。
比如:10游戏秒进攻一次。原则上每队不超过4人,总队数不超过35队。所有现有士兵参战。
(defrule
    (timer-triggered 1)
=>   
    (set-strategic-number sn-number-attack-groups 35)
    (set-strategic-number sn-maximum-attack-group-size 4)
    (set-strategic-number sn-minimum-attack-group-size 1)
    (set-strategic-number sn-percent-attack-soldiers 100)
    (set-strategic-number sn-attack-intelligence 1)
    (chat-to-all "现在开始进攻")
    (attack-now)
    (disable-timer 1)
    (enable-timer 1 10)
)

TSA不考虑调整范围的话,例如(输入5且进贡90木后进攻):
(defrule
    (taunt-detected 1 5)
    (wood-amount >= 90)
=>
    (set-strategic-number sn-maximum-town-size 144)
    (set-strategic-number sn-percent-attack-soldiers 0)
    (set-strategic-number sn-task-ungrouped-soldiers 1)
    (acknowledge-taunt 1 5)
    (chat-to-all "现在开始防御")
)

PS:按以前的试验效果以上两者,前者实际在防御,后者实际在进攻。。。。。。:34:

[ 本帖最后由 Ru43 于 2009-11-10 23:08 编辑 ]

老胡V1 发表于 2009-11-10 23:13:30

有点问题,前者你一开始露了
(defrule
(ture)
=>
(enable-timer 1 1(这个随便))
(disable-self)
)

老胡V1 发表于 2009-11-10 23:15:45

另外你说前者象防御后者象进攻是因为,ai进攻时候经常卡在那里的…而TSA则十分流畅,且很主动。

老胡V1 发表于 2009-11-10 23:22:12

我认为你TSA中设置进攻士兵比例为零不必要,因为那个只在你用ATTACK-NOW才会被处理。其实最简单的TSA只要有扩大城镇范围就可以了,逐步增加,配合(enemy-building-in-town)会更好(晕…又扯到对战了…)

老胡V1 发表于 2009-11-11 22:51:17

啊!第二个问题我终于记得了!触发条件随便,效果写送出AI信号X(随意)然后AI这样写:
(defrule
(event-detected trigger X)
=>
(acknowledge-event trigger X)
(attack-now)
(disable-self)
)
其中的attack-now也可以换成你想要的效果
页: 1 [2]
查看完整版本: KK的战役Ai问题专贴