From 33db8070e03f1933c741e1b1f9522c855797dc12 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 11 Apr 2021 05:17:50 +0200 Subject: [PATCH] anticheat safe armor --- ReallifeGamemode.Server/Commands/AdminCommands.cs | 4 ++-- ReallifeGamemode.Server/Events/UpdateCharacterWeapon.cs | 4 ++-- ReallifeGamemode.Server/Extensions/ClientExtension.cs | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index cedff294..d887447b 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -1465,7 +1465,7 @@ namespace ReallifeGamemode.Server.Commands return; } - target.Armor = armor; + target.SafeSetArmor(armor); ChatService.SendMessage(target, "~b~Deine Rüstung wurde von " + player.Name + " auf " + armor + " gesetzt."); ChatService.SendMessage(player, "~b~Du hast die Rüstung von " + target.Name + " auf " + armor + " gesetzt."); } @@ -1991,7 +1991,7 @@ namespace ReallifeGamemode.Server.Commands foreach (var managedPlayer in peopleInRange) { if (!managedPlayer.IsLoggedIn()) return; - managedPlayer.Armor = Armor; + managedPlayer.SafeSetArmor(Armor); ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die Rüstung auf " + Armor + " gesetzt."); } ChatService.SendMessage(player, "~b~Die Rüstung von " + peopleInRange.Count + " Spielern wurde auf " + Armor + " gesetzt."); diff --git a/ReallifeGamemode.Server/Events/UpdateCharacterWeapon.cs b/ReallifeGamemode.Server/Events/UpdateCharacterWeapon.cs index 6cf2c59b..00de3e94 100644 --- a/ReallifeGamemode.Server/Events/UpdateCharacterWeapon.cs +++ b/ReallifeGamemode.Server/Events/UpdateCharacterWeapon.cs @@ -43,7 +43,7 @@ namespace ReallifeGamemode.Server.Events } if (slot == 5) { - client.Armor = 100; + client.SafeSetArmor(100); } } @@ -94,7 +94,7 @@ namespace ReallifeGamemode.Server.Events if (armor == "Schutzweste") { - client.Armor = 100; + client.SafeSetArmor(100); } using (var context = new DatabaseContext()) diff --git a/ReallifeGamemode.Server/Extensions/ClientExtension.cs b/ReallifeGamemode.Server/Extensions/ClientExtension.cs index a5dac3ad..140d180e 100644 --- a/ReallifeGamemode.Server/Extensions/ClientExtension.cs +++ b/ReallifeGamemode.Server/Extensions/ClientExtension.cs @@ -81,6 +81,12 @@ namespace ReallifeGamemode.Server.Extensions player.Health = health; } + public static void SafeSetArmor(this Player player, int armor) + { + AntiCheat.NoHealthAntiCheatForPlayer(player.Name); + player.Armor = armor; + } + public static void SetJailTime(this User user, bool killed) { if (user == null)