Vetal раз не выполняется второе условие, посмотри, какой класснейм у pHurt:
ALERT(at_console,"pHurt: %s\n", STRING(pHurt->pev->classname));
И первый параметр у CheckTraceHullAttack попробуй увеличить.
Добавлено сегодня в 08:05:
Wargon это зачем? pHurt это не edict, а CBaseEntity*.
Не, меня второе условие вообще не волнует на самом деле. У меня проблема в том, что монстр не отнимает жизни у других монстров(у player соответственно тоже).
А на счет CheckTraceHullAttack уже все что можно было попеременял... результат 0.
А еще что больше удивляет, то что это обрезок из HandleAnimEvent зомби. Как там может что то не работать.
Ответ на этот вопрос:
В Spawn для монстра было написано
UTIL_SetSize( pev, Vector( -1, -1, 0 ), Vector( 1, 1, 1 ) );
Поменять ее хотябы на
UTIL_SetSize( pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX );
и все заработало.