diff --git a/ReallifeGamemode.Client/admin/anticheat.ts b/ReallifeGamemode.Client/admin/anticheat.ts index 078a8b86..0eaf4fed 100644 --- a/ReallifeGamemode.Client/admin/anticheat.ts +++ b/ReallifeGamemode.Client/admin/anticheat.ts @@ -23,7 +23,8 @@ -2084633992, -1075685676, -1786099057, - -1074790547 + -1074790547, + -1569615261 ] mp.events.add("playerJoin", () => { @@ -152,7 +153,6 @@ checkWeaponhash() { let h = this.weapon; if (allowedWeaponHashes.indexOf(h) === -1) { - mp.gui.chat.push("unallowed weapon: " + h); return true } return false @@ -189,12 +189,12 @@ let Difference = Behaviour.subtractVector(Behaviour.pos, mp.players.local.position) if (Math.abs(Difference.x) > 30 || Math.abs(Difference.y) > 30) { if (Behaviour.isWalking()) { - mp.events.callRemote("CLIENT:CheatDetection", "Flyhack/Teleport") + //mp.events.callRemote("CLIENT:CheatDetection", "Flyhack/Teleport") } } if (mp.players.local.vehicle) { if (Behaviour.checkCarPos(25)) { - mp.events.callRemote("CLIENT:CheatDetection", "Vehicle Flyhack") + //mp.events.callRemote("CLIENT:CheatDetection", "Vehicle Flyhack") } if (Behaviour.VehicleFasterThan(250)) { mp.events.callRemote("CLIENT:CheatDetection", "Vehicle Speedhack") diff --git a/ReallifeGamemode.Server/Events/Connect.cs b/ReallifeGamemode.Server/Events/Connect.cs index 7852a425..9a235a20 100644 --- a/ReallifeGamemode.Server/Events/Connect.cs +++ b/ReallifeGamemode.Server/Events/Connect.cs @@ -27,6 +27,7 @@ namespace ReallifeGamemode.Server.Events //player.SetSharedData("vehicleAdminSpeed2", 1.0); player.SetData("isLoggedIn", false); player.SafeTeleport(new Vector3(-1883.736, -781.4911, -10)); + player.Dimension = (uint)(player.Handle.Value + 1); bool registered = false; diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 5dff77b5..c810c4ff 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -238,8 +238,12 @@ namespace ReallifeGamemode.Server.Events } player.RemoveAllWeapons(); MedicTask task = Medic.ReviveTasks.FirstOrDefault(t => t.Victim == player.Name); - Player medicPlayer = PlayerService.GetPlayerByNameOrId(task.MedicName); - Medic.RemoveTaskFromList(task); + + if(task != null) + { + Player medicPlayer = PlayerService.GetPlayerByNameOrId(task.MedicName); + Medic.RemoveTaskFromList(task); + } player.SafeTeleport(new Vector3(-495.45, -336.33, 34.5), 0, true); } diff --git a/ReallifeGamemode.Server/Events/Disconnect.cs b/ReallifeGamemode.Server/Events/Disconnect.cs index de3dd8c8..ab181cb4 100644 --- a/ReallifeGamemode.Server/Events/Disconnect.cs +++ b/ReallifeGamemode.Server/Events/Disconnect.cs @@ -30,6 +30,13 @@ namespace ReallifeGamemode.Server.Events public void OnPlayerDisconnected(Player player, DisconnectionType type, string reason) { if (!player.IsLoggedIn()) return; + using var saveUser = new DatabaseContext(); + User user = player.GetUser(saveUser); + + if(user == null) + { + return; + } if (type == DisconnectionType.Left) { @@ -49,7 +56,7 @@ namespace ReallifeGamemode.Server.Events GlobalHelper.DutyAdmins.Remove(player); }*/ - if (player.GetUser().IsAdmin(AdminLevel.MAPPING)) + if (user.IsAdmin(AdminLevel.MAPPING)) { ChatService.BroadcastAdmin("!{#FFFF00}*** " + player.Name + " hat den Server verlassen", AdminLevel.MAPPING); } @@ -74,8 +81,8 @@ namespace ReallifeGamemode.Server.Events { Report.Report.listReports.Remove(temp); - Player user = PlayerService.GetPlayerByNameOrId(temp.getUser()); - user.SendChatMessage("!{#008fff}[REPORT]!{#FFFFFF} Chat beendet. Der Admin hat den Server verlassen"); + Player ticketUser = PlayerService.GetPlayerByNameOrId(temp.getUser()); + ticketUser.SendChatMessage("!{#008fff}[REPORT]!{#FFFFFF} Chat beendet. Der Admin hat den Server verlassen"); break; } @@ -124,27 +131,23 @@ namespace ReallifeGamemode.Server.Events } } - using (var saveUser = new DatabaseContext()) + Vector3 pos = player.Position; + + user.PositionX = pos.X; + user.PositionY = pos.Y; + user.PositionZ = pos.Z; + saveUser.SaveChanges(); + user.Dead = player.HasData("isDead") ? (bool)player.GetData("isDead") : false; + + if (user.Wanteds > 0) { - var user = player.GetUser(saveUser); - Vector3 pos = player.Position; - - user.PositionX = pos.X; - user.PositionY = pos.Y; - user.PositionZ = pos.Z; - saveUser.SaveChanges(); - user.Dead = player.HasData("isDead") ? (bool)player.GetData("isDead") : false; - - if (user.Wanteds > 0) - { - ChatService.HQMessage("Der Straftäter " + player.GetUser().Name + " ist vom Radar verschwunden"); - } - + ChatService.HQMessage("Der Straftäter " + user.Name + " ist vom Radar verschwunden"); } + player.SetData("isLoggedIn", false); player.TriggerEvent("CLIENT:DestroyPed", 1); player.TriggerEvent("CLIENT:DestroyPed", 2); - player.TriggerEvent("CLIENT:DestroyPed", 3); + player.TriggerEvent("CLIENT:DestroyPed", 3); player.TriggerEvent("CLIENT:DestroyPed", 4); Medic.delHealTask(player); diff --git a/ReallifeGamemode.Server/Events/Login.cs b/ReallifeGamemode.Server/Events/Login.cs index 0d46c49c..2966c9d0 100644 --- a/ReallifeGamemode.Server/Events/Login.cs +++ b/ReallifeGamemode.Server/Events/Login.cs @@ -144,6 +144,8 @@ namespace ReallifeGamemode.Server.Events { Jail.Check_PutBehindBars(user); } + + player.Dimension = 0; } player.TriggerEvent("draw", player.Name, player.Handle.Value); diff --git a/ReallifeGamemode.Server/Extensions/ClientExtension.cs b/ReallifeGamemode.Server/Extensions/ClientExtension.cs index 38d79ada..9c354a51 100644 --- a/ReallifeGamemode.Server/Extensions/ClientExtension.cs +++ b/ReallifeGamemode.Server/Extensions/ClientExtension.cs @@ -31,8 +31,9 @@ namespace ReallifeGamemode.Server.Extensions /// public static User GetUser(this Player client, DatabaseContext context = null) { - context = context ?? new DatabaseContext(); if (!client.IsLoggedIn()) return null; + + context = context ?? new DatabaseContext(); return context .Users .Include(u => u.Faction)