切换到宽版
  • 280阅读
  • 12回复

[求助]关于接受伤害事件导致的重复伤害 [复制链接]

上一主题 下一主题
在线lsltdz42
 

发帖
117
金钱
1309
威望
10
互助
0
我用生命汲取模板做的属性伤害技能,生命汲取在物体编辑器中的伤害是1点,属性伤害是在触发器里实现的。刚开始的时候还没什么问题,可是这个技能用了很多次之后,伤害开始不正常起来了,最高级的时候我设置的是智力值的300%的伤害,持续5秒,但是不到5秒就打出了1800多的伤害~我的英雄的智力值才50不到,这是怎么回事呢?是不是判断完目标身上有BUFF后删除BUFF才行呀?可是删除完BUFF后还会出现这种状况呢?
评价一下你浏览此帖子的感受

精彩

感动

愤怒

无聊

灌水

憧憬

鹿过

不解

杯具


吐血

头晕晕
在线zhuzeitou

发帖
17884
金钱
428
威望
220
互助
131
只看该作者 沙发  发表于: 02-21
你可以对触发伤害的时候加打印,看看是没多少时间出一次的
猪头因为自己猪头
所以只能以猪头为中心
去考虑猪头的问题………………

发帖
133
金钱
1382
威望
10
互助
0
只看该作者 板凳  发表于: 02-21
也许是你的触发的问题,建议将触发贴上来。
在线lsltdz42

发帖
117
金钱
1309
威望
10
互助
0
只看该作者 地板  发表于: 02-22
在线lsltdz42

发帖
117
金钱
1309
威望
10
互助
0
只看该作者 地下室  发表于: 02-22
那个痛苦纠缠是如果目标身上有痛苦纠缠BUFF则持续伤害提高20%。
离线chyj4747

发帖
1904
金钱
1978
威望
16
互助
25
只看该作者 5楼 发表于: 02-22
个人想法同沙发,造成伤害的那个T里加个显示文字Debug一下
  

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

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

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


最后请允许我吐个槽……
一开始我以为LZ只写了两个T。。因为除了最后一个触发名开头小写外,剩下的看起来都差不多……
个人不是赞成这样的写法。。容易眼花
比如可以名字后面加数字来区别什么的~
[ 此帖被chyj4747在2012-02-22 10:55重新编辑 ]
在线lsltdz42

发帖
117
金钱
1309
威望
10
互助
0
只看该作者 6楼 发表于: 02-22
你说的是第一张图片和第三张图片吗?其实是我鼠标点快了多上传了一张图片,触发器里是只有4个触发的,一个是发动技能效果触发,第二个是计时器到时伤害触发,另外两个是技能结束和停止施放的触发,我已经把停止施放技能结束这个触发删了。我觉得问题应该出在我没有用数组变量记录单位,因为我的地图里出现两个同样的英雄,他们施放同样的法术,那么伤害就可能会重复叠加,因为触发只能判断最后施法的那个单位呀,回头我试试只有一个英雄会不会出BUG
在线lsltdz42

发帖
117
金钱
1309
威望
10
互助
0
只看该作者 7楼 发表于: 02-22
咦,忘了说谢谢啊~
离线1103032037

发帖
23
金钱
1078
威望
10
互助
1
只看该作者 8楼 发表于: 02-22
施法完了把上个注册的触发关了即可
在线lsltdz42

发帖
117
金钱
1309
威望
10
互助
0
只看该作者 9楼 发表于: 02-22
是关闭模拟持续伤害和回血的那个触发吗?
离线chyj4747

发帖
1904
金钱
1978
威望
16
互助
25
只看该作者 10楼 发表于: 02-23
8楼说的是把注册事件的那个触发关了
不过那样的话,计时器要另外处理了,也可以用单位组什么的判断是否已经注册过了,然后不再注册即可
PS:循环计时器的话删除前最好先暂停,记得以前在哪个帖看过说不先暂停直接删会bug。。
[ 此帖被chyj4747在2012-02-23 02:38重新编辑 ]
在线zhuzeitou

发帖
17884
金钱
428
威望
220
互助
131
只看该作者 11楼 发表于: 02-23
不暂停依旧会执行完当前这次计时
猪头因为自己猪头
所以只能以猪头为中心
去考虑猪头的问题………………
离线w666gkc
发帖
18
金钱
1040
威望
14
互助
0
只看该作者 12楼 发表于: 03-03
重复注册,事件动作倍增