[UP1.5] AI实用模块 - 获取闪光坐标
本帖最后由 newtonerdai 于 2020-5-21 15:28 编辑AI文件:(与下面的正文完全一致,可选择其中一种阅读)
注:本per文件为UTF-8编码,可直接用于DE。在旧版里用时,需要自己转码为GBK。
;///////////////////////////////////////////////////////////
;// --------------------- AI实用模块 ---------------------//
;// 获取闪光坐标 //
;// 作者:newtonerdai //
;// www.hawkaoe.net //
;///////////////////////////////////////////////////////////
;
; 【前言】
;▲模块作用:输入数字4后,获取玩家1的闪光点坐标,并报告出来。
;DE版暂时无法使用AOKTS,无法直接获取地图上某点的坐标,这个模块可以暂时承担获取坐标的任务
;这可以应用到什么地方呢?
; 如果你想通过AI指令,让AI玩家点A附近的部队,巡逻到敌方点B附近,就需要先获取A、B这两个点的坐标。
;
;▲适用版本:仅适用于支持UP1.5 AI语句的版本。如UP1.5、WK、DE。
;
;▲使用方法:
; 准备阶段
; 1. 把这个AI(包括.ai和.per两个文件)放到游戏根目录的ai文件夹(DE的为 AoE2DE\resources\_common\ai)。
; 2. 重载你的编辑器场景,在编辑器中给任意电脑玩家指定这个AI(上方[玩家]选项卡)。
; 测点阶段
; 3. 进入测试,确认已勾选向所有玩家发送信息(右上角[聊天]菜单)
; 4. 输入数字 4,然后在你想测量坐标的格子里,用 Alt+F 发送一个闪光。
; 5. 记下AI播报的 X、Y 坐标数字
; 6. 如果想再测一个点,可再重复第4、5步。需要注意的是,当地图上同时出现2个闪光时,大概率会获取最新的,小概率会获取较早的。
; 使用坐标
; 7. 现在你已经获取到地图上一个点的坐标了,接下来你可以切换回你自己的AI,使用DUC系统来让AI的部队向这个点巡逻。
;----------------------------------------------------------
; 获取闪光坐标
;----------------------------------------------------------
(defconst g-flare-x 100)
(defconst g-flare-y 101)
;============= 运行部分=============
(defrule
(taunt-detected 1 4) ;玩家1输入数字4后,执行一次(可把4换成你自定义的数字,1~255)
(cc-players-unit-type-count 1 274 > 0) ;玩家1发送了闪光后才会执行
=>
(up-find-player-flare 1 g-flare-x) ;【核心语句】获取玩家1的闪光坐标(保留到整格,即闪光所处格子最左角)
(up-chat-data-to-all "闪光坐标 X = %d" g: g-flare-x) ;发送出闪光的坐标X。%d是用于引用后面数值的
(up-chat-data-to-all "闪光坐标 Y = %d" g: g-flare-y) ;同上
(acknowledge-taunt 1 4) ;输入数字4后承收一次,使其可重复使用(若要自定义,请记得把这个4也换了)
)
页:
[1]