Beispiel #1
0
void CNetSends::BanPlayer( unsigned char uc )
{
	CPlayerPool* pPlayer = CPlayerPoolManager::Find( uc );
	if ( pPlayer )
	{
		RakNet::BitStream bsSend;
		bsSend.Write( uc );

		NetInterface->RPC( "Banned", &bsSend, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_PLAYER_ID, TRUE, FALSE );

		//NetInterface->Kick( pPlayer->GetPlayerID() ); 

		CConsole::PrintC( "CONNECTION", COLOUR_RED, "Banned [%s] | IP [%s] | Index [%i]", pPlayer->GetNick(), pPlayer->GetIP(), uc );

		PlayerPart( uc, PARTREASON_KICKED );
		CPlayerSendPackets::Part( uc, PARTREASON_BANNED );

		CScripting::PushFunction( "onPlayerPart" );
		CScripting::PushPlayerPointer( pPlayer );
		CScripting::PushInteger( PARTREASON_BANNED );
		CScripting::CallFunction();

		CBanList::AddToBanList( pPlayer->GetIP() );

		CPlayerPoolManager::Remove( pPlayer );
	}
}