找回密码
 点一下
查看: 2019|回复: 19

帮我看看这个用连环霜冻的触发那里有毛病..

[复制链接]
发表于 2011-8-20 20:06:14 | 显示全部楼层 |阅读模式
我做了个改版的连环霜冻,就是DOTA巫妖大,效果是弹射到友军就回血,弹射到敌军就扣血,可是测试的时候弹到友军身上的前几次没问题,到第4次的时候会从另一个单位(不是被弹到的单位)身上又出来一个球继续弹,而且弹到敌人的时候回一次出来好多球...研究了一下午了还没搞懂哪出错了.~~郁闷。
触发在这里
[trigger]
sdzq first
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 霜冻之球
    动作
        设置 sdzq_unit = (新建 ((触发单位) 的所有者) 的 马甲(冰巨魔牧师)(霜冻之球) 在(((触发单位) 所在X轴坐标),((触发单位) 所在Y轴坐标)),面向角度:((触发单位) 的面向角度) 度)
        单位 - 添加 霜冻之球 2 给 sdzq_unit
        单位 - 设置 霜冻之球 2 等级对 sdzq_unit 为 1
        单位 - 对 sdzq_unit 发布 人族山丘之王 - 风暴之锤 命令到目标: (技能施放目标)
        触发器 - 开启 sdzq second <预设>

[/trigger]
[trigger]
sdzq second
    事件
    条件
        (霜冻之球 2 的等级对 (伤害来源)) 大于 0
    动作
        漂浮文字 - 创建漂浮文字:((转换 (霜冻之球 2 的等级对 sdzq_unit) 为字符串) + Hit) 在 (触发单位) 头顶Z轴偏移 0.00 处,字体大小: 20.00 ,颜色值:(50.00%, 50.00%, 50.00%) ,透明度: 0.00%
        漂浮文字 - 设置 (最后创建的漂浮文字) : 禁用 永久显示.
        漂浮文字 - 设置 (最后创建的漂浮文字) 的生命周期为 0.50 秒
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                (霜冻之球 2 的等级对 sdzq_unit) 大于 0
            Then - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        ((触发单位) 是 (冰巨魔牧师 0040 <预设> 的所有者) 的同盟单位) 等于 TRUE
                    Then - 动作
                        单位 - 设置 (触发单位) 的生命值为 ((生命值 对于 (触发单位)) + (70.00 + (20.00 + ((转换 (霜冻之球  的等级对 冰巨魔牧师 0040 <预设>) 为实数) x 10.00))))
                    Else - 动作
                        单位 - 命令 冰巨魔牧师 0040 <预设> 对 (触发单位) 造成 (160.00 + (20.00 + ((转换 (霜冻之球  的等级对 冰巨魔牧师 0040 <预设>) 为实数) x 20.00))) 点伤害,攻击类型: 法术 伤害类型: 魔法
                设置 sdzq_point = ((触发单位) 的位置)
                设置 sdzq_team = (半径为 800.00 圆心为 sdzq_point 且满足 ((((匹配单位) 是 建筑) 等于 FALSE) and ((((匹配单位) 是存活的) 等于 TRUE) and (((匹配单位) 是 魔法免疫) 等于 FALSE))) 的所有单位)
                单位组 - 为 sdzq_team 删除 (触发单位)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (sdzq_team 为空) 等于 FALSE
                    Then - 动作
                        单位 - 提升 霜冻之球 2 等级对 sdzq_unit
                        单位 - 立即移动 sdzq_unit 到 sdzq_point
                        单位 - 对 sdzq_unit 发布 人族山丘之王 - 风暴之锤 命令到目标: (sdzq_team 中随机选取的一个单位)
                    Else - 动作
            Else - 动作
        单位组 - 删除 sdzq_team
        点 - 清除 sdzq_point
[/trigger]
第二个触发我已经在初始化的时候给他加了单位接受伤害的事件了,帮我看看哪里错了.对了,我的马甲技能是8个等级的风暴之锤改的,没有伤害,马甲也没有问题就是弹射这里出了问题。
发表于 2011-8-20 22:16:27 | 显示全部楼层
   看起来有些杂乱。。。

   话说  可以每次弹射都随机选取一个单位的啊  而不是一个单位组存活到死
回复

使用道具 举报

发表于 2011-8-20 22:55:09 | 显示全部楼层
暂时只看出两个问题,一个是马甲没有排泄,另一个是单位组的选取会选到马甲(除非你马甲是建筑或者魔免),但是造成LZ所说的那个现象的原因还不清楚,实在太困了我先去睡了……

明早我再过来看下……

LZ顺便说下你的测试方法吧,我觉得跟测试的方式有关。。
回复

使用道具 举报

发表于 2011-8-21 10:19:45 | 显示全部楼层
LZ你能发图上来吗。。。我表示看不出来……
回复

使用道具 举报

 楼主| 发表于 2011-8-21 12:07:42 | 显示全部楼层
好吧,我去截个图
回复

使用道具 举报

发表于 2011-8-21 12:27:26 | 显示全部楼层
   是地图。。。
回复

使用道具 举报

 楼主| 发表于 2011-8-21 12:34:43 | 显示全部楼层
图来了~~~~~~这是对自己人放的:
友军.gif
这是对敌人
敌军.gif
回复

使用道具 举报

 楼主| 发表于 2011-8-21 13:18:06 | 显示全部楼层
我凌乱了~~~~~~ 图里面太乱了.....只能发截图了~~~~
回复

使用道具 举报

发表于 2011-8-21 13:20:14 | 显示全部楼层
从触发和截图我真心看不出来。。。要么上图(地图)要么等别人回答吧……

主要问题还是第二个T被多次触发,即使技能等级提到9之后。。所以我猜是跟技能的设置有关
回复

使用道具 举报

发表于 2011-8-21 13:21:35 | 显示全部楼层
引用第8楼as459678于2011-08-21 13:18发表的  :
我凌乱了~~~~~~ 图里面太乱了.....只能发截图了~~~~
LZ可以把这触发弄到新建的空图里然后发上来,虽然麻烦了点……
回复

使用道具 举报

 楼主| 发表于 2011-8-21 13:29:10 | 显示全部楼层
好的,我马上上图
回复

使用道具 举报

 楼主| 发表于 2011-8-21 13:58:10 | 显示全部楼层
地图来了......
ice ball.w3x (19 KB, 下载次数: 10)
回复

使用道具 举报

发表于 2011-8-21 15:03:58 | 显示全部楼层
ice ball.w3x (19 KB, 下载次数: 18)
回复

使用道具 举报

发表于 2011-8-21 15:16:44 | 显示全部楼层
小鸟。。你模板技能用什么的啊。。
风暴锤会触发三次接受伤害事件,主要问题就是这个。。然后我还没选好替换的技能。。
回复

使用道具 举报

发表于 2011-8-21 15:27:15 | 显示全部楼层
真相其实是眩晕效果的开始和结束都会施加一次0伤害
所以锤子变成0.01伤害和这个伤害区分开来之后条件判断就好了
回复

使用道具 举报

发表于 2011-8-21 15:35:53 | 显示全部楼层
顺便……

1.新建马甲那里,可以直接用“触发玩家”,施法事件是会注册玩家的,不需要“(触发单位)的所有者”
2.第二个T中“(霜冻之球 2 的等级对 (伤害来源)) 大于 0”和“(霜冻之球 2 的等级对 sdzq_unit) 大于 0”这两个条件重复,下面那个动作中的条件我觉得可以删除
3.第一个T中的“触发器 - 开启 sdzq second <预设>”仅在第一次使用该技能时有效,因为之后没有关闭第二个T,可以用条件判断,当霜冻之球2的等级达到8时关闭第二个T
4.马甲的排泄同理,这里不要用生命周期,用霜冻之球2的等级达到8来判断并杀死删除
5.马甲要有无敌技能,不然你这1血的马甲会被范围技能杀死
6.一般技能都会触发两次接受伤害事件,一次是预警,另一次是真正的伤害,这两次应该是同时的,但是带有某些BUFF的技能会触发第三次接受伤害事件,比如霜冻新星的减速BUFF,还有风暴锤的眩晕等
但是风暴锤有些特殊,那个BUFF的造成伤害是在眩晕结束后造成的,也就是比如晕2s,那么2s后会再触发一次这个接受伤害事件,也就是那个会在不是被弹射目标的单位处再次弹射……
回复

使用道具 举报

发表于 2011-8-21 15:36:37 | 显示全部楼层
引用第15楼a595859893于2011-08-21 15:27发表的  :
真相其实是眩晕效果的开始和结束都会施加一次0伤害
所以锤子变成0.01伤害和这个伤害区分开来之后条件判断就好了
原来如此。。。[s:166]
我没想到BUFF是添加0伤害……
回复

使用道具 举报

 楼主| 发表于 2011-8-21 15:45:13 | 显示全部楼层
感谢~我解决了,谢谢各位大大啦
回复

使用道具 举报

 楼主| 发表于 2011-8-21 15:51:54 | 显示全部楼层
今天算是学到了........我才发现我还是个菜鸟呀~~~~~~~~~~~
回复

使用道具 举报

发表于 2011-8-21 16:06:15 | 显示全部楼层
引用第18楼as459678于2011-08-21 15:45发表的  :
感谢~我解决了,谢谢各位大大啦
那么请把标题改成“已解决”吧~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 07:01 , Processed in 0.065534 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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