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

[教程] 【1.4AI教程】搜索单位作为目标,并获得其周围特定单位的数量

[复制链接]

144

主题

4

精华

1万

积分

宗主教

耕战
2738
鹰币
531096
天龙币
47
回帖
14734

翔鹰建站十周年纪念章二级帝国勋章一级嘉禾勋章翔六水王创意工坊通行证

附庸关系12
发表于 2015-11-7 18:36:19 | 显示全部楼层 |阅读模式
本帖最后由 一窍不开 于 2015-11-7 18:44 编辑

此教程源于第一期酒馆抢答第十题:

假设在一个守城战役中,敌人每隔5分钟会出现一个魔王BOSS(假设同时最多只有一个魔王BOSS),若此BOSS与城中任何一座镇魔塔(了望塔之类)的距离小于7,则其生命值每秒减少10点。若与多座镇魔塔距离都在7以内,则伤害叠加。玩家可以建造镇魔塔。试详细写出达成此效果所需的触发和AI。

或许有的人看到这道题会想“这不可能吧”或者毫无头绪,所以我先说一下大概思路:

找到魔王BOSS单位→设定其为目标→读取其坐标→寻找范围7以内的塔→读取塔的数目→转换成玩家2的食物→触发扣血

下面详细解释一下AI语句:
  1. (defconst gl-point-x 100)
  2. (defconst gl-point-y 101)
  3. (defconst cavalry-class 912)
  4. (defconst search-local 1)
  5. (defconst position-object 12)
  6. (defconst tower-class 952)
  7. (defconst gl-local-total 103)
  8. (defconst gl-local-last 104)
  9. (defconst gl-remote-total 105)
  10. (defconst gl-remote-last 106);以上均为常数定义


  11. (defrule
  12. (true)
  13. =>
  14. (up-reset-filters)
  15. (up-reset-search 1 1 1 1);这两句是清除搜索数据用的
  16. (up-find-local c: cavalry-class c: 1);寻找自己的一个骑兵单位,这里就是BOSS骑士
  17. (up-set-target-object search-local c: 0);将其设定为目标
  18. (up-get-point position-object gl-point-x);获得其坐标
  19. (up-set-target-point gl-point-x);将其坐标点设为目标点
  20. (up-reset-search 1 1 1 1);清除搜索数据
  21. (up-filter-distance c: -1 c: 7);过滤条件:距离7以内
  22. (set-strategic-number sn-focus-player-number 1);设定要寻找的玩家为玩家1
  23. (up-find-remote c: tower-class c: 240);寻找塔类单位
  24. (up-get-search-state gl-local-total);将搜索数据储存起来
  25. )

  26. (defrule
  27. (up-compare-goal gl-remote-total > 0);如果塔的总数大于0
  28. =>
  29. (cc-add-resource food 1);作弊1食物
  30. (chat-to-all “.”);用于测试时直观看到效果
  31. (up-modify-goal gl-remote-total c:- 1);塔的总数-1
  32. (up-jump-rule -1);循环本条规则
  33. )
复制代码


触发扣血就好办啦,用传统的8421方法

触发1:循环,开启
条件:玩家2拥有8食物
效果1:减去玩家2的骑士80生命
效果2:玩家2向盖亚进贡8食物

触发2:循环,开启
条件:玩家2拥有4食物
效果1:减去玩家2的骑士40生命
效果2:玩家2向盖亚进贡4食物

触发3:循环,开启
条件:玩家2拥有2食物
效果1:减去玩家2的骑士20生命
效果2:玩家2向盖亚进贡2食物

触发4:循环,开启
条件:玩家2拥有1食物
效果1:减去玩家2的骑士10生命
效果2:玩家2向盖亚进贡1食物


欢迎大家测试,如果发现问题请告诉我~

评分

参与人数 1耕战 +75 鹰币 +300 收起 理由
atila + 75 + 300 很新颖的想法,而且能够实行

查看全部评分

回复

使用道具 举报

83

主题

9

精华

11万

积分

宗主教

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

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

附庸关系2
发表于 2015-11-14 19:06:12 | 显示全部楼层
沙发,马克,点赞
Annie's Wonderland
第一章:海与山(已发布,点击进入)
第二章:杏花宵(已发布,点击进入)
第三章:沙漠之星(先行版已发布,点击进入)
终章:风神的歌谣(地图0% 触发0/1000 状态:未开始)
回复

使用道具 举报

15

主题

0

精华

1033

积分

伯爵

耕战
175
鹰币
580
天龙币
0
回帖
188
附庸关系0
发表于 2020-2-10 19:03:24 | 显示全部楼层
(up-find-remote c: tower-class c: 240);寻找塔类单位

up-find-remote這个最多只能找40个敌人单位 写240也没用还是最多就40个
拜托了别误导了人
回复

使用道具 举报

3

主题

0

精华

24

积分

骑士

耕战
0
鹰币
10
天龙币
0
回帖
15
附庸关系0
发表于 2020-4-12 06:48:25 | 显示全部楼层
樓主詳細分享, 感恩!

(blazefires, 說話客氣一點,  誰做事一定不出錯?, 又不見你來分享?? 而且有例子, 教了這樣多東西, 我看不到有甚麼誤導.,)
回复

使用道具 举报

本版积分规则

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

GMT+8, 2024-11-21 21:25 , Processed in 0.104480 second(s), 58 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

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

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