|
在这些年来~~有不少人都琢磨着什么选取最近的单位,今天心血来潮~所以做了个小小小教程
恩以上是废话,让我们开始教程吧
我们首先要有的变量:
1~2个用作记录距离的Real(实数)变量,在这个演示中,我们将这两个变量称为Distance[0]和Distance[1]
1个用作选取单位的Unit Group(单位组)变量,在这个演示中,我们将这个变量称为Group
1个用作记录单位的Unit(单位)变量,在这个演示中,我们将这个变量称为Unit
1个让单位组选取单位的Point(点)变量,在这个演示中,我们将这个变量称为Point[0]
1~2个判断距离的Point(点)变量,在这个演示中,我们将这个变量称为Point[0]和Point[1]
(有一个变量是公用的)
然后我们开始做触发器吧!~ 我们这次要选取一个最近技能释放单位的单位
首先我们设定技能释放单位的位置,用作判断距离和单位组选取单位
[trigger]设置 Point[0] = ((触发单位) 的位置)[/trigger]
再先选取单位
[trigger]设置 Group = (半径为 1000000000.00 圆心为 Point[0] 的圆范围内所有单位)[/trigger]
然后我们设定最短的距离为最大值
[trigger]设置 Distance[1] = 100000000.00[/trigger]
之后就选取Group里的单位了
[trigger] 单位组 - 选取 Group 内所有单位做动作
Loop - 动作
设置 Point[1] = ((选取单位) 的位置)
-------- 设置选取单位到技能释放单位的距离 --------
设置 Distance[0] = (Point[0] 和 Point[1] 之间的距离)
-------- 判断是否比之前的最短距离更短 --------
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
Distance[0] 小于 Distance[1]
Then - 动作
-------- 如果是的话将这段距离记录到最短距离 --------
设置 Distance[1] = Distance[0]
-------- 将最短距离的单位记录下来 --------
设置 Unit = (选取单位)
Else - 动作
-------- 如果不是的不会执行动作 --------
[/trigger]
完整的触发器
[trigger]
完整的触发器
事件
条件
动作
设置 Point[0] = ((触发单位) 的位置)
设置 Group = (半径为 1000000000.00 圆心为 Point[0] 的圆范围内所有单位)
设置 Distance[1] = 100000000.00
单位组 - 选取 Group 内所有单位做动作
Loop - 动作
设置 Point[1] = ((选取单位) 的位置)
设置 Distance[0] = (Point[0] 和 Point[1] 之间的距离)
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
Distance[0] 小于 Distance[1]
Then - 动作
设置 Distance[1] = Distance[0]
设置 Unit = (选取单位)
Else - 动作
点 - 清除 Point[1]
点 - 清除 Point[0]
[/trigger]
教程到这里就结束了~88 |
评分
-
查看全部评分
|