Merge branch 'develop' of ssh://development.life-of-german.org:451/log-gtav/reallife-gamemode into develop

This commit is contained in:
2021-04-11 03:11:57 +02:00
11 changed files with 32 additions and 19 deletions

View File

@@ -181,7 +181,6 @@
let Difference = Behaviour.subtractVector(Behaviour.pos, mp.players.local.position) let Difference = Behaviour.subtractVector(Behaviour.pos, mp.players.local.position)
if (Math.abs(Difference.x) > 30 || Math.abs(Difference.y) > 30) { if (Math.abs(Difference.x) > 30 || Math.abs(Difference.y) > 30) {
if (Behaviour.isWalking()) { if (Behaviour.isWalking()) {
mp.gui.chat.push("tp hack");
mp.events.callRemote("CLIENT:CheatDetection", "Flyhack/Teleport") mp.events.callRemote("CLIENT:CheatDetection", "Flyhack/Teleport")
} }
} }

View File

@@ -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));
}
} }
} }

View File

@@ -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);
} }

View File

@@ -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);

View File

@@ -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

View File

@@ -74,6 +74,12 @@ namespace ReallifeGamemode.Server.Extensions
} }
} }
public static void SafeSetHealth(this Player player, int health)
{
AntiCheat.NoHealthAntiCheatForPlayer(player.Name);
player.Health = 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)

View File

@@ -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);

View File

@@ -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);
} }

View File

@@ -255,15 +255,17 @@ namespace ReallifeGamemode.Server.Managers
if (targetPlayer != null) if (targetPlayer != null)
{ {
targetPlayer.SetData("duty", false); targetUser.SetData("duty", false);
targetPlayer.TriggerEvent("toggleDutyMode", false); targetPlayer.TriggerEvent("toggleDutyMode", false);
UpdateCharacterCloth.LoadCharacterDefaults(targetPlayer); UpdateCharacterCloth.LoadCharacterDefaults(targetPlayer);
ChatService.SendMessage(targetPlayer, "!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen."); ChatService.SendMessage(targetPlayer, "!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen.");
} FactionHelper.ResetPlayer(targetPlayer, targetUser, dbContext);
targetUser.SetBlipAndNametagColor(); }
Medic.UpdateDutyMedics(); Medic.UpdateDutyMedics();
targetUser.FactionRankId = null; targetUser.FactionRankId = null;
targetUser.FactionId = null; targetUser.FactionId = null;
targetUser.SetBlipAndNametagColor();
ChatService.SendMessage(player, "!{02FCFF}Du hast " + targetUser.Name + " aus der Fraktion geworfen."); ChatService.SendMessage(player, "!{02FCFF}Du hast " + targetUser.Name + " aus der Fraktion geworfen.");
dbContext.SaveChanges(); dbContext.SaveChanges();

View File

@@ -36,9 +36,9 @@ namespace ReallifeGamemode.Server.Util
public static void ResetPlayer(Player player, User user, DatabaseContext dbContext) public static void ResetPlayer(Player player, User user, DatabaseContext dbContext)
{ {
if (player.GetData<bool>("duty") == true) if (user.GetData<bool>("duty") == true)
{ {
player.SetData<bool>("duty", false); user.SetData("duty", false);
Medic.UpdateDutyMedics(); Medic.UpdateDutyMedics();
} }

View File

@@ -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.");