no health anti cheat when healing
This commit is contained in:
@@ -47,5 +47,10 @@ namespace ReallifeGamemode.Server.Admin
|
|||||||
{
|
{
|
||||||
lastAntiCheatBroadcastTime[(name, "Flyhack/Teleport")] = DateTime.Now.Subtract(antiCheatMessageCooldown).Add(TimeSpan.FromSeconds(5));
|
lastAntiCheatBroadcastTime[(name, "Flyhack/Teleport")] = DateTime.Now.Subtract(antiCheatMessageCooldown).Add(TimeSpan.FromSeconds(5));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static void NoHealthAntiCheatForPlayer(string name)
|
||||||
|
{
|
||||||
|
lastAntiCheatBroadcastTime[(name, "Healkey (unexpected HP added)")] = DateTime.Now.Subtract(antiCheatMessageCooldown).Add(TimeSpan.FromSeconds(5));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1324,7 +1324,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
target.Health = hp;
|
target.SafeSetHealth(hp);
|
||||||
ChatService.SendMessage(target, "~b~Deine HP wurden von " + player.Name + " auf " + hp + " gesetzt.");
|
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.");
|
ChatService.SendMessage(player, "~b~Du hast die HP von " + target.Name + " auf " + hp + " gesetzt.");
|
||||||
}
|
}
|
||||||
@@ -1444,7 +1444,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
target.SafeTeleport(target.Position, 0, true);
|
target.SafeTeleport(target.Position, 0, true);
|
||||||
target.Health = 100;
|
target.SafeSetHealth(100);
|
||||||
|
|
||||||
Medic.delReviveTask(target);
|
Medic.delReviveTask(target);
|
||||||
}
|
}
|
||||||
@@ -2010,7 +2010,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
foreach (var managedPlayer in peopleInRange)
|
foreach (var managedPlayer in peopleInRange)
|
||||||
{
|
{
|
||||||
if (!managedPlayer.IsLoggedIn()) return;
|
if (!managedPlayer.IsLoggedIn()) return;
|
||||||
managedPlayer.Health = hp;
|
managedPlayer.SafeSetHealth(hp);
|
||||||
ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt.");
|
ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt.");
|
||||||
}
|
}
|
||||||
ChatService.SendMessage(player, "~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt.");
|
ChatService.SendMessage(player, "~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt.");
|
||||||
@@ -2415,7 +2415,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
ChatService.SendMessage(managedPlayer, toPlayerChat);
|
ChatService.SendMessage(managedPlayer, toPlayerChat);
|
||||||
|
|
||||||
managedPlayer.SafeTeleport(managedPlayer.Position, 0, true);
|
managedPlayer.SafeTeleport(managedPlayer.Position, 0, true);
|
||||||
managedPlayer.Health = 100;
|
managedPlayer.SafeSetHealth(100);
|
||||||
|
|
||||||
Medic.delReviveTask(managedPlayer);
|
Medic.delReviveTask(managedPlayer);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using GTANetworkAPI;
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using ReallifeGamemode.Database.Entities;
|
using ReallifeGamemode.Database.Entities;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
|
using ReallifeGamemode.Server.Admin;
|
||||||
using ReallifeGamemode.Server.Extensions;
|
using ReallifeGamemode.Server.Extensions;
|
||||||
using ReallifeGamemode.Server.Factions.Medic;
|
using ReallifeGamemode.Server.Factions.Medic;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
@@ -344,7 +345,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
deadPlayer.SafeTeleport(deadPlayer.Position, 0, true);
|
deadPlayer.SafeTeleport(deadPlayer.Position, 0, true);
|
||||||
deadPlayer.Health = 50;
|
deadPlayer.SafeSetHealth(50);
|
||||||
|
|
||||||
MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == deadPlayer.Name);
|
MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == deadPlayer.Name);
|
||||||
Medic.RemoveTaskFromList(task);
|
Medic.RemoveTaskFromList(task);
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
player.TriggerEvent("startDeathTimer", false);
|
player.TriggerEvent("startDeathTimer", false);
|
||||||
}
|
}
|
||||||
player.Health = 0;
|
player.SafeSetHealth(0);
|
||||||
player.SetData("isDead", true);
|
player.SetData("isDead", true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -74,6 +74,12 @@ namespace ReallifeGamemode.Server.Extensions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SafeSetHealth(this Player player, int health)
|
||||||
|
{
|
||||||
|
AntiCheat.NoHealthAntiCheatForPlayer(player.Name);
|
||||||
|
player.SafeSetHealth(health);
|
||||||
|
}
|
||||||
|
|
||||||
public static void SetJailTime(this User user, bool killed)
|
public static void SetJailTime(this User user, bool killed)
|
||||||
{
|
{
|
||||||
if (user == null)
|
if (user == null)
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
activeDecision.dTarget.Health = 100;
|
activeDecision.dTarget.SafeSetHealth(100);
|
||||||
activeDecision.dTarget.SendNotification($"Du wurdest von ~g~{activeDecision.dMedic.Name} ~s~ für ~g~{activeDecision.dPrice.ToMoneyString()} geheilt", false);
|
activeDecision.dTarget.SendNotification($"Du wurdest von ~g~{activeDecision.dMedic.Name} ~s~ für ~g~{activeDecision.dPrice.ToMoneyString()} geheilt", false);
|
||||||
activeDecision.dMedic.SendNotification($"Du hast ~g~{activeDecision.dTarget.Name} ~s~ für {activeDecision.dPrice.ToMoneyString()} geheilt", false);
|
activeDecision.dMedic.SendNotification($"Du hast ~g~{activeDecision.dTarget.Name} ~s~ für {activeDecision.dPrice.ToMoneyString()} geheilt", false);
|
||||||
delHealTask(activeDecision.dTarget);
|
delHealTask(activeDecision.dTarget);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
|||||||
amountToAdd = 100 - player.Health;
|
amountToAdd = 100 - player.Health;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.Health += amountToAdd;
|
player.SafeSetHealth(player.Health + amountToAdd);
|
||||||
player.SendNotification("Du hast ein/einen ~y~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~gegessen.", false);
|
player.SendNotification("Du hast ein/einen ~y~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~gegessen.", false);
|
||||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace ReallifeGamemode.Server.Wanted
|
|||||||
player.RemoveAllWeapons();
|
player.RemoveAllWeapons();
|
||||||
player.ClearAttachments();
|
player.ClearAttachments();
|
||||||
player.ClearAnimation();
|
player.ClearAnimation();
|
||||||
player.Health = 100;
|
player.SafeSetHealth(100);
|
||||||
player.Armor = 0;
|
player.Armor = 0;
|
||||||
Random rnd = new Random();
|
Random rnd = new Random();
|
||||||
int rndInt = rnd.Next(1, 3);
|
int rndInt = rnd.Next(1, 3);
|
||||||
@@ -159,7 +159,7 @@ namespace ReallifeGamemode.Server.Wanted
|
|||||||
}
|
}
|
||||||
|
|
||||||
player.TriggerEvent("jailTime", timeMinutes);
|
player.TriggerEvent("jailTime", timeMinutes);
|
||||||
player.Health = 100;
|
player.SafeSetHealth(100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -182,7 +182,7 @@ namespace ReallifeGamemode.Server.Wanted
|
|||||||
player.GetUser(dbContext).JailTime = 0;
|
player.GetUser(dbContext).JailTime = 0;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
player.Health = 100;
|
player.SafeSetHealth(100);
|
||||||
player.SafeTeleport(new Vector3(427.879, -984.65, 30.71));
|
player.SafeTeleport(new Vector3(427.879, -984.65, 30.71));
|
||||||
|
|
||||||
ChatService.HQMessage("Beamter " + cop.Name + " hat " + user.Name + " aus dem Knast entlassen.");
|
ChatService.HQMessage("Beamter " + cop.Name + " hat " + user.Name + " aus dem Knast entlassen.");
|
||||||
@@ -202,7 +202,7 @@ namespace ReallifeGamemode.Server.Wanted
|
|||||||
user.JailTime = 0;
|
user.JailTime = 0;
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|
||||||
target.Health = 100;
|
target.SafeSetHealth(100);
|
||||||
target.SafeTeleport(new Vector3(427.879, -984.65, 30.71));
|
target.SafeTeleport(new Vector3(427.879, -984.65, 30.71));
|
||||||
|
|
||||||
ChatService.HQMessage(" Admin " + admin.Name + " hat " + user.Name + " aus dem Knast entlassen.");
|
ChatService.HQMessage(" Admin " + admin.Name + " hat " + user.Name + " aus dem Knast entlassen.");
|
||||||
|
|||||||
Reference in New Issue
Block a user