diff --git a/ReallifeGamemode.Server/Events/Disconnect.cs b/ReallifeGamemode.Server/Events/Disconnect.cs index 8655c2ef..7e3ef550 100644 --- a/ReallifeGamemode.Server/Events/Disconnect.cs +++ b/ReallifeGamemode.Server/Events/Disconnect.cs @@ -8,6 +8,7 @@ using ReallifeGamemode.Server.Job; using ReallifeGamemode.Server.Managers; using ReallifeGamemode.Server.Models; using ReallifeGamemode.Server.Util; +using ReallifeGamemode.Server.Services; /** * @overview Life of German Reallife - Event Login (Login.cs) @@ -42,6 +43,12 @@ namespace ReallifeGamemode.Server.Events GlobalHelper.dutyAdmins.Remove(player); } + if (player.GetUser().IsAdmin(AdminLevel.TEAM)) + { + ChatService.BroadcastAdmin(player.Name + " hat den Server verlassen", AdminLevel.TEAM); + NAPI.Util.ConsoleOutput(player.Name + " hat den Server verlassen"); + } + JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1); if (job != null) job.StopJob(player, true); diff --git a/ReallifeGamemode.Server/Events/Login.cs b/ReallifeGamemode.Server/Events/Login.cs index 205bc67e..59131a54 100644 --- a/ReallifeGamemode.Server/Events/Login.cs +++ b/ReallifeGamemode.Server/Events/Login.cs @@ -67,6 +67,11 @@ namespace ReallifeGamemode.Server.Events string msg = $"{player.Name} ist wieder online."; ChatService.BroadcastGroup(msg, user.Group); } + + if (user.IsAdmin(AdminLevel.TEAM)) + { + ChatService.BroadcastAdmin(user.Name + " hat sich als " + GlobalHelper.AdminLevelToString(user.AdminLevel) + " eingeloggt", AdminLevel.TEAM); + } var userItems = dbContext.UserItems.Where(u => u.UserId == user.Id).ToList(); player.SetData("items", userItems); diff --git a/ReallifeGamemode.Server/Util/GlobalHelper.cs b/ReallifeGamemode.Server/Util/GlobalHelper.cs index 3a54241e..8f1f1961 100644 --- a/ReallifeGamemode.Server/Util/GlobalHelper.cs +++ b/ReallifeGamemode.Server/Util/GlobalHelper.cs @@ -9,5 +9,40 @@ namespace ReallifeGamemode.Server.Util public static class GlobalHelper { public static List dutyAdmins = new List(); + + public static string AdminLevelToString(AdminLevel lvl) + { + string ret = ""; + + if (lvl == AdminLevel.TEAM) + { + ret = "Teammitglied"; + } + else if (lvl == AdminLevel.SUPPORTER) + { + ret = "Supporter"; + } + else if (lvl == AdminLevel.ADMIN) + { + ret = "Admin Level 1"; + } + else if (lvl == AdminLevel.ADMIN2) + { + ret = "Admin Level 2"; + } + else if (lvl == AdminLevel.ADMIN3) + { + ret = "Admin Level 3"; + } + else if (lvl == AdminLevel.HEADADMIN) + { + ret = "Admin Level 1337"; + } + else if (lvl == AdminLevel.PROJEKTLEITUNG) + { + ret = "Admin Level 1338"; + } + return ret; + } } }