diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 453a1240..99632a7b 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -145,51 +145,51 @@ namespace ReallifeGamemode.Server.Events Job.JobBase job = Managers.JobManager.GetJob(player.GetUser().JobId ?? -1); if (job != null) { - ChatService.SendMessage(player, "Debug1"); + //ChatService.SendMessage(player, "Debug1"); if (job.GetUsersInJob().Contains(player)) { - ChatService.SendMessage(player, "Debug2"); + //ChatService.SendMessage(player, "Debug2"); if (player.Vehicle != null) { - ChatService.SendMessage(player, "Debug3"); + //ChatService.SendMessage(player, "Debug3"); /*if (player.Vehicle.GetData("timerJobVehicleRespawn") == true) {*/ if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ) { - ChatService.SendMessage(player, "Debug4"); + //ChatService.SendMessage(player, "Debug4"); player.Vehicle.ResetData("timerJobVehicleRespawn"); ServerVehicle sVeh = Managers.VehicleManager.GetServerVehicleFromVehicle(player.Vehicle); ServerVehicleExtensions.Spawn(sVeh, player.Vehicle); } else { - ChatService.SendMessage(player, "Debug5"); + //ChatService.SendMessage(player, "Debug5"); } //} } if (Managers.JobManager.playerTimersJobVehicleRespawn.ContainsKey(player)) { - ChatService.SendMessage(player, "Debug6"); + //ChatService.SendMessage(player, "Debug6"); Managers.JobManager.playerTimersJobVehicleRespawn[player].Stop(); } - ChatService.SendMessage(player, "Debug7"); + //ChatService.SendMessage(player, "Debug7"); player.ResetData("PilotenBase"); job.StopJob(player); ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); if (player.GetData("HatRoute") == true) { - ChatService.SendMessage(player, "Debug8"); + //ChatService.SendMessage(player, "Debug8"); CheckPointHandle.DeleteCheckpoints(player); player.ResetData("HatRoute"); } else { - ChatService.SendMessage(player, "Debug9"); + //ChatService.SendMessage(player, "Debug9"); } } else { - ChatService.SendMessage(player, "Debug10"); + //ChatService.SendMessage(player, "Debug10"); } } diff --git a/ReallifeGamemode.Server/Managers/JobManager.cs b/ReallifeGamemode.Server/Managers/JobManager.cs index 5bb1e4bb..51f8114b 100644 --- a/ReallifeGamemode.Server/Managers/JobManager.cs +++ b/ReallifeGamemode.Server/Managers/JobManager.cs @@ -219,6 +219,32 @@ namespace ReallifeGamemode.Server.Managers return; } } + if (u.JobId == 2) + { + if (!player.HasData("JobVehicleFrei") || player.GetData("JobVehicleFrei") == false) + { + player.SetData("DelayTime", 60000*5); + veh.SetData("timerJobVehicleRespawn", true); + player.SetData("LastVehicle", veh); + player.SetData("LastSVehicle", sVeh); + if (playerTimersJobVehicleRespawn.ContainsKey(player)) + { + playerTimersJobVehicleRespawn[player].Stop(); + } + PlayerTimer playerTimer = new PlayerTimer(player, veh, 60000*5); + playerTimer.Elapsed += PlayerTimer_Elapsed; + playerTimersJobVehicleRespawn[player] = playerTimer; + //player.SendChatMessage("~y~[JOB] ~w~Du hast das Fahrzeug verlassen,"); + //player.SendChatMessage("~y~[JOB] ~w~Bist du nicht in 30 Sekunden zurück, ~r~wird der Job beendet!"); + //job.StopJob(player); + return; + } + if (player.HasData("JobVehicleFrei") && player.GetData("JobVehicleFrei") == true) + { + player.SetData("JobVehicleFrei", false); + return; + } + } } } } @@ -252,7 +278,8 @@ namespace ReallifeGamemode.Server.Managers } if (player.GetUser().JobId == 2)//Müllmann { - //VehicleManager.DeleteVehicle(v); + player.Position = new Vector3(485.4114685058594, -2173.25, 5.918273448944092); + player.Heading = (-15.922085762023926f); } if (player.GetUser().JobId == 3)//Pilot { @@ -435,6 +462,29 @@ namespace ReallifeGamemode.Server.Managers return; } } + if (player.GetUser().JobId == 2) + { + JobVehicle c = new JobVehicle(); + if (JV.GetJob().GetUsersInJob().Contains(player)) + { + if (!player.HasData("LastVehicle") || player.GetData("LastVehicle") == null) return; + if (player.HasData("LastVehicle") && veh == player.GetData("LastVehicle")) + { + veh.SetData("timerJobVehicleRespawn", false); + if (playerTimersJobVehicleRespawn.ContainsKey(player)) + { + playerTimersJobVehicleRespawn[player].Stop(); + } + } + else + { + if (player.GetData("HatRoute") == true) + { + StopJob(player); + } + } + } + } } else {