From 252ac4d2b3dc1d70a0a8959505b9572cd46ef3d8 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 23 Jun 2019 20:13:00 +0200 Subject: [PATCH] try fix crash on disconnect --- ReallifeGamemode.Server/Events/Disconnect.cs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/ReallifeGamemode.Server/Events/Disconnect.cs b/ReallifeGamemode.Server/Events/Disconnect.cs index ad925d87..4674f19d 100644 --- a/ReallifeGamemode.Server/Events/Disconnect.cs +++ b/ReallifeGamemode.Server/Events/Disconnect.cs @@ -36,22 +36,19 @@ namespace ReallifeGamemode.Server.Events NAPI.Util.ConsoleOutput(player.Name + " Timeoutet"); } - JobManager.GetJob(player.GetUser()?.JobId ?? 0)?.StopJob(player); + JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1); + if (job != null) job.StopJob(player); using (var saveUser = new DatabaseContext()) { var user = player.GetUser(saveUser); Vector3 pos = player.Position; - if (!float.IsNaN(pos.X) && !float.IsNaN(pos.Y) && !float.IsNaN(pos.Z)) - { - user.PositionX = pos.X; - user.PositionY = pos.Y; - user.PositionZ = pos.Z; - saveUser.SaveChanges(); - } - - user.Dead = player.HasData("isDead") ? player.GetData("isDead") : false; + user.PositionX = pos.X; + user.PositionY = pos.Y; + user.PositionZ = pos.Z; + saveUser.SaveChanges(); + user.Dead = player.HasData("isDead") ? (bool)player.GetData("isDead") : false; } player.SetData("isLoggedIn", false); }