diff --git a/ReallifeGamemode.Server/Job/BusDriverJob.cs b/ReallifeGamemode.Server/Job/BusDriverJob.cs index d741cd3f..fdf96b35 100644 --- a/ReallifeGamemode.Server/Job/BusDriverJob.cs +++ b/ReallifeGamemode.Server/Job/BusDriverJob.cs @@ -196,7 +196,7 @@ namespace ReallifeGamemode.Server.Job new List() { //new Vector3(-601.733, -2049.285, 6.090), - new Vector3(-598.849365234375, -2053.087646484375, 5.8428778648376465), + //new Vector3(-598.849365234375, -2053.087646484375, 5.8428778648376465), new Vector3(-229.679931640625, -2049.821533203125, 27.384798049926758), new Vector3(-72.33480834960938, -615.8173217773438, 35.91234588623047), new Vector3(-176.9166717529297, -153.85665893554688, 43.38493728637695), @@ -220,7 +220,7 @@ namespace ReallifeGamemode.Server.Job new List() { //new Vector3(-601.733, -2049.285, 6.090), - new Vector3(-597.8766479492188, -2053.534423828125, 5.853154182434082), + //new Vector3(-597.8766479492188, -2053.534423828125, 5.853154182434082), new Vector3(-895.4871826171875, -2074.380126953125, 8.602267265319824), new Vector3(-667.8001708984375, -1233.9366455078125, 10.274462699890137), new Vector3(-1349.004150390625, -1119.2432861328125, 4.00660514831543), @@ -418,16 +418,18 @@ namespace ReallifeGamemode.Server.Job Console.WriteLine($"[ERROR:BUSJOB] Player {player.Name} got no Vehicle set."); return; } + _CHANGING_VEHICLE.Add(player); if (playerVehiclePair.ContainsKey(player)) { if (playerVehiclePair[player] != null) playerVehiclePair[player].Delete(); playerVehiclePair.Remove(player); } - playerVehiclePair.Add(player, vehicle); player.SetIntoVehicle(vehicle.Handle, 0); + _CHANGING_VEHICLE.Remove(player); + player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/FahrplanAbfahrt", "wav", 15); player.StartCheckPointRoute(selectedRoute, MARKER_DELAY, MARKER_ID, MARKER_SIZE, MARKER_DIST, true, MARKER_EVENT); if (index != -1) @@ -555,7 +557,7 @@ namespace ReallifeGamemode.Server.Job public override void StartJobEndTimer(Player player) { - if (!playerVehiclePair.ContainsKey(player)) + if (!playerVehiclePair.ContainsKey(player) && _CHANGING_VEHICLE.Contains(player)) return; if (JobManager.playerTimersJobVehicleRespawn.ContainsKey(player)) diff --git a/ReallifeGamemode.Server/Job/JobBase.cs b/ReallifeGamemode.Server/Job/JobBase.cs index e7355489..016a0882 100644 --- a/ReallifeGamemode.Server/Job/JobBase.cs +++ b/ReallifeGamemode.Server/Job/JobBase.cs @@ -23,7 +23,7 @@ namespace ReallifeGamemode.Server.Job private static readonly List jobPlayer = new List(); public static Dictionary playerVehiclePair = new Dictionary(); - public static List + public static List _CHANGING_VEHICLE = new List(); public abstract int Id { get; } diff --git a/ReallifeGamemode.Server/Job/PilotJob.cs b/ReallifeGamemode.Server/Job/PilotJob.cs index 47f6ebfe..4eb09396 100644 --- a/ReallifeGamemode.Server/Job/PilotJob.cs +++ b/ReallifeGamemode.Server/Job/PilotJob.cs @@ -227,16 +227,16 @@ namespace ReallifeGamemode.Server.Job playerRouteCurrent.Add(player.Name, new List()); playerRouteCurrent[player.Name] = selectedRoute; - + _CHANGING_VEHICLE.Add(player); if (playerVehiclePair.ContainsKey(player)) { if (playerVehiclePair[player] != null) playerVehiclePair[player].Delete(); playerVehiclePair.Remove(player); } - playerVehiclePair.Add(player, vehicle); player.SetIntoVehicle(vehicle.Handle, 0); + _CHANGING_VEHICLE.Remove(player); CheckPointHandle.StartCheckPointRoute(player, selectedRoute, 0, CHECKPOINT_MARKER_ID, 40, 10, true, "PILOT:InCheckpoint"); //6, 23, 25, 26, 27, 28 } @@ -282,7 +282,7 @@ namespace ReallifeGamemode.Server.Job public override void StartJobEndTimer(Player player) { - if (!playerVehiclePair.ContainsKey(player)) + if (!playerVehiclePair.ContainsKey(player) && _CHANGING_VEHICLE.Contains(player)) return; if (JobManager.playerTimersJobVehicleRespawn.ContainsKey(player)) @@ -292,8 +292,8 @@ namespace ReallifeGamemode.Server.Job PlayerTimer playerTimer = new PlayerTimer(player, playerVehiclePair[player], 30000); playerTimer.Elapsed += JobTimerElapsed; JobManager.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!"); + 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!"); } private void JobTimerElapsed(Player player, Vehicle vehicle)