找回密码
 点一下
查看: 1583|回复: 7

一个技能元素风暴、被攻击事件相关

[复制链接]
发表于 2011-3-26 03:57:22 | 显示全部楼层 |阅读模式
更新一下帖子  感谢6楼希瓦酱和原帖作者
问题得到了看起来效果不错的解决
[trigger]ES
    事件
        单位 - 任意单位 发布指定物体目标指令
        单位 - 任意单位 发布指定点目标指令
        单位 - 任意单位 发布无目标指令
    条件
    动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                (发布的命令ID) 等于 (转换 immolation 为命令ID)
            Then - 动作
                触发器 - 开启 ES2 <预设>
            Else - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        (发布的命令ID) 等于 (转换 unimmolation 为命令ID)
                    Then - 动作
                        触发器 - 关闭 ES2 <预设>
                    Else - 动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                Or - 任意条件成立
                    条件
                        ((触发单位) 拥有 元素风暴 ) 等于 TRUE
                        ((触发单位) 的类型) 等于 元素风暴 火
                        ((触发单位) 的类型) 等于 元素风暴 水
                        ((触发单位) 的类型) 等于 元素风暴 暗
                        ((触发单位) 的类型) 等于 元素风暴 土
            Then - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        Or - 任意条件成立
                            条件
                                ((发布的命令ID) 等于 (转换 attack 为命令ID)) 且 ((命令发布目标) 等于 Target)
                                ((发布的命令ID) 等于 (转换 smart 为命令ID)) 且 ((((命令发布目标) 是 ((触发单位) 的所有者) 的敌对单位) 等于 TRUE) 且 ((命令发布目标) 等于 Target))
                    Then - 动作
                    Else - 动作
                        触发器 - 关闭 (当前触发)
                        单位 - 对 ESUnit[0] 发布 停止 命令
                        单位 - 对 ESUnit[1] 发布 停止 命令
                        单位 - 对 ESUnit[2] 发布 停止 命令
                        单位 - 对 ESUnit[3] 发布 停止 命令
                        触发器 - 开启 (当前触发)
            Else - 动作
[/trigger][trigger]ES2
    事件
        单位 - 任意单位 被攻击
    条件
    动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                ((攻击单位) 的类型) 等于 法师
            Then - 动作
                设置 Target = (触发单位)
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((攻击单位) 的 魔法值) 大于或等于 60.00
                    Then - 动作
                        单位 - 设置 (攻击单位) 的魔法值为 (((攻击单位) 的 魔法值) - 60.00)
                        单位 - 创建 1 个 元素风暴 火 给 ((攻击单位) 的所有者) 在 ((攻击单位) 的位置) ,面向角度为 ((攻击单位) 的面向角度) 度
                        设置 ESUnit[0] = 最后创建的单位 <New>
                        单位 - 对 最后创建的单位 <New> 发布 攻击 命令到目标: (触发单位)
                    Else - 动作
                        触发器 - 关闭 ES2 <预设>
                        单位 - 对 (攻击单位) 发布 暗夜精灵族恶魔猎手 - 解除献祭 命令
            Else - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((攻击单位) 的类型) 等于 元素风暴 火
                    Then - 动作
                        单位 - 创建 1 个 元素风暴 水 给 ((攻击单位) 的所有者) 在 ((攻击单位) 的位置) ,面向角度为 ((攻击单位) 的面向角度) 度
                        设置 ESUnit[1] = 最后创建的单位 <New>
                        单位 - 对 最后创建的单位 <New> 发布 攻击 命令到目标: (触发单位)
                    Else - 动作
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                                ((攻击单位) 的类型) 等于 元素风暴 水
                            Then - 动作
                                单位 - 创建 1 个 元素风暴 暗 给 ((攻击单位) 的所有者) 在 ((攻击单位) 的位置) ,面向角度为 ((攻击单位) 的面向角度) 度
                                设置 ESUnit[2] = 最后创建的单位 <New>
                                单位 - 对 最后创建的单位 <New> 发布 攻击 命令到目标: (触发单位)
                            Else - 动作
                                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                    If - 条件
                                        ((攻击单位) 的类型) 等于 元素风暴 暗
                                    Then - 动作
                                        单位 - 创建 1 个 元素风暴 土 给 ((攻击单位) 的所有者) 在 ((攻击单位) 的位置) ,面向角度为 ((攻击单位) 的面向角度) 度
                                        设置 ESUnit[3] = 最后创建的单位 <New>
                                        单位 - 对 最后创建的单位 <New> 发布 攻击 命令到目标: (触发单位)
                                    Else - 动作
[/trigger]

如上
现在不停的S也不会继续发动后续攻击了
而且攻击后如果马上走动不继续关注目标、后续攻击也不会完整、这个正是我想要的效果
只不过我是用让每个单位都停下攻击的方法完成的
特意把假单位的动画伤害点调高了一些(以前是0不管怎么发布停止命令也停不下来)
把目前的触发贴上来给大家看看了 有没有什么可以改进的地方

话说这个问题 虽然知道是老问题了 可是我不知道用什么关键字搜索能找到相关内容啊
只好发新帖了 求原谅
发表于 2011-3-26 14:06:49 | 显示全部楼层
很笨的方法,将攻击伤害点改为0
回复

使用道具 举报

发表于 2011-3-26 20:01:45 | 显示全部楼层
可一直接捕捉S命令啊,然后停止触发……
回复

使用道具 举报

 楼主| 发表于 2011-3-26 20:42:57 | 显示全部楼层
引用第1楼a595859893于2011-03-26 14:06发表的 :
很笨的方法,将攻击伤害点改为0

这样是没用的。。

捕捉S命令    那什么时候开启呢 好像很繁琐
回复

使用道具 举报

发表于 2011-3-26 21:45:06 | 显示全部楼层
能不能这样?
被攻击事件在伤害之前 触发发生后关闭触发满足任何一个条件就then的动作就跳过剩余动作和设一个布尔值为true 判断为true开启一个计时器到期就开启触发并设布尔值为false
回复

使用道具 举报

 楼主| 发表于 2011-3-26 22:45:51 | 显示全部楼层
引用第4楼放牧钓鱼于2011-03-26 21:45发表的 :
能不能这样?
被攻击事件在伤害之前 触发发生后关闭触发满足任何一个条件就then的动作就跳过剩余动作和设一个布尔值为true 判断为true开启一个计时器到期就开启触发并设布尔值为false

还要考虑攻击速度的因素啊。。这样有点不太可行的感觉 毕竟是想让这个效果随攻击发动
回复

使用道具 举报

发表于 2011-3-26 23:34:26 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-3-27 05:14:35 | 显示全部楼层
引用第6楼希瓦于2011-03-26 23:34发表的 :
http://bbs.islga.org/read-htm-tid-30048.html

真是惭愧    感谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 07:57 , Processed in 0.039605 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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