Beispiel #1
0
void CNetSends::Chat( unsigned char ucPlayer, char* szText )
{
	CPlayerPool* pPlayer = CPlayerPoolManager::Find( ucPlayer );
	if ( pPlayer )
	{
		if ( !pPlayer->GetMuted() )
		{
			BYTE byteTextLen = strlen( szText );

			RakNet::BitStream bsSend;
			bsSend.Write( ucPlayer );
			bsSend.Write( byteTextLen );
			bsSend.Write( szText, byteTextLen );

			//NetInterface->RPC( "Chat", &bsSend, HIGH_PRIORITY, RELIABLE, 0, pPlayer->GetPlayerID(), TRUE, FALSE );
			unsigned char uc = 0, uc1 = 0;
			while ( ( uc < MAX_PLAYERS ) && ( uc1 < CPlayerPoolManager::Count() ) )
			{
				CPlayerPool* pSendTo = CPlayerPoolManager::Find( uc );
				if ( pSendTo )
				{
					if ( pSendTo != pPlayer )
					{
						// If the player hasn't ignored the player talking, send the message
						if ( !pSendTo->GetIgnored( ucPlayer ) ) NetInterface->RPC( "Chat", &bsSend, HIGH_PRIORITY, RELIABLE, 0, pSendTo->GetPlayerID(), FALSE, FALSE );
					}
					uc1++;
				}
				uc++;
			}
		}
	}
}