// find this in player.cpp // either replace it or rename it CBaseEntity *FindEntityForward( CBaseEntity *pMe ) { TraceResult tr; UTIL_MakeVectors(pMe->pev->v_angle); UTIL_TraceLine(pMe->pev->origin + pMe->pev->view_ofs,pMe->pev->origin + pMe->pev->view_ofs + gpGlobals->v_forward * 2048,dont_ignore_monsters, pMe->edict(), &tr ); if ( tr.flFraction != 1.0 && !FNullEnt( tr.pHit) ) { CBaseEntity *pHit = CBaseEntity::Instance( tr.pHit ); if (pHit->IsPlayer()) { if (pHit->IsAlive()) { return pHit; } else return NULL; } else return NULL; } return NULL; } in player.cpp PreThink(): if (m_flNextTargetId <= gpGlobals->time) { CBaseEntity *plr = FindEntityForward(this); if (plr) { ClientPrint(pev, HUD_PRINTTALK, UTIL_VarArgs("<%s|%d|%d>\n", STRING(plr->pev->netname), (int)plr->pev->health, (int)plr->pev->armorvalue)); } m_flNextTargetId = gpGlobals->time + 0.5; } spawn: m_flNextTargetId = gpGlobals->time + 0.5; Add in player.h float m_flNextTargetId;