public async Task OnPlayerDeath(ClassicPlayer player, IEntity killer, uint weapon) { try { if (player == null || !player.Exists) { return; } int charId = (int)player.GetCharacterMetaId(); if (charId <= 0) { return; } if (Characters.IsCharacterUnconscious(charId)) { return; } if (Characters.IsCharacterInJail(charId)) { player.Spawn(new Position(1691.4594f, 2565.7056f, 45.556763f), 0); player.Position = new Position(1691.4594f, 2565.7056f, 45.556763f); return; } openDeathscreen(player); Characters.SetCharacterUnconscious(charId, true, 10); // Von 15 auf 10 geändert. ServerFactions.createFactionDispatch(player, 3, $"HandyNotruf", $"Eine Verletzte Person wurde gemeldet"); ClassicPlayer killerPlayer = (ClassicPlayer)killer; if (killerPlayer == null || !killerPlayer.Exists) { return; } WeaponModel weaponModel = (WeaponModel)weapon; if (weaponModel == WeaponModel.Fist) { return; } foreach (IPlayer p in Alt.Server.GetPlayers().ToList().Where(x => x != null && x.Exists && ((ClassicPlayer)x).CharacterId > 0 && x.AdminLevel() > 0)) { p.SendChatMessage($"{Characters.GetCharacterName(killerPlayer.CharacterId)} ({killerPlayer.CharacterId}) hat {Characters.GetCharacterName(player.CharacterId)} ({player.CharacterId}) getötet. Waffe: {weaponModel}"); LoggingService.NewDeathLog(player.CharacterId, killerPlayer.CharacterId, weapon); } if (Enum.IsDefined(typeof(AntiCheat.forbiddenWeapons), (Utils.AntiCheat.forbiddenWeapons)weaponModel)) { User.SetPlayerBanned(killerPlayer, true, $"Waffen Hack[2]: {weaponModel}"); killerPlayer.Kick(""); player.Health = 200; foreach (IPlayer p in Alt.Server.GetPlayers().ToList().Where(x => x != null && x.Exists && ((ClassicPlayer)x).CharacterId > 0 && x.AdminLevel() > 0)) { p.SendChatMessage($"{Characters.GetCharacterName(killerPlayer.CharacterId)} wurde gebannt: Waffenhack[2] - {weaponModel}"); } return; } } catch (Exception e) { Alt.Log($"{e}"); } }