diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index 91e443a2..a72ef26d 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -245,28 +245,22 @@ namespace ReallifeGamemode.Server.Commands ChatService.NotAuthorized(player); return; } - if(!player.IsAdminDuty()) + if (!player.IsAdminDuty()) { ChatService.SendMessage(player, "~r~ Du bist nicht im Admin-Duty-Modus!"); - ChatService.SendMessage(player, "1"+player.GetData("Adminduty")); - return; } - if (!GlobalHelper.tsupAdmins.Contains(player)) + if (player.GetData("SAdminduty") == false) { - ChatService.SendMessage(player, "2"+player.GetData("Adminduty")); - GlobalHelper.tsupAdmins.Add(player); + player.SetData("SAdminduty", true); player.SetSharedData("blipColor", 30); ChatService.SendMessage(player, "~g~ ** " + "Du befindest dich im T-Support"); } else { - ChatService.SendMessage(player, "3"+player.GetData("Adminduty")); - GlobalHelper.tsupAdmins.Remove(player); + player.SetData("SAdminduty", false); ChatService.SendMessage(player, "!{#ee4d2e}** " + "Du befindest dich nicht mehr im T-Support"); - - - + } using (var dbContext = new DatabaseContext()) { User targetUser = player.GetUser(dbContext); @@ -286,7 +280,6 @@ namespace ReallifeGamemode.Server.Commands break; } } - } } [Command("aduty", "~m~Benutzung: ~s~/aduty")] public void CmdAduty(Player player) diff --git a/ReallifeGamemode.Server/Events/Disconnect.cs b/ReallifeGamemode.Server/Events/Disconnect.cs index 174d1d47..d56c288e 100644 --- a/ReallifeGamemode.Server/Events/Disconnect.cs +++ b/ReallifeGamemode.Server/Events/Disconnect.cs @@ -40,10 +40,10 @@ namespace ReallifeGamemode.Server.Events NAPI.Util.ConsoleOutput(player.Name + " Timeoutet"); } - if (GlobalHelper.DutyAdmins.Contains(player)) + /*if (GlobalHelper.DutyAdmins.Contains(player)) { GlobalHelper.DutyAdmins.Remove(player); - } + }*/ if (player.GetUser().IsAdmin(AdminLevel.MAPPING)) { diff --git a/ReallifeGamemode.Server/Events/EnterVehicleAttempt.cs b/ReallifeGamemode.Server/Events/EnterVehicleAttempt.cs index 380a8624..83d47267 100644 --- a/ReallifeGamemode.Server/Events/EnterVehicleAttempt.cs +++ b/ReallifeGamemode.Server/Events/EnterVehicleAttempt.cs @@ -31,7 +31,7 @@ namespace ReallifeGamemode.Server.Events if (vehicle.GetServerVehicle() is FactionVehicle veh) { - if (!veh.GetOwners().Contains(player.GetUser().FactionId ?? 0) && !(u.IsAdmin(AdminLevel.HEADADMIN) && GlobalHelper.DutyAdmins.Contains(player))) + if (!veh.GetOwners().Contains(player.GetUser().FactionId ?? 0) && !(u.IsAdmin(AdminLevel.HEADADMIN) && player.IsAdminDuty())) { if ((VehicleHash)vehicle.Model == VehicleHash.Burrito3) { diff --git a/ReallifeGamemode.Server/Events/Key.cs b/ReallifeGamemode.Server/Events/Key.cs index 8464dfc7..ed6e245c 100644 --- a/ReallifeGamemode.Server/Events/Key.cs +++ b/ReallifeGamemode.Server/Events/Key.cs @@ -483,7 +483,7 @@ namespace ReallifeGamemode.Server.Events } else if (sV is FactionVehicle fV) { - if (!fV.GetOwners().Contains(u.FactionId ?? 0) && !state && !(u.IsAdmin(AdminLevel.HEADADMIN) && GlobalHelper.DutyAdmins.Contains(player))) + if (!fV.GetOwners().Contains(u.FactionId ?? 0) && !state && !(u.IsAdmin(AdminLevel.HEADADMIN) && player.IsAdminDuty())) { player.SendNotification("~r~Du hast keinen Schlüssel."); return; diff --git a/ReallifeGamemode.Server/Events/Vehicle.cs b/ReallifeGamemode.Server/Events/Vehicle.cs index 954b6239..d0adc288 100644 --- a/ReallifeGamemode.Server/Events/Vehicle.cs +++ b/ReallifeGamemode.Server/Events/Vehicle.cs @@ -38,7 +38,7 @@ namespace ReallifeGamemode.Server.Events } else if (sV is FactionVehicle fV) { - if (!fV.GetOwners().Contains(u.FactionId ?? 0) && !state && !(u.IsAdmin(AdminLevel.HEADADMIN) && GlobalHelper.DutyAdmins.Contains(player))) + if (!fV.GetOwners().Contains(u.FactionId ?? 0) && !state && !(u.IsAdmin(AdminLevel.HEADADMIN) && player.IsAdminDuty())) { player.SendNotification("~r~Du hast keinen Schlüssel."); return; diff --git a/ReallifeGamemode.Server/Report/Report.cs b/ReallifeGamemode.Server/Report/Report.cs index 9e26389f..99a08ccf 100644 --- a/ReallifeGamemode.Server/Report/Report.cs +++ b/ReallifeGamemode.Server/Report/Report.cs @@ -197,17 +197,26 @@ namespace ReallifeGamemode.Server.Report return; } } - if (GlobalHelper.DutyAdmins.Count == 0) + int aod = 0; + NAPI.Pools.GetAllPlayers().ForEach(p => + { + if (p.IsAdminDuty()) + { + aod++; + } + }); + if (aod == 0) { ChatService.SendMessage(user, "!{#addc8d}Momentan ist kein Administrator verfügbar"); return; } ChatService.SendMessage(user, "!{#addc8d}Dein Ticket wurde abgeschickt"); - ChatService.SendMessage(user, "!{#addc8d}Momentan sind " + GlobalHelper.DutyAdmins.Count + " Admins verfügbar"); + ChatService.SendMessage(user, "!{#addc8d}Momentan sind " + aod + " Admins verfügbar"); ChatService.BroadcastDutyAdmin("!{#008fff}[TICKET]!{#FFFFFF} Eingehendes Ticket von~w~ " + user.Name + " (" + user.Handle.Value + ")~w~: " + text + " (Benutze /showtickets)"); ReportManage ticket = new ReportManage(user.Name, text); //ChatService.Broadcast("ADDTICKET:" + user.Name + ", " + text); listReports.Add(ticket); + //ChatService.SendMessage(user, "!{#addc8d}In Bearbeitung"); } if (type == "Quick Report") ChatService.BroadcastAdmin("!{#008fff}[QR]~w~ " + user.Name + " (" + user.Handle.Value + ")~w~: " + text, AdminLevel.SUPPORTER); diff --git a/ReallifeGamemode.Server/Services/ChatService.cs b/ReallifeGamemode.Server/Services/ChatService.cs index 6f429a58..73b19aa7 100644 --- a/ReallifeGamemode.Server/Services/ChatService.cs +++ b/ReallifeGamemode.Server/Services/ChatService.cs @@ -96,10 +96,13 @@ namespace ReallifeGamemode.Server.Services } public static void BroadcastDutyAdmin(string message) { - foreach (Player admin in GlobalHelper.DutyAdmins) + NAPI.Pools.GetAllPlayers().ForEach(p => { - ChatService.SendMessage(admin, message); - } + if (p.IsAdminDuty()) + { + ChatService.SendMessage(p, message); + } + }); } public static void BroadcastGroup(string message, Group group) diff --git a/ReallifeGamemode.Server/Util/GlobalHelper.cs b/ReallifeGamemode.Server/Util/GlobalHelper.cs index 1f5c7282..57180cf2 100644 --- a/ReallifeGamemode.Server/Util/GlobalHelper.cs +++ b/ReallifeGamemode.Server/Util/GlobalHelper.cs @@ -8,8 +8,8 @@ namespace ReallifeGamemode.Server.Util { public static class GlobalHelper { - public static List DutyAdmins = new List(); - public static List tsupAdmins = new List(); + /*public static List DutyAdmins = new List(); + public static List tsupAdmins = new List();*/ public static Dictionary CustomJoinMessages = new Dictionary {