void CPedRPCs::SetPedRotation ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { SPedRotationSync rotation; unsigned char ucTimeContext; if ( bitStream.Read ( &rotation ) && bitStream.Read ( ucTimeContext ) ) { uchar ucNewWay = 0; if ( bitStream.GetNumberOfBytesUsed () > 0 ) bitStream.Read ( ucNewWay ); CClientPed* pPed = m_pPedManager->Get ( pSource->GetID (), true ); if ( pPed ) { if ( ucNewWay == 1 ) pPed->SetCurrentRotationNew ( rotation.data.fRotation ); else pPed->SetCurrentRotation ( rotation.data.fRotation ); if ( !IS_PLAYER ( pPed ) ) pPed->SetCameraRotation ( rotation.data.fRotation ); pPed->SetSyncTimeContext ( ucTimeContext ); } } }
void CPedRPCs::WarpPedIntoVehicle ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { // Read out the player and vehicle id ElementID VehicleID; unsigned char ucSeat; unsigned char ucTimeContext; if ( bitStream.Read ( VehicleID ) && bitStream.Read ( ucSeat ) && bitStream.Read ( ucTimeContext ) ) { // Grab the ped CClientPed * pPed = m_pPedManager->Get ( pSource->GetID (), true ); if ( pPed ) { pPed->SetSyncTimeContext ( ucTimeContext ); // Grab the vehicle CClientVehicle* pVehicle = m_pVehicleManager->Get ( VehicleID ); if ( pVehicle ) { CStaticFunctionDefinitions::WarpPedIntoVehicle ( pPed, pVehicle, ucSeat ); } } } }
void CPedRPCs::RemovePedFromVehicle ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { // Read out the player and vehicle id unsigned char ucTimeContext; if ( bitStream.Read ( ucTimeContext ) ) { // Grab the ped CClientPed * pPed = m_pPedManager->Get ( pSource->GetID (), true ); if ( pPed ) { if ( CStaticFunctionDefinitions::RemovePedFromVehicle ( pPed ) ) pPed->SetSyncTimeContext ( ucTimeContext ); } } }
void CPedRPCs::SetPedArmor ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { unsigned char ucArmor; unsigned char ucTimeContext; if ( bitStream.Read ( ucArmor ) && bitStream.Read ( ucTimeContext ) ) { float fArmor = static_cast < float > ( ucArmor ) / 1.25f; CClientPed* pPed = m_pPedManager->Get ( pSource->GetID (), true ); if ( pPed ) { pPed->SetSyncTimeContext ( ucTimeContext ); pPed->SetArmor ( fArmor ); } } }
void CPedRPCs::SetPedDoingGangDriveby ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { // Read out the player and vehicle id bool bDriveby; unsigned char ucTimeContext; if ( bitStream.ReadBit ( bDriveby ) && bitStream.Read ( ucTimeContext ) ) { // Grab the ped CClientPed * pPed = m_pPedManager->Get ( pSource->GetID (), true ); if ( pPed ) { pPed->SetSyncTimeContext ( ucTimeContext ); pPed->SetDoingGangDriveby ( bDriveby ); } } }