//----------------------------------------------------------------------------- // Purpose: Simple class to create a filter for all players on a given team //----------------------------------------------------------------------------- CTeamRecipientFilter::CTeamRecipientFilter( int team, bool isReliable ) { if (isReliable) MakeReliable(); RemoveAllRecipients(); for ( int i = 1; i <= gpGlobals->maxClients; i++ ) { CBasePlayer *pPlayer = UTIL_PlayerByIndex( i ); if ( !pPlayer ) { continue; } if ( pPlayer->GetTeamNumber() != team ) { //If we're in the spectator team then we should be getting whatever messages the person I'm spectating gets. if ( pPlayer->GetTeamNumber() == TEAM_SPECTATOR && (pPlayer->GetObserverMode() == OBS_MODE_IN_EYE || pPlayer->GetObserverMode() == OBS_MODE_CHASE || pPlayer->GetObserverMode() == OBS_MODE_POI) ) { if ( pPlayer->GetObserverTarget() ) { if ( pPlayer->GetObserverTarget()->GetTeamNumber() != team ) continue; } } else { continue; } } AddRecipient( pPlayer ); } }
//----------------------------------------------------------------------------- // Purpose: Simple class to create a filter for all players on a given team //----------------------------------------------------------------------------- CTeamRecipientFilter::CTeamRecipientFilter( int team, bool isReliable ) { if (isReliable) MakeReliable(); RemoveAllRecipients(); for ( int i = 1; i <= gpGlobals->maxClients; i++ ) { CBasePlayer *pPlayer = UTIL_PlayerByIndex( i ); if ( !pPlayer ) { continue; } if ( pPlayer->GetTeamNumber() != team ) { continue; } AddRecipient( pPlayer ); } }