
大魔导师
性别男
在线时间307 小时
注册时间2014-6-1
最后登录2019-8-13
荣誉8
创造力102
求知欲71
互助267
智慧146

大魔导师
- UID
- 1731
- 金币
- 3664
- 精华
- 5
- 节操
- -46
      

|
前方高能预警!非战斗人员请尽快登录!
您需要 登录 才可以下载或查看,没有帐号?注册账号
x
本帖最后由 裸奔的代码 于 2015-3-5 18:35 编辑
今天archer看到了某种获取伤害的东西,其实几个月之前archer也有说过了
就是KV里面有个attack_damage,我们是不能使用这个词的,当时也猜到应该是跟获取伤害有关
但是我在进行OnAttackLaned,OnTakeDamage,OnDealDamage,获取这个attack_damage都没效
可喜可贺是在距离最近的一次大更新中,V社修复了这个BUG,可以获取受到的伤害了
你只需要在modifier里面这样做
[mw_shl_code=actionscript3,true]"Modifiers"
{
"modifier_name"
{
"Passive" "1"
"OnTakeDamage"
{
"RunScript"
{
"ScriptFile" "scripts/vscripts/ability.lua"
"Function" "TestDamage"
"DamageTaken" "%attack_damage"
}
}
}
}[/mw_shl_code]
Lua里面这样获取
[mw_shl_code=golang,true]function TestDamage( keys )
print(keys.DamageTaken)
end[/mw_shl_code]
这样就妥妥的获取到伤害,OnDealDamage也是同理
注意:
OnDealDamage是获取造成的伤害,
OnTakeDamage是获取受到的伤害,
OnDealDamage和OnTakeDamage里面只有caster,没有target
所以在Lua里面只能获取到keys.caster,不能获取keys.target
不过不用灰心,可以使用attacker,KV里面就是ATTACKER
Lua里面就是keys.attacker
OnDealDamage里面attacker就是指caster,so,attacker==caster,还是不能获取伤害的目标
OnTakeDamage里面attacker就是指伤害来源,caster就是指拥有这个技能的单位
最后感谢archer的提醒,我太久没用attacker,把这玩意给忘了
|
|