搜索
热搜: 活动 交友 discuz
查看: 20337|回复: 16

[演示] 已可以获取伤害,大家欢呼吧

[复制链接]

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
发表于 2015-3-3 16:40:00 | 显示全部楼层 |阅读模式

前方高能预警!非战斗人员请尽快登录!

您需要 登录 才可以下载或查看,没有帐号?注册账号

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,把这玩意给忘了



回复

使用道具 举报

12

主题

112

帖子

893

积分

大魔导师

UID
395
金币
1936
精华
1
节操
-69

黑科技玩的6开拓者隐修议员扛把子幸运儿!

发表于 2015-3-3 16:58:48 | 显示全部楼层
可喜可贺~~
回复

使用道具 举报

10

主题

101

帖子

368

积分

Lv:3 空明术士

UID
2883
金币
643
精华
0
节操
-16

幸运儿!

发表于 2015-3-3 17:14:50 | 显示全部楼层
伤害类型呢,能不能知道
回复 支持 反对

使用道具 举报

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
 楼主| 发表于 2015-3-3 17:59:59 | 显示全部楼层
Crane 发表于 2015-3-3 17:14
伤害类型呢,能不能知道

这个还是没法获取哈,伤害类型应该是属于Entity的API,目测V社还没给出来
回复 支持 反对

使用道具 举报

0

主题

21

帖子

92

积分

Lv:1 隐谧贤者

UID
3020
金币
243
精华
0
节操
1
发表于 2015-3-4 09:12:10 | 显示全部楼层
最近的一次更新是不是指每次重新生成地图都会崩溃的那次 ...
回复 支持 反对

使用道具 举报

76

主题

697

帖子

3047

积分

大摸导师

热爱让我们并肩

UID
4
金币
3554
精华
0
节操
-233

隐修议员

QQ
发表于 2015-3-4 12:56:27 | 显示全部楼层
了不起的发现   不过不能获取到keys.target  我的自定义伤害攻防系统还是得用原版
如果一个人尽可能做好能做的事情,那这个世界就一定会因为这件事情而变得更美好一点。
回复 支持 反对

使用道具 举报

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
 楼主| 发表于 2015-3-4 17:48:38 | 显示全部楼层
zblcm 发表于 2015-3-4 09:12
最近的一次更新是不是指每次重新生成地图都会崩溃的那次 ...

很大概率是,因为V社没说,也许是偷偷更新了
回复 支持 反对

使用道具 举报

7

主题

67

帖子

347

积分

创世神

《东方DOTS》制作组

UID
1347
金币
781
精华
0
节操
-21

创世者隐修议员扛把子开拓者幸运儿!幻想乡

发表于 2015-3-5 09:53:19 | 显示全部楼层
OnTakeDamage 攻击方是keys.attacker,攻防系统随便搭好吗。。
回复 支持 反对

使用道具 举报

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
 楼主| 发表于 2015-3-5 17:51:14 | 显示全部楼层
justarcherit 发表于 2015-3-5 09:53
OnTakeDamage 攻击方是keys.attacker,攻防系统随便搭好吗。。

我去,太久没用attacker了,竟然把这玩意给忘了
回复 支持 反对

使用道具 举报

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
 楼主| 发表于 2015-3-5 18:38:02 | 显示全部楼层
无双 发表于 2015-3-4 12:56
了不起的发现   不过不能获取到keys.target  我的自定义伤害攻防系统还是得用原版

OnTakeDamage可以
回复 支持 反对

使用道具 举报

7

主题

67

帖子

347

积分

创世神

《东方DOTS》制作组

UID
1347
金币
781
精华
0
节操
-21

创世者隐修议员扛把子开拓者幸运儿!幻想乡

发表于 2015-3-6 10:18:43 | 显示全部楼层

OnAttackLanded - The unit this modifier is attached to has landed an attack on a target. "%attack_damage" is set to the damage value before mitigation.

这个也可以好吗。。
回复 支持 反对

使用道具 举报

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
 楼主| 发表于 2015-3-6 19:27:54 | 显示全部楼层
justarcherit 发表于 2015-3-6 10:18
OnAttackLanded - The unit this modifier is attached to has landed an attack on a target. "%attack_ ...

我可没说不可以啊~,只是没演示
回复 支持 反对

使用道具 举报

0

主题

21

帖子

92

积分

Lv:1 隐谧贤者

UID
3020
金币
243
精华
0
节操
1
发表于 2015-3-15 01:56:18 | 显示全部楼层
OnTakeDamage指的是税后伤害么 .. 计算魔抗护甲折射海妖外壳刚毛后背美杜莎魔法盾之后的 ...
回复 支持 反对

使用道具 举报

43

主题

430

帖子

2855

积分

大魔导师

UID
1731
金币
3664
精华
5
节操
-46

黑科技玩的6我是鸽手隐修议员扛把子教程大师创世者开拓者

QQ
 楼主| 发表于 2015-3-15 01:57:27 | 显示全部楼层
zblcm 发表于 2015-3-15 01:56
OnTakeDamage指的是税后伤害么 .. 计算魔抗护甲折射海妖外壳刚毛后背美杜莎魔法盾之后的 ...

是税后伤害
回复 支持 反对

使用道具 举报

22

主题

148

帖子

1176

积分

Lv:4 虚灵先知

UID
3367
金币
1149
精华
0
节操
-4
发表于 2015-6-27 16:28:14 | 显示全部楼层
我在研究 spelllibrary 项目中火猫的火盾技能看到,可以这样获取是否是技能造成的魔法伤害
        -- Listening to entity hurt
        ListenToGameEvent( "entity_hurt", function( event )
                        -- check if should keep listening
                        if targetUnit.listener == true then
                                local inflictor = event.entindex_inflictor
                                local attacker = event.entindex_attacker
                                local compareTarget = event.entindex_killed
                                -- Check if it's correct unit
                                if compareTarget == targetEntIndex and inflictor ~= nil then
                                        local ability = EntIndexToHScript( inflictor )
                                        -- Check whether it is the correct type to block
                                        if ability:GetAbilityDamageType() == abilityBlockType then
                                                targetUnit.take_next[ attacker ] = false        -- use attacker entindex as ref point
                                        end
                                end
                        end
                end, nil
        )
end
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

Lv:1 隐谧贤者

UID
21139
金币
5
精华
0
节操
0
发表于 2021-12-2 05:12:39 | 显示全部楼层
这里说一下,OnDealDamage的目标是“Unit”,2021年亲测。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

Lv:1 隐谧贤者

UID
21200
金币
3
精华
0
节操
0
发表于 2022-1-27 03:52:40 | 显示全部楼层
代写论文 https://www.academicsaviour.com/ 开头的第一句话是最难写的。不要用一句哲理性的话开始你的论文:“长期以来,金融科学家一直无法确定金融市场是否有效。这篇论文本身一定很吸引人,不是因为很多人在这个问题上花了很多时间。同样,不要从大量描述写作动机以及这个问题对公共政策的重要性开始。对作者来说,这些只是“清嗓子”和浪费笔墨。务必在开始时解释短文的核心贡献。在介绍开始时,不要花一页半的时间介绍其他文献。首先,reader最关心的是您做了什么。除非reader了解您做了什么,否则他们无法判断您是否比别人做得更好。其次,大多数reader不熟悉相关文献。深入显出地解释您自己的短文已经颇为difficulty;若还要分析阐明他人的短文,那我只能祝您好运了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|Archiver|手机版|小黑屋|AMHC!dota2rpg~ ( 闽ICP备14009209 )

GMT+8, 2023-11-29 12:30 , Processed in 0.140432 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Theme.Yeei

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