翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 885|回复: 4

[求助] 求大神给一个互动结盟式的AI

[复制链接]

1

主题

0

精华

3

积分

扈从

耕战
0
鹰币
10
天龙币
0
回帖
1
附庸关系0
发表于 2016-7-27 17:09:40 | 显示全部楼层 |阅读模式
就是上来不锁定组队,在游戏过程中通过改变外交和进贡比较容易达成同盟的那种。。。
回复

使用道具 举报

14

主题

1

精华

1万

积分

皇帝

耕战
2511
鹰币
22811
天龙币
0
回帖
326

翔鹰建站十周年纪念章二级翔鹰勋章

附庸关系0
发表于 2016-7-27 23:12:14 | 显示全部楼层
这个理论上是可以实现的(也许论坛已经有了),楼主自己去找找,翔鹰不欢迎伸手党

不说出口的话就没法明白
只是放在心里谁都不会懂
人类呀    真是麻烦的生物呢

【4.35】黑与白的翅膀
【3.8】美城:你的窝车则之旅
回复

使用道具 举报

1

主题

0

精华

3

积分

扈从

耕战
0
鹰币
10
天龙币
0
回帖
1
附庸关系0
 楼主| 发表于 2016-7-28 12:33:09 | 显示全部楼层
1999 发表于 2016-7-27 23:12
这个理论上是可以实现的(也许论坛已经有了),楼主自己去找找,翔鹰不欢迎伸手党

从第一页一直翻到最后一页都没有见到,网路上用三种不同的关键词关键句搜索了从第一页一直搜索到第四十页也没有相关的。求个AI就伸手党了?唯一相关的就是有人给出结盟的条件和语句
(defrule
(event-detected trigger 1)
=>
(enable-timer 16 1)
(disable-self)
)


(defrule
(timer-triggered 16)
(players-tribute 1 gold > 999)
=>
(set-signal 11)
(enable-timer 17 1)
(clear-tribute-memory 1 gold)
(disable-self)
)


(defrule
(timer-triggered 17)
(players-tribute-memory 1 gold > 999)
=>
(set-stance 1 ally)
(disable-self)
)

(defrule
(players-tribute 1 food >= 100)
=>
(set-stance 1 ally)
)

(players-tribute 1 food >= 100)
(players-tribute 1 wood >= 200)
(players-tribute 1 gold >= 300)

但是没有互动,要不是没时间学帝国的编程语言就自己把这些加进去了。不欢迎正好,我就把帐号删了,反正看了一遍也没找到什么有价值的东西。
回复

使用道具 举报

14

主题

1

精华

1万

积分

皇帝

耕战
2511
鹰币
22811
天龙币
0
回帖
326

翔鹰建站十周年纪念章二级翔鹰勋章

附庸关系0
发表于 2016-7-28 13:46:49 | 显示全部楼层
lz不要激动,我这么说没有恶意,如果你觉得受不了那我在此说声抱歉
如果lz真的很需要这个ai,你可以找一下论坛里的ai大神,让他们教教你~不够你最好还是学一下基本的ai编写,可以看一下这个ai初入

不说出口的话就没法明白
只是放在心里谁都不会懂
人类呀    真是麻烦的生物呢

【4.35】黑与白的翅膀
【3.8】美城:你的窝车则之旅
回复

使用道具 举报

1

主题

0

精华

496

积分

子爵

耕战
80
鹰币
10
天龙币
0
回帖
32
附庸关系0
发表于 2016-7-28 22:50:07 | 显示全部楼层
lz别激动啊。。2l人家也不是恶意的
写了个比较简单的互动 就5条规则 理论上加到任何AI里都能用 但是只针对玩家1 如果要联机的话复制8次然后把1改成对应的玩家编号就好了(不知道有没有更简便的写法。。)
每句后面还有注释很好理解的!!

(defrule
(players-stance 1 ally) ;玩家1想和我结盟
(stance-toward 1 enemy) ;玩家1是敌人
(players-tribute-memory 1 gold < 500) ;玩家1还没给过我钱
=>
(set-stance 1 neutral) ;改变外交态度为中立
(chat-to-player 1 "只要进贡500黄金我就和你结盟。")
)

(defrule
(players-stance 1 ally) ;玩家1想和我结盟
(not(stance-toward 1 ally)) ;排除玩家1已经是同盟的情况
(players-tribute-memory 1 gold >= 500) ;玩家1给钱了
=>
(set-stance 1 ally) ;改变外交态度为联盟
(chat-to-player 1 "我们已经是朋友啦。")
(clear-tribute-memory 1 gold)
)

(defrule
(players-stance 1 neutral) ;盟友变成中立
(stance-toward 1 ally)
=>
(set-stance 1 neutral) ;改变外交态度为中立
(chat-to-player 1 "你的行为很可疑,重新进贡500黄金否则我就把你打烂。")
)

(defrule
(players-stance 1 enemy) ;盟友要叛变
(stance-toward 1 ally)
=>
(set-stance 1 enemy) ;改变外交态度为敌对
(chat-to-player 1 "原来你是这种队友,我们的友谊完蛋了!")
)

(defrule
(players-stance 1 enemy) ;中立玩家想打我
(stance-toward 1 neutral)
=>
(set-stance 1 enemy) ;改变外交态度为敌对
(chat-to-player 1 "竟敢挑衅我,我要给你点颜色看看。")
)

嘛~先这样吧 以后有需要还可以拓展
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-12-24 09:35 , Processed in 0.149051 second(s), 73 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表