From 8797864b630c9118f6f8afda25a121765e2ec200 Mon Sep 17 00:00:00 2001 From: hydrant Date: Fri, 17 Apr 2020 18:35:40 +0200 Subject: [PATCH] =?UTF-8?q?butter,=20k=C3=A4se,=20eier,=20butter,=20k?= =?UTF-8?q?=C3=A4se?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Commands/FactionCommands.cs | 32 +++++++++++++++++-- .../Extensions/ClientExtension.cs | 4 +++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/FactionCommands.cs b/ReallifeGamemode.Server/Commands/FactionCommands.cs index 1ef3514c..8857c2f8 100644 --- a/ReallifeGamemode.Server/Commands/FactionCommands.cs +++ b/ReallifeGamemode.Server/Commands/FactionCommands.cs @@ -109,8 +109,8 @@ namespace ReallifeGamemode.Server.Commands target.GetUser(dbContext).FactionRankId = fr.Id; - ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.Order + "(" + fr.RankName + ")' gegeben."); - ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.Order + "(" + fr.RankName + ")' erhalten."); + ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ") gegeben."); + ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ")' erhalten."); dbContext.SaveChanges(); } @@ -185,6 +185,13 @@ namespace ReallifeGamemode.Server.Commands ChatService.NotAuthorized(player); return; } + + if (!player.IsDuty()) + { + ChatService.ErrorMessage(player, "Du bist nicht im Dienst"); + return; + } + if (player.IsInVehicle) { ChatService.ErrorMessage(player, "Du kannst in einem Auto nicht wiederbeleben."); @@ -239,12 +246,19 @@ namespace ReallifeGamemode.Server.Commands ChatService.NotAuthorized(player); return; } + + if (!player.IsDuty()) + { + ChatService.ErrorMessage(player, "Du bist nicht im Dienst"); + return; + } + if (player.IsInVehicle) { ChatService.ErrorMessage(player, "Du kannst in einem Auto nicht heilen."); return; } - if(player == target) + if (player == target) { ChatService.ErrorMessage(player, "Du kannst dich nicht selbst heilen."); return; @@ -265,6 +279,12 @@ namespace ReallifeGamemode.Server.Commands return; } + if (!player.IsDuty()) + { + ChatService.ErrorMessage(player, "Du bist nicht im Dienst"); + return; + } + if (amount <= 0) { ChatService.ErrorMessage(player, "Es muss eine positive Wantedanzahl vergeben werden"); @@ -299,6 +319,12 @@ namespace ReallifeGamemode.Server.Commands return; } + if (!player.IsDuty()) + { + ChatService.ErrorMessage(player, "Du bist nicht im Dienst"); + return; + } + Player target = PlayerService.GetPlayerByNameOrId(nameOrId); if (target == null || !target.IsLoggedIn()) { diff --git a/ReallifeGamemode.Server/Extensions/ClientExtension.cs b/ReallifeGamemode.Server/Extensions/ClientExtension.cs index 095ac260..25dea62e 100644 --- a/ReallifeGamemode.Server/Extensions/ClientExtension.cs +++ b/ReallifeGamemode.Server/Extensions/ClientExtension.cs @@ -65,6 +65,10 @@ namespace ReallifeGamemode.Server.Extensions return player.HasData("isLoggedIn") ? player.GetData("isLoggedIn") : false; } + public static bool IsDuty(this Player player) + { + return player.HasData("duty") ? player.GetData("duty") : false; + } public static Vector3 GetPositionFromPlayer(Player player, float distance, int offset = 0) { var pos = player.Position;