如何正確判定傷害高於一定值就執行命令??

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