diff --git a/ReallifeGamemode.Server/Events/Disconnect.cs b/ReallifeGamemode.Server/Events/Disconnect.cs index bc8e23fc..00e16acc 100644 --- a/ReallifeGamemode.Server/Events/Disconnect.cs +++ b/ReallifeGamemode.Server/Events/Disconnect.cs @@ -99,7 +99,7 @@ namespace ReallifeGamemode.Server.Events { //if (player.Vehicle.GetData("timerJobVehicleRespawn") == true) //{ - if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ) + if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ && job.Id == JobManager.GetJob().Id) { player.Vehicle.ResetData("timerJobVehicleRespawn"); ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(player.Vehicle); diff --git a/ReallifeGamemode.Server/Managers/JobManager.cs b/ReallifeGamemode.Server/Managers/JobManager.cs index ee82abd5..9a32e3be 100644 --- a/ReallifeGamemode.Server/Managers/JobManager.cs +++ b/ReallifeGamemode.Server/Managers/JobManager.cs @@ -13,8 +13,6 @@ using ReallifeGamemode.Server.Util; using ReallifeGamemode.Services; using ReallifeGamemode.Server.Types; - - namespace ReallifeGamemode.Server.Managers { public class JobManager : Script @@ -202,7 +200,7 @@ namespace ReallifeGamemode.Server.Managers return; } - if(player.Vehicle != null) + if (player.Vehicle != null) { player.SetData("LastVehicle", player.Vehicle); } @@ -210,6 +208,7 @@ namespace ReallifeGamemode.Server.Managers playerJobStartPosition[player] = player.Position; job.StartJob(player); } + [ServerEvent(Event.PlayerExitVehicle)] public void JobManagerPlayerExitVehicle(Player player, Vehicle veh) { @@ -299,9 +298,13 @@ namespace ReallifeGamemode.Server.Managers { if (LastVehicle != null) { - LastVehicle.ResetData("timerJobVehicleRespawn"); - ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(LastVehicle); - ServerVehicleExtensions.Spawn(sVeh, LastVehicle); + if (job.Id != 2) //Müllman Handelt Fahrzeug respawn eigenständig + { + LastVehicle.ResetData("timerJobVehicleRespawn"); + ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(LastVehicle); + ServerVehicleExtensions.Spawn(sVeh, LastVehicle); + } + job.StopJob(player); ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); CheckPointHandle.DeleteCheckpoints(player);