找回密码
 点一下
查看: 1098|回复: 7

设置单位生命值问题

[复制链接]
发表于 2009-1-22 00:18:18 | 显示全部楼层 |阅读模式
我用的是单位接受伤害事件,动作为:设置单位生命值为单位最大生命值(生命值为100%也试过)。


但是出现BUG:

当单位满血时,触发器动作无效。就是说单位是满血时,一个锤子砸过去该伤害多少血就伤害多少血。(比如单位最大生命为675,现在为675,锤子伤害100,单位(英雄护甲)中锤子后生命变为600,说明那个触发动作没做)

单位不是满血时,该单位受伤害后,单位的生命值变为很接近最大生命值,但是不会满。(比如单位最大生命为675,现在为200,中一锤子后生命变为630,被火枪攻击后生命变为667,就是不满)

请问是怎么回事?

触发

事件:单位接受伤害
动作:设置 触发单位 的生命值为 触发单位最大生命值 (设置单位生命值为100%也是一样的结果)
发表于 2009-1-22 00:19:57 | 显示全部楼层
单位接受伤害这个事件可以理解为实际接受伤害前的那一刻,所以说那时的生命值是接受伤害前的生命值
回复

使用道具 举报

发表于 2009-1-22 00:52:41 | 显示全部楼层
接受伤害的那一瞬间,单位的生命值不会减少,这个时间大约是0.001秒.也许还要小于这个数.
因此,你要测在他扣血之后做动作才能生效.
回复

使用道具 举报

发表于 2009-1-22 00:59:50 | 显示全部楼层
于是这里需要一个0秒计时器,计时器到期后再加血吧
可能会涉及一些jass,恩
回复

使用道具 举报

 楼主| 发表于 2009-1-22 01:04:32 | 显示全部楼层
但是为什么血不满的时候就正常了?

比如  
血不满的时候  接受伤害

设置  单位生命值=当前生命值+伤害值。

我试过,生命就不会改变。但是血满的时候就没效果了

更可恶的是,设置生命没100%的情况正如我上面所说。

我无语了     




另外,我使用JASS做的   只是后来用T确认了一遍。效果是一样的,
回复

使用道具 举报

发表于 2009-1-22 01:06:48 | 显示全部楼层
因为你所说的不满血的情况是加上去仍然不满血,那么加了也就加了

如果加上之后超过了满血,那么最多只能到满血,然后再扣除伤害值,明白了吗?
回复

使用道具 举报

发表于 2009-1-22 01:09:14 | 显示全部楼层
血满加血是无效的,即——你无法将单位的当前血量加到大于单位的最大血量。但如果单位的血并没有满时,你相当于是在伤害之前增加了单位的血量,然后接受伤害。

额,猪头君竟然比我快勒一拍.......
回复

使用道具 举报

 楼主| 发表于 2009-1-22 10:58:11 | 显示全部楼层
对哈,决定改了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 14:36 , Processed in 0.045646 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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