@@ -3659,6 +3659,7 @@ void CGame::Packet_Vehicle_InOut(CVehicleInOutPacket& Packet)
36593659 if  (pPed->GetVehicleAction () == CPed::VEHICLEACTION_JACKING)
36603660 {
36613661 unsigned  char  ucDoor = Packet.GetDoor ();
3662+  unsigned  char  ucOccupiedSeat = pPed->GetOccupiedVehicleSeat ();
36623663 float  fAngle  = Packet.GetDoorAngle ();
36633664 CPed* pJacked = pVehicle->GetOccupant (0 );
36643665
@@ -3692,6 +3693,29 @@ void CGame::Packet_Vehicle_InOut(CVehicleInOutPacket& Packet)
36923693 CVehicleInOutPacket JackedReply (pJacked->GetID (), VehicleID, 0 , VEHICLE_NOTIFY_OUT_RETURN);
36933694 m_pPlayerManager->BroadcastOnlyJoined (JackedReply);
36943695
3696+  CLuaArguments Arguments;
3697+  Arguments.PushElement (pVehicle); //  vehicle
3698+  Arguments.PushNumber (ucOccupiedSeat); //  seat
3699+  Arguments.PushElement (pPed); //  jacker
3700+  Arguments.PushBoolean (false ); //  forcedByScript
3701+ 3702+  if  (pJacked->IsPlayer ())
3703+  {
3704+  pJacked->CallEvent (" onPlayerVehicleExit"  , Arguments);
3705+  }
3706+  else 
3707+  {
3708+  pJacked->CallEvent (" onPedVehicleExit"  , Arguments);
3709+  }
3710+ 3711+  CLuaArguments Arguments2;
3712+  Arguments2.PushElement (pJacked); //  jacked
3713+  Arguments2.PushNumber (ucOccupiedSeat); //  seat
3714+  Arguments2.PushElement (pPed); //  jacker
3715+  Arguments2.PushBoolean (false ); //  forcedByScript
3716+ 3717+  pVehicle->CallEvent (" onVehicleExit"  , Arguments2);
3718+ 36953719 if  (!sendListIncompatiblePlayers.empty ())
36963720 {
36973721 //  Warp the ped out of the vehicle manually for incompatible players
0 commit comments