找回密码
 点一下
查看: 1362|回复: 4

新技能三连射,求大神帮我看看

[复制链接]
发表于 2012-9-9 16:45:05 | 显示全部楼层 |阅读模式
技能来源:记得有一款游戏叫A3,弓箭手的一个技能,发射三支箭,如果目标有一个,三支箭就会击中同一目标,造成额外伤害。如果目标周围有其他敌对单位,则三支箭会分散攻击。现在触发出现问题,不能获取第三个目标,请大神帮我分析一下,感激不尽

[trigger]Three 复制
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 三连射
    动作
        设置 Ranger_Three_Unit[1] = (触发单位)
        设置 Ranger_Three_Unit[0] = (技能施放目标)
        设置 lianshe_p[0] = (Ranger_Three_Unit[0] 的位置)
        设置 lianshe_p[1] = (Ranger_Three_Unit[1] 的位置)
        单位组 - 选取 (半径为 500.00 圆心为 lianshe_p[0] 且满足 ((((匹配单位) 是 (Ranger_Three_Unit[1] 的所有者) 的同盟单位) 等于 FALSE) 且 ((匹配单位) 不等于 Ranger_Three_Unit[0])) 的所有单位) 内所有单位做动作
            Loop - 动作
                设置 Ranger_Three_Unit[9] = (选取单位)
        单位组 - 为 lianshe_G[0] 添加 (选取单位)
        单位 - 创建 1 个 三连射 给 (Ranger_Three_Unit[1] 的所有者) 在 lianshe_p[1] ,面向角度为 默认建筑朝向 度
        单位 - 设置 (最后创建的单位) 的 三连射 辅助 等级为 (Ranger_Three_Unit[1] 的 三连射  技能等级)
        动画 - 改变 (最后创建的单位) 的颜色值: (50,50,255), 透明值: 100
        单位 - 为 (最后创建的单位) 设置 水元素 类型的生命周期,持续时间为 2.00 秒
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                Ranger_Three_Unit[9] 等于 没有单位
            Then - 动作
                单位 - 对 (最后创建的单位) 发布 人族山丘之王 - 风暴之锤 命令到目标: Ranger_Three_Unit[0]
            Else - 动作
                单位 - 对 (最后创建的单位) 发布 人族山丘之王 - 风暴之锤 命令到目标: Ranger_Three_Unit[9]
        单位组 - 清空 lianshe_G[0] 内所有单位
        单位组 - 选取 (半径为 500.00 圆心为 lianshe_p[0] 且满足 ((((匹配单位) 是 (Ranger_Three_Unit[1] 的所有者) 的同盟单位) 等于 FALSE) 且 ((匹配单位) 不等于 Ranger_Three_Unit[0])) 的所有单位) 内所有单位做动作
            Loop - 动作
                设置 Ranger_Three_Unit[8] = (选取单位)
        单位组 - 为 lianshe_G[0] 添加 (选取单位)
        单位 - 创建 1 个 三连射 给 (Ranger_Three_Unit[1] 的所有者) 在 lianshe_p[1] ,面向角度为 默认建筑朝向 度
        单位 - 设置 (最后创建的单位) 的 三连射 辅助 等级为 (Ranger_Three_Unit[1] 的 三连射  技能等级)
        单位 - 为 (最后创建的单位) 设置 水元素 类型的生命周期,持续时间为 3.00 秒
        动画 - 改变 (最后创建的单位) 的颜色值: (50,50,255), 透明值: 100
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                Ranger_Three_Unit[8] 等于 没有单位
            Then - 动作
                单位 - 对 (最后创建的单位) 发布 人族山丘之王 - 风暴之锤 命令到目标: Ranger_Three_Unit[0]
            Else - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        Ranger_Three_Unit[8] 等于 Ranger_Three_Unit[9]
                    Then - 动作
                        单位 - 对 (最后创建的单位) 发布 人族山丘之王 - 风暴之锤 命令到目标: Ranger_Three_Unit[0]
                    Else - 动作
                        单位 - 对 (最后创建的单位) 发布 人族山丘之王 - 风暴之锤 命令到目标: Ranger_Three_Unit[8]
        单位组 - 清空 lianshe_G[0] 内所有单位
        点 - 清除 lianshe_p[0]
        点 - 清除 lianshe_p[1]
        设置 Ranger_Three_Unit[0] = 没有单位
        设置 Ranger_Three_Unit[8] = 没有单位
        设置 Ranger_Three_Unit[9] = 没有单位
[/trigger]
 楼主| 发表于 2012-9-9 16:50:40 | 显示全部楼层
求大神~~~
回复

使用道具 举报

发表于 2012-9-9 16:59:27 | 显示全部楼层
触发逻辑混乱,不知道要如何评价……如果你能了解计算机读取这些触发的顺序,估计会好一点……
问题最大的部分就不提了,因为不知道从哪说好……
小问题先说……
选取单位满足条件里面,“是英雄的敌对单位为TURE”和“是英雄的同盟单位为FALSE”有一点不同,就是对待中立单位上(比如鸡,兔子之类的)……你这样做也许会误伤小兔子的……
然后,这个单位组选取会产生泄露,你没有任何阻止泄露的手段……
其他的自己慢慢想把……其实类似的技能有人做过……似乎是叫做“过载”
回复

使用道具 举报

发表于 2012-9-12 07:49:27 | 显示全部楼层
给你换个无T的。

TA.w3x

14 KB, 下载次数: 35

回复

使用道具 举报

发表于 2012-9-12 07:54:08 | 显示全部楼层
其实你这个还有个取巧的做法,不用太多触发。

释放技能的时候添加两个有攻击效果临时单位  (投射物效果和技能释放投射物一致)  存活 1s。

那么临时单位自然就会攻击附近的目标了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 08:48 , Processed in 0.174579 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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