Quote:
Originally Posted by Flick3rR
Yes, that's why the upper part of the code is doing. But I was talking about that check, what do you think? It checks if the damage is 0.0, therefore there is no damage received.
|
Alright, can't hurt if i try
Edit:
Took a code from zp 4.3. but do not know how to add it in the code. because i suck.
PHP Code:
public fw_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType)
{
if(!g_Game_Start)
return HAM_SUPERCEDE
if(Victim == Attacker)
return HAM_IGNORED
if(!is_user_alive(Attacker))
return HAM_IGNORED
if(Get_BitVar(g_IsZombie, Victim) && !Get_BitVar(g_IsZombie, Attacker)) // Human -> Zombie
{
if(DamageType & DMG_HEGRENADE) SetHamParamFloat(4, Damage * float(D_GrenadePower))
else {
Damage *= g_fDamageMulti[g_Level[Attacker]]
// Zombie Victim Evolution Code Here!!!
if(g_Level[Victim] < 3)
{
g_Evolution[Victim] += (g_Level[Victim] < 2) ? Damage / 2000.0 : Damage / 1000.0
UpdateLevelZombie(Victim, 0)
}
// Set Damage
SetHamParamFloat(4, Damage)
}
} else if(!Get_BitVar(g_IsZombie, Victim) && Get_BitVar(g_IsZombie, Attacker)) { // Zombie -> Human
if(DamageType & DMG_HEGRENADE)
return HAM_SUPERCEDE
// Get victim armor
static Float:armor
pev(Victim, pev_armorvalue, armor)
// If he has some, block the infection and reduce armor instead
if (armor > 0.0)
{
if (armor - damage > 0.0)
set_pev(victim, pev_armorvalue, armor - damage)
else
cs_set_user_armor(victim, 0, CS_ARMOR_NONE)
return HAM_SUPERCEDE;
}
// Set Zombie
set_user_zombie(Victim, Attacker, 0, 0)
return HAM_SUPERCEDE
}
return HAM_HANDLED
}
__________________