999m 发表于 2006-1-26 22:40:34

请教卧龙先生几个ai问题

请教卧龙先生几个ai问题
一.ai在多人对战 时占领了某个敌人的基地后总会留有相当数量的士兵去站岗,不能集中兵力去攻击剩余的敌人,程序应如何设置才能使士兵只会在自己的基地站岗,而不会在占领后的敌人基地站岗;或即使在敌人基地站岗占用兵力也非常少.
二. ai在进攻时程序应如何编写才能使电脑也会用重型投石车砸开树林偷袭人.而不是只会攻击城门;或仅砸开城门两侧的树林也可以.
三. ai在程序中应如何设置才能使农民在伐木过程中将伐木场不断前移,以保证工作效率不会降低.
[此贴子已经被作者于2006-01-26 23:47:40编辑过]

卧龙先生 发表于 2006-1-27 12:34:23

兄弟差点把我完全难倒了.
第一个问题,如果你的意思是指 AI 毁灭敌人基地之后,总会将士兵停留在该位置的话.那么也许只能设置进攻人数总量和进攻队伍数量了,在发动进攻之前!由于时间的问题,我无法帮你作测试.很抱歉.代码如下:
   (set-strategic-number sn-number-attack-groups 1)   ;设置进攻队伍为一支
    (set-strategic-number sn-percent-attack-soldiers 90) ;设置参与进攻的士兵比率为 90%
第二个问题谁也无能为力.这是帝国 AI 功能的极限,无法设置.
至于第三个问题,请你自行研究如下两个东东.
(dropsite-min-distance wood > 4)    ;这是一个事实: 应该是用于判断最靠近的可采集的木头的距离
(set-strategic-number sn-camp-max-distance 30); 这是一个动作: 设置村民采集资源的范围.以储存所为距离中心.
使用上面两个东东就能够满足一般的需求了.但应该注意配合年代的判断,然后根据具体需要来建造更多的伐木场所.


[此贴子已经被作者于2006-01-27 00:39:13编辑过]

999m 发表于 2006-1-27 21:16:15

多谢卧龙先生!!!

999m 发表于 2006-1-31 23:28:26

我还有一个问题请教卧龙先生,在使用ai时同一个ai在3个ai对3个ai时一切正常,4对4时常常出现ERR6001:listfull 错误,请问卧龙先生如何解决。是不是征服者对加载进内存的ai的总行数有限制。
[此贴子已经被作者于2006-01-31 23:29:30编辑过]

卧龙先生 发表于 2006-2-1 12:28:38

AI 文件在内存中所占用的资源极小.可以说是微不足道.所以应该不是这个问题.但是这问题也很怪异.我在猜测是帝国的程序设计存在的 Bug.因为 6 个玩家可以,8 个玩家就不行.所以得到这个结论.也因为我对程序的了解多于对 AI 的了解.哈哈!

999m 发表于 2006-2-2 01:08:56

谢谢先生!祝先生新年快乐,狗年旺!旺!旺!
看来是帝国的程序设计存在的 Bug,zycat在ai数量较多时也会出现ERR6003: String table full错误。看来是一次加载的行数教多的ai都会出问题。但BOOM II例外,看来闲闲的ai编程水平真是高超!佩服!

卧龙先生 发表于 2006-2-2 11:37:55

999m 兄客气呀! Boom II 的设计非常科学,采用模块设计方式.方便维护代码.
页: [1]
查看完整版本: 请教卧龙先生几个ai问题