void CNetSends::SpawnForPlayer( unsigned char uc, unsigned char ucPlayer ) { CPlayerPool* pPlayerToSend = CPlayerPoolManager::Find( uc ); if ( pPlayerToSend ) { if ( !pPlayerToSend->GetSyncBlocked() ) { CPlayerPool* pPlayer = CPlayerPoolManager::Find( ucPlayer ); if ( pPlayer ) { RakNet::BitStream bsSend; CSpawnPool* pSpawn = CSpawnPoolManager::Find( pPlayer->GetClassID() ); if ( pSpawn ) { bsSend.Write( ucPlayer ); bsSend.Write( pSpawn->GetTeam() ); bsSend.Write( pSpawn->GetSkin() ); bsSend.Write( pSpawn->GetX() ); bsSend.Write( pSpawn->GetY() ); bsSend.Write( pSpawn->GetZ() ); bsSend.Write( pSpawn->GetAngle() ); bsSend.Write( pSpawn->GetWeapon( 0 ) ); bsSend.Write( pSpawn->GetWeaponAmmo( 0 ) ); bsSend.Write( pSpawn->GetWeapon( 1 ) ); bsSend.Write( pSpawn->GetWeaponAmmo( 1 ) ); bsSend.Write( pSpawn->GetWeapon( 2 ) ); bsSend.Write( pSpawn->GetWeaponAmmo( 2 ) ); NetInterface->RPC( "Spawn", &bsSend, HIGH_PRIORITY, RELIABLE_ORDERED, 0, pPlayerToSend->GetPlayerID(), FALSE, FALSE ); } } } } }
void CNetSends::ExitVehicle( unsigned char uc, unsigned char ucVehicle ) { CPlayerPool* pPlayer = CPlayerPoolManager::Find( uc ); if ( pPlayer ) { if ( !pPlayer->GetSyncBlocked() ) { RakNet::BitStream bsSend; bsSend.Write( uc ); bsSend.Write( ucVehicle ); NetInterface->RPC( "ExitVehicle", &bsSend, HIGH_PRIORITY, RELIABLE, 0, pPlayer->GetPlayerID(), TRUE, FALSE ); } } }
void CNetSends::DoAnim( unsigned char uc, unsigned char ucAnim ) { CPlayerPool* pPlayer = CPlayerPoolManager::Find( uc ); if ( pPlayer ) { if ( !pPlayer->GetSyncBlocked() ) { RakNet::BitStream bsSend; bsSend.Write( uc ); bsSend.Write( ucAnim ); NetInterface->RPC( "DoAnim", &bsSend, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_PLAYER_ID, TRUE, FALSE ); } } }