找回密码
 点一下
查看: 5130|回复: 0

物理攻击事件捕捉

  [复制链接]
发表于 2009-7-25 15:05:35 | 显示全部楼层 |阅读模式
以前发了一张帖子,是关于如何捕捉物理攻击事件的
结果发现这个实在是个经久不衰的问题啊
因为暴雪只做了个能捕捉攻击开始事件的“被攻击事件”
所以一直都有很多人被这个问题困扰
我在那张贴里得到了很多的启示
所以就把这个问题写下来供大家参考吧
其实有很多人已经作出了解答
我这个就算是个汇总吧

首先,我们来把物理攻击事件分个类
物理攻击事件大致可以分为:
攻击开始事件
攻击停止事件
攻击进行事件
攻击完成事件

我是仿技能事件来分的

攻击开始事件:指单位准备攻击但还未攻击(攻击动作的开始)的瞬间
这个事件可以直接用“单位被攻击”来捕捉
一般用来制作添加DEBUFF的被动技能,不能用来制作伤害型被动技能(不然可以用S键刷新)
如果硬要用来作伤害被动技能的话,那最好用BUFF识别(也就是技能带BUFF,有BUFF的单位不能二次伤害)
或者可以把“动画伤害点”改成0,这也算是个好的偷懒办法了

攻击停止事件:是指在攻击开始和攻击进行之间的时间内,发布的使攻击停止的命令
这个事件可以用捕捉命令的方法来捕捉
也就是:
攻击开始,开启捕捉命令触发
攻击进行完成,关闭捕捉命令触发
捕捉在这之间发布的能使攻击中断的命令,就算捕捉到了这个事件
实际上这个事件意义不是很大,但是还可以来制作连续攻击的技能,也可以辅助其他事件

攻击进行事件:是指攻击动作完成,箭矢刚开始飞行的时刻。对于近战攻击来说,这个事件和攻击完成一样,所以参考攻击完成事件。
要捕捉这个事件,我还没有很好的办法,因为像粉碎这样的被动技能都是箭矢飞到了才触发
目前我的方法有两个:
(1)把“动画伤害点”改成0,用“被攻击事件”捕捉,这个目前最简单也最白痴
(2)在攻击开始时建一个攻速与动画伤害点和主单位一样的马甲,马甲攻击坐标一样的马甲,捕捉伤害就算捕捉到了这个事件(需要配合"攻击停止事件"使用)。这个办法比较复杂,但也算比较马虎的精确了。
这个事件可以用来做技能箭矢跟攻击箭矢一起飞行的被动技能

攻击完成事件:是指攻击完成,已造成伤害的事件(箭矢飞到目标)
一般用伤害事件来捕捉,目前也是最好的办法
具体的方法是:
(1)用重击制作该被动技能(添加BUFF方便捕捉。当然,也可以用法球,但法球不能叠加,重击又有防闪避的效果,唯一的缺陷是重击会打断。话说DOTA“巨力重击”大概就是“重击”改的吧)
(2)动态注册伤害事件
(3)触发伤害事件检查BUFF
(4)检查到则删除BUFF且触发事件
。。。
话说也有人用自残大法的说
自残大法更简单,但有BUG
比如自身无敌无法触发,自残常常误伤等等。。
所以就直接无视了
再话说我还有掠夺大法的
但是也不说了,还是伤害事件最好

。。。好了,话也就说的这里了
如果大家觉得我说得没有道理或者你有更好的方法
请提出你的意见或建议

下面是演示,只是个简单的演示,没做排泄和其他的细节改动,有谁发现BUG给我说下

演示.w3x

19 KB, 下载次数: 471

评分

参与人数 1威望 +12 收起 理由
alexries + 12 额外hmmm。

查看全部评分

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

本版积分规则

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

GMT+8, 2024-4-19 16:03 , Processed in 0.377537 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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