void CVehicle::Respawn() { RakServerInterface *pRak = pNetGame->GetRakServer(); memset(&m_CarModInfo, 0, sizeof (CAR_MOD_INFO)); m_CarModInfo.iColor0 = m_SpawnInfo.iColor1; m_CarModInfo.iColor1 = m_SpawnInfo.iColor2; m_matWorld.pos.X = m_SpawnInfo.vecPos.X; m_matWorld.pos.Y = m_SpawnInfo.vecPos.Y; m_matWorld.pos.Z = m_SpawnInfo.vecPos.Z; RakNet::BitStream bsVehicle; bsVehicle.Write(m_VehicleID); pRak->RPC(&RPC_ScrRespawnVehicle , &bsVehicle, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_PLAYER_ID, true, false, UNASSIGNED_NETWORK_ID, NULL); m_bDead = false; m_bDeathHasBeenNotified = false; m_bHasBeenOccupied = false; m_dwLastRespawnedTick = GetTickCount(); if(pNetGame->GetFilterScripts() && pNetGame->GetGameMode()) { pNetGame->GetFilterScripts()->OnVehicleSpawn(m_VehicleID); pNetGame->GetGameMode()->OnVehicleSpawn(m_VehicleID); } }
void CGangZonePool::HideForPlayer(BYTE bytePlayer, WORD wZone) { RakServerInterface* pRak = pNetGame->GetRakServer(); RakNet::BitStream bsParams; bsParams.Write(wZone); pRak->RPC(RPC_ScrRemoveGangZone, &bsParams, HIGH_PRIORITY, RELIABLE, 0, pRak->GetPlayerIDFromIndex(bytePlayer), false, false); }
void CGangZonePool::FlashForPlayer(BYTE bytePlayer, WORD wZone, DWORD dwColor) { RakServerInterface* pRak = pNetGame->GetRakServer(); RakNet::BitStream bsParams; bsParams.Write(wZone); dwColor = RGBA_ABGR(dwColor); bsParams.Write(dwColor); pRak->RPC(RPC_ScrFlashGangZone, &bsParams, HIGH_PRIORITY, RELIABLE, 0, pRak->GetPlayerIDFromIndex(bytePlayer), false, false); }