找回密码
 点一下
查看: 994|回复: 0

一个支持多玩家的改变所属权的效果

[复制链接]
发表于 2017-7-30 00:02:26 | 显示全部楼层 |阅读模式
本帖最后由 朱里安·约克 于 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]
附上地图还请大家帮忙看一下,谢谢。

打塔.w3x

22.17 KB, 下载次数: 0

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-22 11:58 , Processed in 0.062185 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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