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

[工具] 一个检测某单位正在进行的动作的AI语句

[复制链接]

83

主题

9

精华

11万

积分

宗主教

耕战
21563
鹰币
10968
天龙币
281
回帖
2821

翔鹰建站十周年纪念章三级帝国勋章特级翔鹰勋章三级嘉禾勋章雄鹰勋章第九届火箭筒杯优秀战役第九届火箭筒杯最佳新人第十届火箭筒杯最佳战役第十二届火箭筒杯最佳战役

附庸关系2
发表于 2016-11-12 01:50:04 | 显示全部楼层 |阅读模式
本帖最后由 Howerds 于 2016-11-11 13:12 编辑

最早应该是@狂~劇情狂  和@条顿武士 的研究结果。
现成的,大家可以直接用:

(defconst object-data-action 5)
(defconst action X)

(defrule
       (true)
=>
       (set-goal 1 0)
       (disable-self)
)

(defrule
      (true)
=>
      (up-set-target-by-id c:= Y)
      (up-get-object-data object-data-action action)
)


(defrule
      (goal 1 0)
      (up-compare-goal action == Z)
=>
      (chat-to-all “进行动作中”)
      (cc-add-resource food 1)
      (set-goal 1 1)
)

(defrule
      (goal 1 1)
      (up-compare-goal action != Z)
=>
      (chat-to-all "停止动作”)
      (cc-add-resource food -1)
      (set-goal 1 0)
)

作用:如果某单位正在进行某个动作,那么使用这个AI的玩家将获得1食物(供触发检测用);反之,当他停止该动作时,将失去1食物。

其中,X是你自己定义的变量编号,随便改成一个数字就好(最好不大于512)。
          Y是你想要检测的那个单位的ID,可以用AOKTS查看。
          Z是动作代码,请根据你想要检测的动作改成下列对应值:

600  攻击
601  防御
602  建造
603  治疗
604  转化
605  探索
606  停止
607  逃跑
608  撤退
609  采集
610  移动
611  巡逻
612  跟随
613  捕猎
614  运输
615  贸易
616  躲避
617  进入
618  维修
619  训练
620  研究
621  卸载


评分

参与人数 3耕战 +120 鹰币 +150 收起 理由
Ru43 + 100 实用工具
狄更斯·维 + 50 一点心意~
troytroytroy + 20 + 100 耕战之功

查看全部评分

Annie's Wonderland
第一章:海与山(已发布,点击进入)
第二章:杏花宵(已发布,点击进入)
第三章:沙漠之星(先行版已发布,点击进入)
终章:风神的歌谣(地图0% 触发0/1000 状态:未开始)
回复

使用道具 举报

25

主题

2

精华

1万

积分

皇帝

耕战
2625
鹰币
65238
天龙币
0
回帖
438

翔鹰建站十周年纪念章

附庸关系5
发表于 2016-11-12 07:53:44 | 显示全部楼层
这个好,受教了。
嗯嗯
回复

使用道具 举报

本版积分规则

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

GMT+8, 2024-12-26 21:52 , Processed in 0.113885 second(s), 38 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

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

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