From e4a58f4eadf88de89dfde7b12ca0bb2c879c051b Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 5 Jun 2021 01:37:53 +0200 Subject: [PATCH] /agiverank --- .../Commands/AdminCommands.cs | 48 +++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index 1c1a6c33..297a2ada 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -1320,7 +1320,8 @@ namespace ReallifeGamemode.Server.Commands if (silent == 1) { ChatService.BroadcastAdmin($"~b~[S] {player.Name} ~s~hat die HP von ~b~{target.Name} ~s~ auf {hp} gesetzt.", AdminLevel.ADMIN); - } else + } + else { ChatService.SendMessage(target, $"~b~Deine HP wurden von {player.Name} auf {hp} gesetzt."); ChatService.SendMessage(player, $"~b~Du hast die HP von {target.Name} auf {hp} gesetzt."); @@ -1348,7 +1349,8 @@ namespace ReallifeGamemode.Server.Commands if (silent == 1) { ChatService.BroadcastAdmin($"~b~[S] {player.Name} ~s~hat die AP von ~b~{target.Name} ~s~auf {armor} gesetzt.", AdminLevel.ADMIN); - } else + } + else { ChatService.SendMessage(target, $"~b~Deine AP wurdem von {player.Name} auf {armor} gesetzt."); ChatService.SendMessage(player, $"~b~Du hast die AP von {target.Name} auf {armor} gesetzt."); @@ -2047,7 +2049,7 @@ namespace ReallifeGamemode.Server.Commands ChatService.SendMessage(managedPlayer, $"~b~Deine HP/AP wurden von {player.Name} auf 100 gesetzt."); } - + ChatService.SendMessage(player, $"~b~Die HP/AP von {peopleInRange.Count} Spielern wurden auf 100 gesetzt."); } @@ -2545,6 +2547,46 @@ namespace ReallifeGamemode.Server.Commands ChatService.SendMessage(player, "~b~Du hast " + playerRevided + " Spieler wiederbelebt."); } + [Command("agiverank", "~m~Benutzung: ~s~/agiverank [Name] [Rang]", GreedyArg = false)] + public void CmdAdminGiverank(Player player, string name, string rank) + { + using var dbContext = new DatabaseContext(); + User user = player.GetUser(dbContext); + + if (!user.IsAdmin(AdminLevel.HEADADMIN)) + { + return; + } + + Player target = PlayerService.GetPlayerByNameOrId(name); + if (target == null || !target.IsLoggedIn()) + { + ChatService.PlayerNotFound(player); + return; + } + + User targetUser = target.GetUser(dbContext); + if (targetUser == null) + { + ChatService.PlayerNotFound(player); + return; + } + + FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.Order == int.Parse(rank) && r.FactionId == targetUser.FactionId); + if (fr == null) + { + ChatService.ErrorMessage(player, "Dieser Rang existiert nicht"); + return; + } + + targetUser.FactionRankId = fr.Id; + + ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du hast " + target.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ") gegeben."); + ChatService.SendMessage(target, "~b~[ADMIN]~s~ Du hast von " + player.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ")' erhalten."); + + dbContext.SaveChanges(); + } + [Command("ainvite", "~m~Benutzung: ~s~/ainvite [Name] [Fraktion]")] public void CmdAdminAinvite(Player player, string name, int faction) {