diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index 1496050e..d9acdfdf 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -1439,6 +1439,11 @@ namespace reallife_gamemode.Server.Commands player.SendChatMessage("~m~Benutzung: ~s~/remove [Goto] [Punkt]"); return; } + if (!player.GetUser()?.IsAdmin(AdminLevel.PROJEKTLEITUNG) ?? true) //1338 + { + ChatService.NotAuthorized(player); + return; + } using (var dbContext = new DatabaseContext()) { GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == option); @@ -1932,10 +1937,14 @@ namespace reallife_gamemode.Server.Commands BankManager.SetMoney(player, business, amount, "Admin"); } + #endregion + + #region ALevel1338 + [Command("whitelist", "~m~Benutzung: ~s~/whitelist [Add / Remove] [Socialclub Name]")] public void CmdAdminWhitelist(Client player, string option, string scName) { - if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.PROJEKTLEITUNG) ?? true) { ChatService.NotAuthorized(player); return; @@ -1943,15 +1952,15 @@ namespace reallife_gamemode.Server.Commands option = option.ToLower(); - if(option != "add" && option != "remove") + if (option != "add" && option != "remove") { player.SendChatMessage("~m~Benutzung: ~s~/whitelist [Add / Remove] [Socialclub Name]"); return; } - using(var dbContext = new DatabaseContext()) + using (var dbContext = new DatabaseContext()) { - if(option == "add") + if (option == "add") { if (dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == scName.ToLower())) { @@ -1964,7 +1973,7 @@ namespace reallife_gamemode.Server.Commands player.SendChatMessage("~b~[ADMIN]~s~ ~y~" + scName + "~s~ wurde erfolgreich zur Whitelist hinzugefügt."); } - else if(option == "remove") + else if (option == "remove") { if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName.ToLower() == scName.ToLower())) { @@ -1980,13 +1989,44 @@ namespace reallife_gamemode.Server.Commands dbContext.SaveChanges(); } } + + [Command("makeadmin", "~m~Benutzung: ~s~/makeadmin [Name] [Adminlevel]")] + public void CmdAdminSetadmin(Client player, string name, int rank) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.PROJEKTLEITUNG) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + if (!Enum.IsDefined(typeof(AdminLevel), rank)) + { + player.SendChatMessage("~r~[FEHLER]~s~ Dieser Adminrang ist nicht definiert."); + return; + } + + Client target = ClientService.GetClientByNameOrId(name); + if (target == null || !target.IsLoggedIn()) + { + ChatService.PlayerNotFound(player); + return; + } + + using (var dbContext = new DatabaseContext()) + { + target.GetUser(dbContext).AdminLevel = (AdminLevel)rank; + dbContext.SaveChanges(); + } + target.SendChatMessage("Du wurdest durch " + player.Name + " auf Adminlevel " + target.GetUser().AdminLevel.GetName() + ":(" + rank + ") gesetzt."); + player.SendChatMessage("Du hast " + target.Name + " auf Adminlevel " + target.GetUser().AdminLevel.GetName() + ":(" + rank + ") gesetzt."); + + } + + #endregion - #region ALevel1338 - // ): - #endregion - /* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */ + /* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */ //TEST COMMAND [Command("own")]