找回密码
 点一下
查看: 991|回复: 12

关于接受伤害事件导致的重复伤害

[复制链接]
发表于 2012-2-21 21:33:34 | 显示全部楼层 |阅读模式
我用生命汲取模板做的属性伤害技能,生命汲取在物体编辑器中的伤害是1点,属性伤害是在触发器里实现的。刚开始的时候还没什么问题,可是这个技能用了很多次之后,伤害开始不正常起来了,最高级的时候我设置的是智力值的300%的伤害,持续5秒,但是不到5秒就打出了1800多的伤害~我的英雄的智力值才50不到,这是怎么回事呢?是不是判断完目标身上有BUFF后删除BUFF才行呀?可是删除完BUFF后还会出现这种状况呢?
发表于 2012-2-21 21:57:17 | 显示全部楼层
你可以对触发伤害的时候加打印,看看是没多少时间出一次的
回复

使用道具 举报

发表于 2012-2-21 22:00:15 | 显示全部楼层
也许是你的触发的问题,建议将触发贴上来。
回复

使用道具 举报

 楼主| 发表于 2012-2-22 10:36:47 | 显示全部楼层
a.png b.png
c.png
d.png
回复

使用道具 举报

 楼主| 发表于 2012-2-22 10:38:01 | 显示全部楼层
那个痛苦纠缠是如果目标身上有痛苦纠缠BUFF则持续伤害提高20%。
回复

使用道具 举报

发表于 2012-2-22 10:50:34 | 显示全部楼层
个人想法同沙发,造成伤害的那个T里加个显示文字Debug一下
   

单位事件重复注册了,每次施法都会注册相同的“停止施法”和“施法结束”事件到相同的T里(可能问题也出在这里)

既然将SpellUnit[2]设置为没有单位了为什么不设置SpellUnit[1]=没有单位?

另外“施放技能结束”时会触发“停止施放技能”事件,所以不用注册两个事件,“施放技能结束”这个事件触发时SpellUnit[2]和计时器都已经在“停止施放技能”T里排泄掉了


最后请允许我吐个槽……
一开始我以为LZ只写了两个T。。因为除了最后一个触发名开头小写外,剩下的看起来都差不多……
个人不是赞成这样的写法。。容易眼花
比如可以名字后面加数字来区别什么的~
回复

使用道具 举报

 楼主| 发表于 2012-2-22 19:08:18 | 显示全部楼层
你说的是第一张图片和第三张图片吗?其实是我鼠标点快了多上传了一张图片,触发器里是只有4个触发的,一个是发动技能效果触发,第二个是计时器到时伤害触发,另外两个是技能结束和停止施放的触发,我已经把停止施放技能结束这个触发删了。我觉得问题应该出在我没有用数组变量记录单位,因为我的地图里出现两个同样的英雄,他们施放同样的法术,那么伤害就可能会重复叠加,因为触发只能判断最后施法的那个单位呀,回头我试试只有一个英雄会不会出BUG
回复

使用道具 举报

 楼主| 发表于 2012-2-22 19:12:46 | 显示全部楼层
咦,忘了说谢谢啊~
回复

使用道具 举报

发表于 2012-2-22 21:53:49 | 显示全部楼层
施法完了把上个注册的触发关了即可
回复

使用道具 举报

 楼主| 发表于 2012-2-22 23:35:57 | 显示全部楼层
是关闭模拟持续伤害和回血的那个触发吗?
回复

使用道具 举报

发表于 2012-2-23 02:35:42 | 显示全部楼层
8楼说的是把注册事件的那个触发关了
不过那样的话,计时器要另外处理了,也可以用单位组什么的判断是否已经注册过了,然后不再注册即可
PS:循环计时器的话删除前最好先暂停,记得以前在哪个帖看过说不先暂停直接删会bug。。
回复

使用道具 举报

发表于 2012-2-23 08:42:04 | 显示全部楼层
不暂停依旧会执行完当前这次计时
回复

使用道具 举报

发表于 2012-3-3 17:06:52 | 显示全部楼层
重复注册,事件动作倍增
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 00:28 , Processed in 0.092096 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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