如何不断更改电脑玩家间的结盟情况
本帖最后由 cercal 于 2015-1-15 09:06 编辑各位帝国牛人好,小弟弟我玩帝国时代2的时候,喜欢和历史相扣,估计很多玩家也是如此,我在模拟欧洲战场的时候,设置自己是英国,然后左右欧洲大陆的局势,要知道欧陆各国历来就是合纵连横,结盟和敌对的状态不断改变,在此我就想请教,有没有一种软件,能在玩耍的过程中 随时更改电脑玩家间的结盟和敌对情况呢?谢谢了哈
(我本身使用ai修改器能修改了对战ai,我能随时设定电脑玩家和我的结盟或敌对状态,但我想求一种方法,能随时更改电脑玩家间的结盟状态)
首先说一下,我对AI并不是很了解,说声抱歉。。
但是你既然能够随时修改电脑与你的外交,为什么不能修改电脑之间的外交?因为本质上似乎是一样的吧。。 本帖最后由 cercal 于 2015-1-15 10:45 编辑
是这样,ai修改器可以修改ai的结盟动作,我宣布与某电脑玩家结盟的同时,电脑玩家也能宣布与我结盟,反之,我宣布与之敌对,它也立即与我敌对,因此比较简单
但我想不出怎么修改出我来操纵他们之间结盟,敌对的方式,因为ai修改器没有这个功能。。。。因此上来请教。呵呵 cercal 发表于 2015-1-15 10:24
是这样,ai修改器可以修改ai的结盟动作,我宣布与某电脑玩家结盟的同时,电脑玩家也能宣布与我结盟,反之, ...
应该可以用数字AI进行控制吧,比如输入1让玩家2、3结盟,输入2让他们敌对 本帖最后由 纠纷经过 于 2015-1-15 12:59 编辑
ai么?
本人最近做些AI
是不是这样的;
(defrule
(taunt-detected 1 10)
=>
(acknowledge-taunt 1 10)
(cc-add-resource stone 10)
(cc-add-resource gold 106)
)
(defrule
(taunt-detected 1 20)
=>
(acknowledge-taunt 1 20)
(cc-add-resource stone 20)
(cc-add-resource gold 106)
)
=>
(acknowledge-taunt 1 10)
(acknowledge-taunt 1 20)
(disable-self)
)
;使村民不动开始
(defrule
(true)
=>
(set-strategic-number sn-maximum-food-drop-distance 0)
(set-strategic-number sn-maximum-wood-drop-distance 0)
(set-strategic-number sn-maximum-gold-drop-distance 0)
(set-strategic-number sn-maximum-stone-drop-distance 0)
(disable-self)
)
(defrule
(true)
=>
(set-strategic-number sn-percent-civilian-gatherers 0)
(set-strategic-number sn-percent-civilian-builders 0)
(set-strategic-number sn-percent-civilian-explorers 0)
(disable-self)
)
;使村民不动结束
;使士兵不动开始
(defrule
(true)
=>
(set-strategic-number sn-task-ungrouped-soldiers 0)
(disable-self)
)
;使士兵不动结束
本帖最后由 纠纷经过 于 2015-1-15 12:51 编辑
建议使用触发
关 开 关
(一定要的)积累石头(建议8p);10
(一定要的)积累黄金(建议8p);106
改变对策;2p与3p结盟
改变对策;3p与2p结盟
激活触发;2
触发2
关 关 关
(一定要的)积累石头(建议8p);20
(一定要的)积累黄金(建议8p);106
改变对策;2p改3p敌化
改变对策;3p改2p敌化
激活触发;1
其中的玩家请注入AI
纠纷经过 发表于 2015-1-15 11:31
建议使用触发
关 开 关
(一定要的)积累石头(建议4p);10
你的ai有些问题。
首先,不能重复使用,应该加上删去数字ai的效果。
然后,你的ai和触发会与电脑玩家自身的资源相冲突,应该在检测到ai信号后直接在ai效果中改变外交。
你可以尝试让电脑自己智能改变外交,比如检测到某玩家分数远远超过其他玩家则子行尝试与另一玩家结盟。 本帖最后由 一窍不通 于 2015-1-15 12:09 编辑
信号问题多发了。。 不论是用触发改外交还是用AI命令改外交都不是什么麻烦事吧。 如果要设定好所有玩家的话,需要谨慎的编写ai。
这里举一个小例子:输入信号101,使玩家2和玩家3改成敌对
玩家2的ai语句:
(defrule
(taunt-detected 1 101);检测到信号101
=>
(acknowledge-taunt 1 101)
(set-stance 3 enemy);改变对玩家3的外交态度为敌对
)
(defrule
(taunt-detected 1 101)
=>
(acknowledge-taunt 1 101);这个语句是为了注销信号101,防止不必要的麻烦
)
玩家3的ai:
(defrule
(taunt-detected 1 101);检测到信号101
=>
(acknowledge-taunt 1 101)
(set-stance 2 enemy);改变对玩家2的态度为敌对
)
(defrule
(taunt-detected 1 101)
=>
(acknowledge-taunt 1 101)
)
如果要涉及所有玩家,语句格式和这个基本类似,只不过要另外添加几组并针对信号数字等做修改,比如102,103等 为什么不用纯触发解决呢?在地图的边境上放置多个哨塔,设置点击的时候切换结盟状态,就可以了呀。 不科学的小默默 发表于 2015-1-16 06:53
为什么不用纯触发解决呢?在地图的边境上放置多个哨塔,设置点击的时候切换结盟状态,就可以了呀。
也许作者是想在随机地图用
--------------
又点成回复了。。。
一窍不通 发表于 2015-1-16 10:56
也许作者是想在随机地图用
--------------
又点成回复了。。。
随机地图就更不该使用ai了呀,都是玩家要怎么控制外交。
页:
[1]