diff --git a/Client/mods/deathmatch/logic/CClientPed.cpp b/Client/mods/deathmatch/logic/CClientPed.cpp index 5716bea120..28f4d4f94a 100644 --- a/Client/mods/deathmatch/logic/CClientPed.cpp +++ b/Client/mods/deathmatch/logic/CClientPed.cpp @@ -1394,6 +1394,10 @@ void CClientPed::WarpIntoVehicle(CClientVehicle* pVehicle, unsigned int uiSeat) } } + // Wrong seat or undefined passengers count? + if ((uiSeat > 0 && uiSeat > pVehicle->m_ucMaxPassengers) || (uiSeat > 0 && pVehicle->m_ucMaxPassengers == 255)) + return; + // Transfer WaitingForGroundToLoad state to vehicle if (m_bIsLocalPlayer) { diff --git a/Client/mods/deathmatch/logic/CClientVehicle.cpp b/Client/mods/deathmatch/logic/CClientVehicle.cpp index a45d850a30..537f9457dd 100644 --- a/Client/mods/deathmatch/logic/CClientVehicle.cpp +++ b/Client/mods/deathmatch/logic/CClientVehicle.cpp @@ -2656,7 +2656,12 @@ void CClientVehicle::Create() { if (m_pPassengers[i]) { - m_pPassengers[i]->WarpIntoVehicle(this, i + 1); + // Undefined passengers count? + if (m_ucMaxPassengers != 255) + m_pPassengers[i]->WarpIntoVehicle(this, i + 1); + else + m_pPassengers[i]->SetWarpInToVehicleRequired(false); + if (m_pPassengers[i]) m_pPassengers[i]->StreamIn(true); }