|
本帖最后由 朱里安·约克 于 2017-7-30 00:02 编辑
大致是这样的:单位攻击塔,然后改变塔本来的所属为当前攻击单位的玩家;数秒后,塔的所属权再改回原来的玩家。T是这么写的,测试用了玩家1和玩家2,互相结盟控制状态。玩家1测试时完全没问题,能出现倒计时框并且数秒后塔能返还正确的前所有权。但是用玩家2的单位去测试就完全无法出现倒计时框和返还功能。
[trigger]
Init
事件
地图初始化
条件
动作
For Integer 从 1 到 12, 做动作
Loop - 动作
触发器 - 为 Return Owner <预设> 添加事件: (时间 - Timer[Integer] 到期)
[/trigger]
[trigger]
Change Owner
事件
单位 - 任意单位 被攻击
条件
((被攻击单位) 的类型) 等于 哨塔
动作
设置 AttackedUnit = (被攻击单位)
设置 AttackedPlayer = (AttackedUnit 的所有者)
设置 AttackUnit[((触发玩家) 的玩家索引号)] = (攻击单位)
设置 AttackPlayer[((触发玩家) 的玩家索引号)] = (AttackUnit[((触发玩家) 的玩家索引号)] 的所有者)
计时器 - 开启 Timer[((AttackUnit[((触发玩家) 的玩家索引号)] 的所有者) 的玩家索引号)] ,计时方式: 一次性 时间设置: 2.00 秒
设置 Timer[((AttackUnit[((触发玩家) 的玩家索引号)] 的所有者) 的玩家索引号)] = (最后启用的计时器)
计时器 - 为 Timer[((AttackUnit[((触发玩家) 的玩家索引号)] 的所有者) 的玩家索引号)] 创建计时器窗口,使用标题: 控制时间剩余...
设置 TimerWindow[((AttackUnit[((触发玩家) 的玩家索引号)] 的所有者) 的玩家索引号)] = (最后创建的计时器窗口)
单位 - 改变 AttackedUnit 所属为 AttackPlayer[((触发玩家) 的玩家索引号)] 并 改变颜色
[/trigger]
[trigger]
Return Owner
事件
条件
动作
For Integer 从 1 到 12, 做动作
Loop - 动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
(到期的计时器) 等于 Timer[Integer]
Then - 动作
计时器 - 删除 TimerWindow[Integer]
单位 - 改变 AttackedUnit 所属为 AttackedPlayer 并 改变颜色
跳过剩余动作
Else - 动作
[/trigger]
附上地图还请大家帮忙看一下,谢谢。
|
|