From 049ea304f0fa4aa54fecacef875dfd3a915f5aa0 Mon Sep 17 00:00:00 2001 From: Mac_Slash Date: Mon, 4 May 2020 17:03:57 +0200 Subject: [PATCH] Try Fix Disconnect+Death --- .../Commands/AdminCommands.cs | 7 +++-- ReallifeGamemode.Server/Events/Death.cs | 28 +++++++++---------- ReallifeGamemode.Server/Events/Disconnect.cs | 28 +++++++++---------- 3 files changed, 32 insertions(+), 31 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index d5f2c0a4..dbc351e3 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -749,8 +749,8 @@ namespace ReallifeGamemode.Server.Commands ChatService.SendMessage(player, "IP von ~y~" + NAPI.Player.GetPlayerName(target) + ": ~g~" + target.Address); } - [Command("ban", "~m~Benutzung: ~s~/ban [User] [Zeit in Minuten(0 für Permanent)] [Grund] ", GreedyArg = true)] - public void CmdAdminBan(Player admin, string user, int mins, string reason) + [Command("ban", "~m~Benutzung: ~s~/ban [User] [Grund] [Zeit in Minuten(0 für Permanent)]", GreedyArg = true)] + public void CmdAdminBan(Player admin, string user, string reason, int mins = 0) { if (!admin.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) { @@ -862,7 +862,7 @@ namespace ReallifeGamemode.Server.Commands player.TriggerEvent("CLIENT:AddPed", model, player.Position.X, player.Position.Y, player.Position.Z, player.Heading, dimension); //NAPI.Ped.CreatePed(PedHash.Bankman, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), player.Heading, dimension); } - [Command("addgped", "~m~Benutzung: ~s~/addgped [model] [dimension]")] + [Command("addgped", "~m~Benutzung: ~s~/addgped")] public void CmdAdminAddGPed(Player player, int model, uint dimension = 0) { if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) @@ -872,6 +872,7 @@ namespace ReallifeGamemode.Server.Commands } //player.TriggerEvent("CLIENT:AddPed", model, player.Position.X, player.Position.Y, player.Position.Z, player.Heading, dimension); Ped Peter = NAPI.Ped.CreatePed(PedHash.Bankman, new Vector3(player.Position.X, player.Position.Y, player.Position.Z), player.Heading, dimension); + //Peter.freezePosition(true); } [Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")] public void CmdAdminSetSkill(Player player, string name, string Skill, int SkillLevel) diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 1ec23abd..290e7874 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -114,12 +114,12 @@ namespace ReallifeGamemode.Server.Events } Job.JobBase job = Managers.JobManager.GetJob(player.GetUser().JobId ?? -1); if (job != null) - { - if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ) + { + if (job.GetUsersInJob().Contains(player)) { - if (player.Vehicle.GetData("timerJobVehicleRespawn") == true) + if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ) { - if (vehJ.GetJob().GetUsersInJob().Contains(player)) + if (player.Vehicle.GetData("timerJobVehicleRespawn") == true) { if (player.Vehicle != null) { @@ -129,17 +129,17 @@ namespace ReallifeGamemode.Server.Events } } } + Managers.JobManager jm = new Managers.JobManager(); + if (jm.playerTimersJobVehicleRespawn.ContainsKey(player)) + { + jm.playerTimersJobVehicleRespawn[player].Stop(); + } + player.ResetData("HatRoute"); + player.ResetData("PilotenBase"); + job.StopJob(player); + //ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); + CheckPointHandle.DeleteCheckpoints(player); } - Managers.JobManager jm = new Managers.JobManager(); - if (jm.playerTimersJobVehicleRespawn.ContainsKey(player)) - { - jm.playerTimersJobVehicleRespawn[player].Stop(); - } - player.ResetData("HatRoute"); - player.ResetData("PilotenBase"); - job.StopJob(player); - //ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); - CheckPointHandle.DeleteCheckpoints(player); } //JailTime.cs diff --git a/ReallifeGamemode.Server/Events/Disconnect.cs b/ReallifeGamemode.Server/Events/Disconnect.cs index 77aa7f41..e295d0a1 100644 --- a/ReallifeGamemode.Server/Events/Disconnect.cs +++ b/ReallifeGamemode.Server/Events/Disconnect.cs @@ -58,11 +58,11 @@ namespace ReallifeGamemode.Server.Events JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1); if (job != null) { - if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ) + if (job.GetUsersInJob().Contains(player)) { - if (player.Vehicle.GetData("timerJobVehicleRespawn") == true) + if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ) { - if (vehJ.GetJob().GetUsersInJob().Contains(player)) + if (player.Vehicle.GetData("timerJobVehicleRespawn") == true) { if (player.Vehicle != null) { @@ -72,18 +72,18 @@ namespace ReallifeGamemode.Server.Events } } } + JobManager jm = new JobManager(); + if (jm.playerTimersJobVehicleRespawn.ContainsKey(player)) + { + jm.playerTimersJobVehicleRespawn[player].Stop(); + } + player.ResetData("HatRoute"); + player.ResetData("PilotenBase"); + player.ResetData("JobVehicleFrei"); + job.StopJob(player); + //ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); + CheckPointHandle.DeleteCheckpoints(player); } - JobManager jm = new JobManager(); - if (jm.playerTimersJobVehicleRespawn.ContainsKey(player)) - { - jm.playerTimersJobVehicleRespawn[player].Stop(); - } - player.ResetData("HatRoute"); - player.ResetData("PilotenBase"); - player.ResetData("JobVehicleFrei"); - job.StopJob(player); - //ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); - CheckPointHandle.DeleteCheckpoints(player); } using (var saveUser = new DatabaseContext())