找回密码
 点一下
查看: 1551|回复: 12

请问下捕捉收到伤害的单位

[复制链接]
发表于 2009-3-2 12:18:27 | 显示全部楼层 |阅读模式
目前我用的最多的就是 单位 被攻击 的事件来做动作,但是 如果是被魔法攻击,就不会触发事件了。。

怎么样才能捕捉到收到伤害的事件呢?无论是魔法还是普通攻击?事件里有个 单位-衰退 是不是指生命减少呢?好像无效果

就是说。。被献祭攻击到的单位,该如何捕捉呢?
发表于 2009-3-2 12:44:53 | 显示全部楼层
魔法攻击同样会触发单位受到伤害事件

除非是直接用T设置单位生命值才不会触发
回复

使用道具 举报

发表于 2009-3-2 12:50:09 | 显示全部楼层
被献祭攻击到的单位一样算受到伤害。
回复

使用道具 举报

 楼主| 发表于 2009-3-2 15:36:41 | 显示全部楼层
噢~~~?我确认一下。,我是用的单位被攻击的,是这个事件吗?不是单位受到伤害~~
回复

使用道具 举报

发表于 2009-3-2 17:31:29 | 显示全部楼层
单位被攻击相当于单位获得攻击目标,这个时间相当的早,相当的不准确,而且这个事件捕捉不到伤害值等这些数据
回复

使用道具 举报

发表于 2009-3-2 19:04:28 | 显示全部楼层
使用任意单位被攻击事件的话
技能会有使用按S来增加伤害的BUG
一般我们使用的方法是注册事件
就是对任何可能被影响到的单位注册一个指定单位事件
比如任意单位被攻击事件可以改为每个单位的被攻击事件
(通常我们用的是接受伤害)
这种方法其他的事件也可以
只要事件有任意和指定两种的就可以
回复

使用道具 举报

 楼主| 发表于 2009-3-2 20:52:56 | 显示全部楼层
额。。那么动态注册可能受到影响的单位,一个还简单,那多个呢?比如距离英雄一定范围内的单位,有多个。。用数组么?

其实我是不知道如何判断一个单位是不是某个单位数组里的。。 否则就可以用循环判断把那些单位都加入数组了。。。
回复

使用道具 举报

发表于 2009-3-2 20:59:11 | 显示全部楼层
引用第6楼Frozen-bird于2009-03-02 20:52发表的  :
额。。那么动态注册可能受到影响的单位,一个还简单,那多个呢?比如距离英雄一定范围内的单位,有多个。。用数组么?

其实我是不知道如何判断一个单位是不是某个单位数组里的。。 否则就可以用循环判断把那些单位都加入数组了。。。

建议去看一下关于动态注册的例子
回复

使用道具 举报

 楼主| 发表于 2009-3-2 21:31:43 | 显示全部楼层
我看的帖子 都是JASS的。。。。不懂。。。
回复

使用道具 举报

发表于 2009-3-2 21:36:45 | 显示全部楼层
http://www.islga.org/bbs/read.php?tid=19303

此贴中完全是用T来实现的,看了之后希望你能想想为什么那样做~~
回复

使用道具 举报

发表于 2009-3-2 21:46:20 | 显示全部楼层
动态注册:这个是比较常用的了,大部分在制作被动技能时会用得到。在正常情况下,如此使用是为了提高效率,因为任意开头的事件实在是效率太低了。
[trigger]
    事件
        时间 - 当游戏逝去 0.00 秒
    条件
    动作
        单位组 - 选取 ((可用地图区域) 内的所有单位) 内所有单位 (触发器 - 为 Trigger_XXX <预设> 添加事件: (单位 - unit YYY))
[/trigger]
[trigger]
    事件
        单位 - 任意单位进入 (可用地图区域)
    条件
    动作
        触发器 - 为 Trigger _XXX <预设> 添加事件: (单位 - unit YYY)
[/trigger]
上面是以单位的一个例子,实现的效果类似任意单位事件,这个事件将执行的触发是:Trigger _XXX<预设>,具体事件是:单位 – unit YYYYYY是代表具体的事件内容,比如死亡,被攻击,受到伤害等。
可以这样使用的事件包括,单位-指定单位事件、单位-进入指定单位范围(对于指定单位的注册)、单位-生命值事件、单位-魔法值事件、对话框-对话框被点击、可破坏物-物件死亡、时间-归零的计时器、玩家-输入的聊天信息、物品-物品被破坏。
一般我们主要使用指定单位事件的动态注册来达到或者完善任意单位事件。其他事件的动态注册很少会用到。特别要说的是,因为可破坏物-地图范围中的物件死亡事件最多响应64个可破坏物,所以一般我们都是用这样的动态注册来模拟的。
另外,我们在使用这样的注册方式时要注意使用对应的响应。比如指定单位事件中的单位要用事件响应-死亡单位来响应;可破坏物-物件死亡要用事件响应-死亡的物件响应。具体的响应可以在触发器的说明中找到。如图中红圈的位置:
1.jpg

如果说明文字过多而导致部分不可见,可以通过拉大窗口的方法来使其全部显示出来。
正好在写这个方面的教程,直接复制过来了
受到伤害的单位应该是事件响应-触发单位i,而施加伤害的应该是事件响应-伤害来源。
这些响应事件是局域的
你可以直接使用这个响应事件来代替变量
这样多个同时触发就不会冲突了
回复

使用道具 举报

发表于 2009-3-2 21:50:57 | 显示全部楼层
实际上会冲突的是变量
只要不设置变量就不会冲突了
一般如果T中没有等待的话
我们认为也是不会变量冲突的
而且在有等待的条件下我们只是在循环、排泄中必须使用变量
那么如果泄露不是太多,而且必须解决变量冲突问题的话
放弃排泄就可以了
至于循环中的变量冲突,
在T的范围内不是很好解决
只好想办法局域化了
回复

使用道具 举报

 楼主| 发表于 2009-3-2 22:49:08 | 显示全部楼层
谢谢了~~~~我好好看看~~~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 16:27 , Processed in 0.076958 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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