public override void OnUpdate() { if (Settings.Aimbot_Melee_Silent && BasePlayer.IsHaveLocalPlayer && BasePlayer.LocalPlayer.CanInteract()) { if (!BasePlayer.LocalPlayer.HasActiveItem || !BasePlayer.LocalPlayer.ActiveItem.IsMelee()) { // При отсутсвии в руках оружия ближнего боя, ставим кд 1, чтобы при смене оружия не было CooldownHack SetCooldown(1f); return; } m_Interval += DeltaTime; m_Cooldown -= DeltaTime; var prefabId = (EPrefabUID)BasePlayer.LocalPlayer.ActiveItem.PrefabID; var speed = GetMeleeSpeed(prefabId); // Если меняем оружие ближнего боя, то ставим кд 1, чтобы при смене оружие не было CooldownHack if (LastMeleePrefabUID != BasePlayer.LocalPlayer.ActiveItem.PrefabID) { LastMeleePrefabUID = BasePlayer.LocalPlayer.ActiveItem.PrefabID; SetCooldown(1f); return; } if (m_Interval > speed && m_Cooldown < 0) { m_Interval = 0; var maxDistance = OpCodes.GetMeleeMaxDistance(prefabId); BasePlayer target = BasePlayer.FindEnemy(maxDistance); if (target != null) { // При успешной атаке, ставим кд равное максимальной скорости атаки данного оружия SetCooldown(speed); var bone = OpCodes.GetTargetHit(0, Settings.Aimbot_Melee_Silent_AutoHeadshot); var attackInfo = OpCodes.GetTargetHitInfo(bone); var closestPoint = target.ClosestPoint(BasePlayer.LocalPlayer.EyePos); var offset = BasePlayer.LocalPlayer.GetForward(closestPoint) * 1.4f; DDraw.DrawBox(target.WorldSpaceBounds().position, target.WorldSpaceBounds().extents * 2, Color.magenta, 1f); DDraw.Arrow(closestPoint, closestPoint - offset, 0.1f, Color.blue, 1f); var position = closestPoint - offset; BasePlayer.LocalPlayer.ActiveItem.SendMeleeAttack(target, bone, position); } } } }
public override void OnUpdate() { if (BasePlayer.LocalPlayer?.CanInteract() == true) { m_Interval += DeltaTime; // Every 0.1s if (m_Interval < 0.2f) { return; } m_Interval = 0; //ConsoleSystem.Log($"Storage Count => { StorageContainer.Containers}"); foreach (var player in BasePlayer.ListPlayers) { if (player == BasePlayer.LocalPlayer) { continue; } DDraw.DrawBox(player.Position + player.GetCenterVector(), new Vector3(1, 1.8f, 1), Color.magenta, .2f); DDraw.Text(player.Position + new Vector3(0, 1.8f, 0), $"PLAYER", Color.red, .2f); } } }