UmbrellaSwarm *Armored Zombie*
Posted: 2011 Nov 15 17:19
Paryškinta kodo vieta, dėl kurios kyla problemų. Žalos darymas iš ginklo puikiai veikia, su granata niekaip nesusitvarkaupublic bacon_takedamage(victim, inflictor, attacker, Float:damage, Float:hedamage, damagetype, damagebits)
{
if(damagetype & DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
return HAM_IGNORED
static CsTeams:team[2], hitgroup
team[0] = cs_get_user_team(attacker), team[1] = cs_get_user_team(victim)
hitgroup = g_hitgroups[victim]
if(team[0] == team[1])
{
return HAM_HANDLED
}
if(g_zombie[victim] && InfectedClass[victim] == 4)
{
if( damagebits & DMG_HEGRENADE )
{
hedamage *= 0.0
SetHamParamFloat(4, hedamage)
}
else
{
switch(hitgroup)
{
case HIT_HEAD:
damage *= 0.25
case HIT_CHEST:
damage *= 0.25
case HIT_STOMACH:
damage *= 0.25
case HIT_LEFTARM:
damage *= 0.25
case HIT_RIGHTARM:
damage *= 0.25
case HIT_LEFTLEG:
damage *= 0.25
case HIT_RIGHTLEG:
damage *= 0.25
default:
damage *= (damagetype & DMG_HEGRENADE) ? get_pcvar_float(cvar_armored_hedamage) : 0.25
}
SetHamParamFloat(4, damage)
return HAM_HANDLED
}
}
else if(!g_zombie[attacker] && InfectedClass[victim] != 4)
{
switch(hitgroup)
{
case HIT_HEAD:
damage *= get_pcvar_float(cvar_hsdmg_multi)
case HIT_CHEST:
damage *= get_pcvar_float(cvar_chdmg_multi)
case HIT_STOMACH:
damage *= get_pcvar_float(cvar_stdmg_multi)
case HIT_LEFTARM:
damage *= get_pcvar_float(cvar_ladmg_multi)
case HIT_RIGHTARM:
damage *= get_pcvar_float(cvar_radmg_multi)
case HIT_LEFTLEG:
damage *= get_pcvar_float(cvar_lldmg_multi)
case HIT_RIGHTLEG:
damage *= get_pcvar_float(cvar_rldmg_multi)
default:
damage *= (damagetype & DMG_HEGRENADE) ? get_pcvar_float(cvar_hedmg_multi) : get_pcvar_float(cvar_wpdmg_multi)
}
SetHamParamFloat(4, damage)
return HAM_HANDLED
}
else if(g_zombie[attacker] && InfectedClass[attacker] == 3)
{
switch(hitgroup)
{
case HIT_HEAD:
damage *= get_pcvar_float(cvar_hsdmg_chain)
case HIT_CHEST:
damage *= get_pcvar_float(cvar_chdmg_chain)
case HIT_STOMACH:
damage *= get_pcvar_float(cvar_stdmg_chain)
case HIT_LEFTARM:
damage *= get_pcvar_float(cvar_ladmg_chain)
case HIT_RIGHTARM:
damage *= get_pcvar_float(cvar_radmg_chain)
case HIT_LEFTLEG:
damage *= get_pcvar_float(cvar_lldmg_chain)
case HIT_RIGHTLEG:
damage *= get_pcvar_float(cvar_rldmg_chain)
default:
damage *= get_pcvar_float(cvar_wpdmg_chain)
}
SetHamParamFloat(4, damage)
return HAM_HANDLED
}
return HAM_IGNORED
}
