From e82d467d4e40d21eab3e9360f30442b26cf56df4 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 11 Apr 2021 14:20:29 +0200 Subject: [PATCH] userbankaccount balancechanged dont crash server --- ReallifeGamemode.Server/Finance/Economy.cs | 26 ++++++++++++---------- ReallifeGamemode.Server/Main.cs | 14 ++++++++++-- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/ReallifeGamemode.Server/Finance/Economy.cs b/ReallifeGamemode.Server/Finance/Economy.cs index f8d0672f..78284419 100644 --- a/ReallifeGamemode.Server/Finance/Economy.cs +++ b/ReallifeGamemode.Server/Finance/Economy.cs @@ -187,21 +187,23 @@ namespace ReallifeGamemode.Server.Finance public static void Timer_Elapsed() { using var dbContext = new DatabaseContext(); - foreach (var player in NAPI.Pools.GetAllPlayers()) + foreach (var player in NAPI.Pools.GetAllPlayers().Where(p => p.IsLoggedIn())) { User user = player.GetUser(dbContext); - if (player.IsLoggedIn()) + if(user == null) { - user.PlayedMinutes += 1; - if (user.PaydayTimer <= 0) - { - Economy.SetPaycheck(player); - user.PaydayTimer = 60; - } - else if (user.PaydayTimer > 0) - { - user.PaydayTimer -= 1; - } + continue; + } + + user.PlayedMinutes += 1; + if (user.PaydayTimer <= 0) + { + Economy.SetPaycheck(player); + user.PaydayTimer = 60; + } + else if (user.PaydayTimer > 0) + { + user.PaydayTimer -= 1; } } dbContext.SaveChanges(); diff --git a/ReallifeGamemode.Server/Main.cs b/ReallifeGamemode.Server/Main.cs index 6e5e1f23..ec1afb62 100644 --- a/ReallifeGamemode.Server/Main.cs +++ b/ReallifeGamemode.Server/Main.cs @@ -172,8 +172,18 @@ namespace ReallifeGamemode.Server using (var dbContext = new DatabaseContext()) { var user = dbContext.Users.Where(u => u.BankAccountId == account.Id).Select(u => u.Name).FirstOrDefault(); - if (user == null) return; - PlayerService.GetPlayerByNameOrId(user).TriggerEvent("updateMoney", account.Balance); + if (user == null) + { + return; + } + + Player player = PlayerService.GetPlayerByNameOrId(user); + if(player == null) + { + return; + } + + player.TriggerEvent("updateMoney", account.Balance); } };