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); } } }
public override void OnUpdate() { this.m_interval_update_tick += DeltaTime; if (this.m_interval_update_tick >= 0.1f) { this.m_interval_update_tick = 0f; /// if (BasePlayer.IsHaveLocalPlayer) { if (this.m_no_target_time >= 0.5f) { this.m_no_target_time = 0f; this.TargetPlayer = null; } #region [Section] Find Target for (int i = 0; i < BasePlayer.ListPlayers.Count; ++i) { if (BasePlayer.ListPlayers[i].IsLocalPlayer == false && BasePlayer.ListPlayers[i].IsAlive) { float distance = Vector3.Distance(BasePlayer.ListPlayers[i].Position, BasePlayer.LocalPlayer.Position); if ((BasePlayer.LocalPlayer.HasActiveItem && OpCodes.IsFireWeapon_Prefab((EPrefabUID)BasePlayer.LocalPlayer.ActiveItem.PrefabID) && distance < 150) || distance < 50) { #region [Section] Range and Radius check Vector3 forward = BasePlayer.LocalPlayer.GetForward() * distance + BasePlayer.LocalPlayer.EyePos; float distance_check = 5f; if (distance < 10) { distance_check = distance / 2; } else if (distance > 30) { distance_check = 9; } distance_check = 100; float distance_point_and_playuer = Vector3.Distance(forward, BasePlayer.ListPlayers[i].Position + new Vector3(0, BasePlayer.ListPlayers[i].GetHeight() * 0.5f, 0)); if (distance_point_and_playuer < distance_check) { m_list_players.Push(new TargetAimInformation { Player = BasePlayer.ListPlayers[i], DistanceCursor = distance_point_and_playuer }); } #endregion } } } if (this.m_list_players.Count > 0) { BasePlayer target = null; float dist = float.MaxValue; while (this.m_list_players.Count > 0) { TargetAimInformation player = this.m_list_players.Pop(); if (dist > player.DistanceCursor) { dist = player.DistanceCursor; target = player.Player; } } this.TargetPlayer = target; } else if (this.TargetPlayer != null) { m_no_target_time += 0.1f; } #endregion if (this.TargetPlayer != null) { DDraw.Text(this.TargetPlayer.Position + new Vector3(0, this.TargetPlayer.GetHeight(), 0), $"<size=32>.</size>", Color.red, 0.1f); } // if (this.TargetPlayer != null) // DDraw.DrawBox(this.TargetPlayer.Position + new Vector3(0, this.TargetPlayer.GetHeight()*0.5f, 0), this.TargetPlayer.Rotation.ToQuaternion(), new Vector3(1,this.TargetPlayer.GetHeight(), 1), Color.red, 0.05f); } /// } }
public static void Players() { foreach (BasePlayer pl in BasePlayer.VisiblePlayerList) { if (pl != null && pl != LocalPlayer.Entity) { Vector3 screenPos = GetScreenPos(pl.transform.position); if (screenPos.z > 0f) { if (!pl.IsSleeping() && Manager.Players) { int distance = (int)Vector3.Distance(LocalPlayer.Entity.transform.position, pl.transform.position); if (distance <= Manager.playerdist) { Vector3 screenPos2 = GetScreenPos(GetPositionBone(pl.GetModel(), "headCenter") + new Vector3(0f, 0.3f, 0f)); float num = Mathf.Abs(screenPos.y - screenPos2.y); Render.Box(screenPos.x, (float)Screen.height - screenPos.y, num / 2f, num, Color.white, 1f); if (Manager.Tracers) { DDraw.Line(LocalPlayer.Entity.transform.position, pl.transform.position, Color.white, 0f, true, false); } if (Manager.Nicknames) { Render.String(screenPos.x, (float)Screen.height - screenPos.y, String.Format("{0}", pl.displayName), Color.white, true); } if (Manager.Health) { Render.String(screenPos.x, (float)Screen.height - screenPos.y, String.Format("\n [{0} HP]", (int)pl.health), Color.white, true); } if (Manager.Distance) { Render.String(screenPos.x, (float)Screen.height - screenPos.y, String.Format("\n [{0} M]", distance), Color.white, true); } if (Manager.HPBar) { Render.Health(screenPos2.x, (float)Screen.height - screenPos2.y - 4f, pl.health, 100f, 50f, 5f, 1f); } } } if (pl.IsSleeping() && Manager.Sleeper) { int distance = (int)Vector3.Distance(LocalPlayer.Entity.transform.position, pl.transform.position); if (distance <= Manager.sleepdist) { Vector3 screenPos2 = GetScreenPos(GetPositionBone(pl.GetModel(), "headCenter") + new Vector3(0f, 0.3f, 0f)); float num = Mathf.Abs(screenPos.y - screenPos2.y); if (Manager.Nicknames) { Render.String(screenPos.x, (float)Screen.height - screenPos.y, String.Format("{0}", pl.displayName), Color.gray, true); } if (Manager.Health) { Render.String(screenPos.x, (float)Screen.height - screenPos.y, String.Format("\n [{0} HP]", (int)pl.health), Color.gray, true); } if (Manager.Distance) { Render.String(screenPos.x, (float)Screen.height - screenPos.y, String.Format("\n [{0} M]", distance), Color.gray, true); } } } } } } }
// Token: 0x06000127 RID: 295 RVA: 0x00009D78 File Offset: 0x00007F78 public override void OnUpdate() { this.m_interval_update_tick += SapphireType.DeltaTime; bool flag = this.m_interval_update_tick >= 0.1f; if (flag) { this.m_interval_update_tick = 0f; bool isHaveLocalPlayer = BasePlayer.IsHaveLocalPlayer; if (isHaveLocalPlayer) { bool flag2 = this.m_no_target_time >= 0.5f; if (flag2) { this.m_no_target_time = 0f; this.TargetPlayer = null; } for (int i = 0; i < BasePlayer.ListPlayers.Count; i++) { bool flag3 = !BasePlayer.ListPlayers[i].IsLocalPlayer && BasePlayer.ListPlayers[i].IsAlive; if (flag3) { float distance = Vector3.Distance(BasePlayer.ListPlayers[i].Position, BasePlayer.LocalPlayer.Position); bool flag4 = (BasePlayer.LocalPlayer.HasActiveItem && OpCodes.IsFireWeapon_Prefab((EPrefabUID)BasePlayer.LocalPlayer.ActiveItem.PrefabID) && distance < 150f) || distance < 70f; if (flag4) { Vector3 forward = BasePlayer.LocalPlayer.GetForward() * distance + BasePlayer.LocalPlayer.EyePos; bool flag5 = distance < 10f; float distance_check; if (flag5) { distance_check = distance / 2f; } else { bool flag6 = distance > 30f; if (flag6) { } } distance_check = 100f; float distance_point_and_playuer = Vector3.Distance(forward, BasePlayer.ListPlayers[i].Position + new Vector3(0f, BasePlayer.ListPlayers[i].GetHeight() * 0.5f, 0f)); bool flag7 = distance_point_and_playuer < distance_check; if (flag7) { this.m_list_players.Push(new TargetAimInformation { Player = BasePlayer.ListPlayers[i], DistanceCursor = distance_point_and_playuer }); } } } } bool flag8 = this.m_list_players.Count > 0; if (flag8) { BasePlayer target = null; float dist = float.MaxValue; while (this.m_list_players.Count > 0) { TargetAimInformation player = this.m_list_players.Pop(); bool flag9 = dist > player.DistanceCursor; if (flag9) { dist = player.DistanceCursor; target = player.Player; } } this.TargetPlayer = target; } else { bool flag10 = this.TargetPlayer != null; if (flag10) { this.m_no_target_time += 0.1f; } } bool flag11 = this.TargetPlayer != null; if (flag11) { DDraw.Text(this.TargetPlayer.Position + new Vector3(0f, this.TargetPlayer.GetHeight(), 0f), "<size=32>.</size>", Color.red, 0.1f); } } } }