From Valve Developer Community
Jump to: navigation, search

This function will return a CBasePlayer pointer to an entity based on the networked entity index which is passed in as a first parameter. The edict indices in the range 1 to gpGlobals->maxClients are reserved for players; all networked, non-player entities will be assigned to an index higher than gpGlobals->maxClients.


CBasePlayer *UTIL_PlayerByIndex( int entindex );


The following code can be used to safely iterate all player entities:

for ( int i = 1; i <= gpGlobals->maxClients; i++ )
	CBasePlayer *pPlayer = UTIL_PlayerByIndex(i);
	if (!pPlayer || !pPlayer->IsPlayer())