Project1

标题: 如何将技能伤害传递到公共事件 [打印本页]

作者: 578783944    时间: 2015-4-27 23:06
标题: 如何将技能伤害传递到公共事件
由于是群功法术,所以动画是用公共事件做的,但是系统是全动画战斗系统需要闪烁判断是否造成伤害,
当然可以在公共事件里用脚本
if $t == 19
a = $scene.active_battler
s = $scene.skill.id
for b in $scene.target_battlers
  b.skill_effect(a,$data_skills[151])
  b.show_damage(b.damage)
  b.hp -= b.damage
  b.damage = nil
end
end
来调取伤害
但是我设置的某些状态下目标所受伤害会转化成气血恢复
那么这个法术的伤害在公共事件,无法实现这个状态(当然我可以在公共事件脚本里加,但是我有很多类似的状态技能,不想加那么多)
而别的法术可以用self.damage = -self.damage实现这个状态

我现在的问题就是如何在公共事件里调取目标最后的self.damage
或者 伤害不在公共事件里  而在 绕过闪烁这个判断设置在脚本里设置技能伤害


作者: 汪汪    时间: 2015-4-28 05:58
1,可以建立一个变量把damage保存下来,然后在公共事件中调用。话说……b.damage 不就是你要的东西吗?
2,根据你说的效果,就是在公共事件中调用技能的问题,你可以从这方面着手,看看如何在公共事件中调用技能(新建一个技能,使用1技能发动公共事件然后公共事件调用2技能。)。
3,其实吧,公共事件变成脚本更方便。你可以把公共事件变成脚本放在脚本里,

作者: 578783944    时间: 2015-4-28 12:22
汪汪 发表于 2015-4-28 05:58
1,可以建立一个变量把damage保存下来,然后在公共事件中调用。话说……b.damage 不就是你要的东西吗?
2, ...

这个b.damage 只是数据库里设置的技能威力那些效果  无法在hp运算之前对damage进行改变处理
我要调取的伤害不是第一个damage  而是经过处理最终damage  也就是该技能HP运算之前的最后一个damage
作者: 578783944    时间: 2015-4-28 14:02
汪汪 发表于 2015-4-28 05:58
1,可以建立一个变量把damage保存下来,然后在公共事件中调用。话说……b.damage 不就是你要的东西吗?
2, ...

我怎么建立一个全局变量保存最终伤害
作者: 蓝儿    时间: 2015-4-28 16:26
你可以使用一个连击脚本
还可以在计算伤害前面吧damage赋予一个变量
有一种办法是用连击脚本里的伤害总和来调用
脸图上面显示就好了
在连击脚本里加一个调用公共事件应该可以达到目的
这需要你的事件不能太长
提取这个变量来使用
问题应该能解决的。
【【【别人告诉窝的QWQ
作者: 578783944    时间: 2015-4-28 17:41
蓝儿 发表于 2015-4-28 16:26
你可以使用一个连击脚本
还可以在计算伤害前面吧damage赋予一个变量
有一种办法是用连击脚本里的伤害总和来 ...

我已经弄好了,不过我有非常多很复杂的伤害转化状态,用你说的方法可能太复杂了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1