From 94b692742291602168e39388a3442c3055926312 Mon Sep 17 00:00:00 2001 From: Tungdv Date: Wed, 29 Oct 2025 19:14:52 +0700 Subject: [PATCH] fix: update logic auto move to target of HP. --- Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs | 7 ++++--- Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 2 +- Assets/Scenes/a61.unity | 2 +- Assets/Scripts/CECHostPlayer.cs | 7 +++++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs index d15c4ca942..4cd508cb86 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs @@ -601,8 +601,8 @@ public class CECHPWorkTrace : CECHPWork { if (IsGoodTimeToTouch()) { - OnTouchTarget(); - return true; + //OnTouchTarget(); + //return true; if (m_pTraceObject.CanTouchFrom(m_pHost.GetPos() + new A3DVECTOR3(0f, m_pHost.m_CDRInfo.vExtent.y, 0f))) { OnTouchTarget(); @@ -612,7 +612,7 @@ public class CECHPWorkTrace : CECHPWork } m_bCheckTouch = true; - return true; // TO DO: remove later + //return true; // TO DO: remove later if (!m_pHost.IsRooting()) { // Continue tracing object @@ -863,6 +863,7 @@ public class CECHPWorkTrace : CECHPWork // Ajust direction only when player on ground A3DVECTOR3 vDirH = vTargetPos - vCurPos; + Debug.DrawLine(EC_Utility.ToVector3(vCurPos), EC_Utility.ToVector3(vTargetPos), Color.blue, 10f); A3DVECTOR3 v = A3DFuncs.a3d_Normalize(vDirH); if (Math.Abs(v.y) > 0.9848f) { diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index 5a78826190..578f74bbed 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -806,7 +806,7 @@ public abstract class CECPlayer : CECObject } } - return pFashionConfig.Value; + return pFashionConfig == null ? default : pFashionConfig.Value; } public int GetSelectedTarget() diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index 068aa45f69..c2d635237a 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e7b86c2516571fa81812b77127ba2caeef08f280d26b69313c1e21a52fa43b0 +oid sha256:af7af722085e0e9e436ab6c89964912b66531b0e6fbec6f79267e992beb20687 size 532497061 diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 15109559d6..df04e15d14 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -73,7 +73,7 @@ public class CECHostPlayer : CECPlayer private float radiusEpsilon = 0.005f; [Tooltip("Layer mặt đất")] [SerializeField] - private LayerMask groundMask; + private LayerMask groundMask = 1<<6; [Tooltip("Layer mặt đất")] [SerializeField] private float slopeToleranceDeg = 2f; @@ -240,7 +240,7 @@ public class CECHostPlayer : CECPlayer { // 1) Kiểm tra grounded bằng SphereCast ngắn dựa trên radius + skinWidth isGrounded = GroundCheck(out lastGroundHit); - + m_GndInfo.bOnGround = isGrounded; // 2) Input tạm thời: giữ nguyên như bạn if (UnityEngine.Input.GetKeyDown(KeyCode.LeftShift)) SetStatusRun(true); if (UnityEngine.Input.GetKeyUp(KeyCode.LeftShift)) SetStatusRun(false); @@ -1296,6 +1296,9 @@ public class CECHostPlayer : CECPlayer else fRange = m_ExtProps.ak.AttackRange * 0.7f; + + fRange = 2.31f; + Debug.LogError("fDist - fTargetRad = " + (fDist - fTargetRad)); if (fDist - fTargetRad <= fRange) return true;