up-add-point
语法
up-add-point (io)(goal)点1 (in)(goal)点2 类型操作符 (in)(op)值
功能
加或减两组表示点的目标对。给操作数赋负值表示减。通过把目标点2设为0来使用up-set-target-point存储的点。
示例
1. 把焦点玩家和目标玩家所在位置相加。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defconst gl-other-x 200)
(defconst gl-other-y 201)
(defrule
(true)
=>
(up-get-point position-focus gl-point-x)
(up-get-point position-target gl-other-x)
(up-add-point gl-point-x gl-other-x c: 1)
)
up-copy-point
语法
up-copy-point (out)(goal)点1 (in)(goal)点2
功能
把一组表示点的目标对复制给另一组目标对。
示例
1. 复制地图中心点位置。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defconst gl-other-x 200)
(defconst gl-other-y 201)
(defrule
(true)
=>
(up-get-point position-center gl-point-x)
(up-copy-point gl-other-x gl-point-x)
)
up-cross-tiles
语法
up-cross-tiles (io)(goal)点1 (in)(goal)点2 类型操作符 (in)(op)网格数
功能
获取一个垂直于给定的两组表示点的目标对相连而成的直线的点。网格数为负值表示相减。把点2设置为0,以使用存储在up-set-target-point中的点。
示例
1. 获取相对于地图中心而言,主城镇中心右侧10格的点。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defconst gl-center-x 200)
(defconst gl-center-y 201)
(defrule
(true)
=>
(up-get-point position-self gl-point-x)
(up-get-point position-center gl-center-x)
(up-cross-tiles gl-point-x gl-center-x c: 10)
)
up-find-flare
语法
up-find-flare (out)(goal)点
功能
获取同盟发送的闪光信号坐标,写入表示点的目标对中。命令会写入两个连续编号的命令对中,合法目标编号范围为41至510。如果获取失败,会返回(-1,-1)。命令等效于up-find-player-flare any-ally。
示例
1. 获取最新的同盟闪光信号位置。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defrule
(unit-type-count flare > 0) ; flare = 274
=>
(up-find-flare gl-point-x)
)
up-find-player-flare
语法
up-find-player-flare (in)(player)玩家 (out)(goal)点
功能
获取任意可见的闪光信号,读取其位置到表示点的目标对中。命令会写入两个连续编号的命令对中,合法目标编号范围为41至510。如果获取失败,会返回(-1,-1)。
示例
1. 获取任意敌对玩家闪光信号位置。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defrule
(unit-type-count flare > 0) ; flare = 274
=>
(up-find-player-flare any-enemy gl-point-x)
)
up-get-point
语法
up-get-point (in)(const)位置类型 (out)(goal)点
功能
读取特定的点坐标信息,存储到表示点的目标对中。命令会写入两个连续编号的命令对中,合法目标编号范围为41至510。如果获取失败,会返回(-1,-1)。
示例
1. 获取地图中心的位置。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defrule
(true)
=>
(up-get-point position-center gl-point-x)
)
2. 获取目标玩家的位置。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defrule
(true)
=>
(up-get-point position-target gl-point-x)
)
up-get-point-distance
语法
up-get-point-distance (in)(goal)点1 (in)(goal)点2 (out)(goal)距离
功能
计算两点距离。把点2设为0,以使用up-set-target-point存储的点位置。
示例
1. 计算主城镇中心到地图中心的距离。
(defconst gl-self-x 100)
(defconst gl-self-y 101)
(defconst gl-center-x 200)
(defconst gl-center-y 201)
(defconst gl-distance 300)
(defrule
(true)
=>
(up-get-point position-self gl-self-x)
(up-get-point position-center gl-center-x)
(up-get-point-distance gl-self-x gl-center-x gl-distance)
)
up-get-point-terrain
语法
up-get-point-terrain (in)(goal)点 (out)(goal)地形
功能
获取给定点的地形编号。把点设为0,以使用up-set-target-point存储的点位置。
示例
1. 获取地图中心的地形编号。
(defconst gl-center-x 100)
(defconst gl-center-y 101)
(defconst gl-terrain 200)
(defrule
(true)
=>
(up-get-point position-center gl-center-x)
(up-get-point-terrain gl-center-x gl-terrain)
)
up-lerp-percent
语法
up-lerp-percent (io)(goal)点1 (in)(goal)点2 类型操作符 (in)(op)百分数
功能
计算两点之间的某个百分位点。设置百分数为负数会导致反向。设置点2为0以使用up-set-target-point存储的点。
示例
1. 计算主城镇中心到地图中心的25%分位点。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defconst gl-center-x 200)
(defconst gl-center-y 201)
(defrule
(true)
=>
(up-get-point position-self gl-point-x)
(up-get-point position-center gl-center-x)
(up-lerp-percent gl-point-x gl-center-x c: 25)
)
up-lerp-tiles
语法
up-lerp-tiles (io)(goal)点1 (in)(goal)点2 类型操作符 (in)(op)网格数
功能
获取以点1为基准,沿点2方向偏移给定网格数位置的点。设置网格数为负数会导致反向。设置点2为0以使用up-set-target-point存储的点。
示例
1. 获取主城镇中心向地图中心方向偏移10格后所在的点。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defconst gl-center-x 200)
(defconst gl-center-y 201)
(defrule
(true)
=>
(up-get-point position-self gl-point-x)
(up-get-point position-center gl-center-x)
(up-lerp-tiles gl-point-x gl-center-x c: 10)
)
up-send-flare
语法
up-send-flare (in)(goal)点
功能
在给定点处发送一个闪光信号。
示例
1. 在目标位置发送一个闪光信号。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defrule
(true)
=>
(up-get-point position-target gl-point-x)
(up-send-flare gl-point-x)
)
up-set-target-point
语法
up-set-target-point (in)(goal)点
功能
设置目标点,供其他命令使用。
示例
1. 设置目标点为地图中心。
(defconst gl-point-x 100)
(defconst gl-point-y 101)
(defrule
(true)
=>
(up-get-point position-center gl-point-x)
(up-set-target-point gl-point-x)
)
up-point-contains
语法
up-point-contains (in)(goal)点 类型操作符 (in)(op)物件编号
功能
检查给定点处是否有给定物件存在。把点设为0,以使用up-set-target-point存储的点。
示例
1. 检查地图中心是否有树。
(defconst gl-center-x 100)
(defconst gl-center-y 101)
(defrule
(true)
=>
(up-get-point position-center gl-center-x)
)
(defrule
(up-point-contains gl-center-x c: tree-class) ; tree-class = 915
=>
(do-nothing)
)
up-point-distance
语法
up-point-distance (in)(goal)点1 (in)(goal)点2 比较运算符 (in)(op)值
功能
为两点之间的距离执行比较操作。把点2设为0,以使用up-set-target-point存储的点。
示例
1. 检查主城镇中心与地图中心的距离是否大于5。
(defconst gl-self-x 100)
(defconst gl-self-y 101)
(defconst gl-center-x 200)
(defconst gl-center-y 201)
(defrule
(true)
=>
(up-get-point position-self gl-self-x)
(up-get-point position-center gl-center-x)
)
(defrule
(up-point-distance gl-self-x gl-center-x > 5)
=>
(do-nothing)
)
up-point-terrain
语法
up-point-terrain (in)(goal)点 比较运算符 (in)(op)地形
功能
检查给定点所处的地形。把点设为0,以使用up-set-target-point存储的点。
示例
1. 检查地图中心点是否为草地地形。
(defconst gl-center-x 100)
(defconst gl-center-y 101)
(defrule
(true)
=>
(up-get-point position-center gl-center-x)
)
(defrule
(up-point-terrain gl-center-x == terrain-grass)
=>
(do-nothing)
)
up-send-scout
语法
up-send-scout (in)(const)编组类型 (in)(const)位置类型
功能
命令陆地或海上侦察单位到给定的位置去。
示例
1. 命令陆地侦察单位到地图对面去。
(defrule
(true)
=>
(up-send-scout group-type-land-explore scout-opposite)
(disable-self)
)