PHP Code:
Float:get_2d_distance_f(const Float:fStart[3], const Float:fEnd[3])
{
return floatsqroot( ( fStart[0] - fEnd[0] ) ^ 2.0 + ( fStart[1] - fEnd[1] ) ^ 2.0 );
}
Replace get_distance with get_2d_distance_f
And check if player z axis is approximately on the ground.
PHP Code:
if( (get_2d_distance_f(Origin, origin_i) > 200.0) || !((Origin[2] - 72.0) <= origin_i[2] <= (Origin[2] + 36.0)) )
Full fixed code:-
PHP Code:
Check_AttackDamage2(id)
{
new Float:origin_i[3], Float:Origin[3]
pev(id, pev_origin, Origin)
for(new i = 1; i <= g_MaxPlayers; i++)
{
if(!is_user_alive(i))
continue
pev(i, pev_origin, origin_i)
if( (get_2d_distance_f(Origin, origin_i) > 200.0) || !((Origin[2] - 36.0) <= origin_i[2] <= (Origin[2] + 36.0)) )
continue
if(cs_get_user_team(id) == cs_get_user_team(i))
continue
ExecuteHamB(Ham_TakeDamage, i, 0, id, 750.0, DMG_SLASH)
Make_PlayerShake(i)
}
}
__________________