Beispiel #1
0
void CNetSends::PM( unsigned char ucPlayer, unsigned char ucPlayerTo, char* szText )
{
	CPlayerPool* pPlayer = CPlayerPoolManager::Find( ucPlayer );
	if ( pPlayer )
	{
		CPlayerPool* pPlayerTo = CPlayerPoolManager::Find( ucPlayerTo );
		if ( pPlayerTo )
		{
			if ( !pPlayerTo->GetIgnored( ucPlayer ) )
			{
				char szBlah[ MAX_TEXT_LEN ] = { 0 };
				strcpy( szBlah, "PM" );
				strcat( szBlah, szText );

				BYTE byteTextLen = strlen( szBlah );

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

				NetInterface->RPC( "MsgChat", &bsSend, HIGH_PRIORITY, RELIABLE, 0, pPlayerTo->GetPlayerID(), FALSE, FALSE );
			}
		}
	}
}
Beispiel #2
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++;
			}
		}
	}
}
Beispiel #3
0
void CNetSends::ChatToPlayer( unsigned char ucPlayerTo, unsigned char ucPlayer, char* szText )
{
	CPlayerPool* pPlayer = CPlayerPoolManager::Find( ucPlayer );
	CPlayerPool* pPlayerTo = CPlayerPoolManager::Find( ucPlayerTo );

	if ( ( pPlayer ) && ( pPlayerTo ) )
	{
		BYTE byteTextLen = strlen( szText );

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

		unsigned char uc = 0, uc1 = 0;

		if ( ucPlayerTo != ucPlayer )
		{
			// If the player hasn't ignored the player talking, send the message
			if ( !pPlayer->GetIgnored( ucPlayerTo ) ) NetInterface->RPC( "Chat", &bsSend, HIGH_PRIORITY, RELIABLE, 0, pPlayerTo->GetPlayerID(), FALSE, FALSE );
		}
	}
}