如何正确判定伤害高于一定值就执行命令??

Home Home
引用 | 编辑 glay2005
2012-03-31 22:25
楼主
推文 x0

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type, id)

if (!g_zombie[attacker])
{
        if (g_nemesis[victim])
        {
                g_damageskill[victim] += floatround(damage)

                while (g_damageskill[victim] >= 2000)
                 {
                        g_damageskill[victim] -= 2000
                        set_task(0.0,"skill",victim)
                 }
        }
}

比如我想设定人类攻击复仇者
然后再复仇者上设定累积伤害判定
当伤害达到一定值就执行一个命令
不过是什么因素导致无法正常执行呢...?表情

献花 x0
引用 | 编辑 观众甲
2012-04-01 14:38
1楼
  
对sma认知不深

其实这个可以用playerprethink来判断g_damageskill是否过2000吧 :o

献花 x1
引用 | 编辑 andyt0621
2012-04-01 16:11
2楼
  
复制程式
RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")
有这个吗 ??

献花 x0
引用 | 编辑 glay2005
2012-04-01 16:37
3楼
  
下面是引用 上帝的右手^^ 于 2012-04-01 14:38 发表的 : 到引言文
对sma认知不深

其实这个可以用playerprethink来判断g_damageskill是否过2000吧 :o
prethink我也尝试过也是一样无效..表情
是我的写法有问题还是其他因素??

献花 x0
引用 | 编辑 glay2005
2012-04-01 16:39
4楼
  
下面是引用 andyt0621 于 2012-04-01 16:11 发表的 : 到引言文
复制程式
RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")
有这个吗 ??
这个原本就有了~
 

献花 x0
引用 | 编辑 andyt0621
2012-04-01 17:34
5楼
  
如果没有写..哪会 "原本就有" =.=
--
set_task(0.0,"skill",id)
这句用意何在 ??
不是让victim执行 "skill" 吗

献花 x1
引用 | 编辑 glay2005
2012-04-02 14:25
6楼
  
下面是引用 andyt0621 于 2012-04-01 17:34 发表的 : 到引言文
如果没有写..哪会 "原本就有" =.=
--
set_task(0.0,"skill",id)
这句用意何在 ??
不是让victim执行 "skill" 吗
忘了说是在ZP主源码里面改的  
set_task(0.0,"skill",victim)
小地方忘了修改0.0已修正但是还是无效的说...表情

补充:已经有高人愿意帮我检查了  谢谢各位回答=)表情

献花 x0