diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs index 0f8f58c3e3..691b40c1f4 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs @@ -668,13 +668,18 @@ public class CECNPC : CECObject A3DVECTOR3 vDir = m_vServerPos - vCurPos; float fDist = vDir.Normalize(); A3DVECTOR3 vPos = vDir * m_fMoveSpeed * deltaTime; - float fMoveDelta = Vector3.Magnitude(EC_Utility.ToVector3(vPos) - EC_Utility.ToVector3(vCurPos)); - // If already very close to destination, consider it reached + A3DVECTOR3 exPPos = vPos + EC_Utility.ToA3DVECTOR3(transform.position); + float fMoveDelta = Vector3.Magnitude(EC_Utility.ToVector3(exPPos) - EC_Utility.ToVector3(vCurPos)); + if (fMoveDelta >= fDist) { + if (-2041570812 == m_NPCInfo.nid) + { + BMLogger.LogError($"HoangDev: m_vServerPos:{m_vServerPos},vCurPos:{vCurPos},vDir:{vDir},fDist:{fDist},vPos:{vPos},fMoveDelta:{fMoveDelta}"); + } // Already at destination _characterController.enabled = false; - SetPos( EC_Utility.ToVector3(m_vServerPos)); + SetPos(EC_Utility.ToVector3(m_vServerPos)); _characterController.enabled = true; bRet = true; } @@ -692,7 +697,7 @@ public class CECNPC : CECObject { // Teleport nếu lag xa _characterController.enabled = false; - SetPos( EC_Utility.ToVector3(m_vServerPos)); + SetPos(EC_Utility.ToVector3(m_vServerPos)); _characterController.enabled = true; m_vStopDir = EC_Utility.ToA3DVECTOR3(transform.forward); @@ -1124,7 +1129,7 @@ public class CECNPC : CECObject { if (-2041570812 == m_NPCInfo.nid) { - BMLogger.LogError("CECNPC::SetPos,else pos="+ pos); + BMLogger.LogError("CECNPC::SetPos,else pos=" + pos); } transform.position = pos; } diff --git a/Assets/Prefabs/Monster/MonsterPrefab.prefab b/Assets/Prefabs/Monster/MonsterPrefab.prefab index 88637e6ada..1d02c488f6 100644 --- a/Assets/Prefabs/Monster/MonsterPrefab.prefab +++ b/Assets/Prefabs/Monster/MonsterPrefab.prefab @@ -567,7 +567,6 @@ MonoBehaviour: vis_tid: 0 m_iMMIndex: 0 m_idAttackTarget: 0 - m_npcUI: {fileID: 0} m_fMoveSpeed: 0 _characterController: {fileID: -2400324395862947468} isDebug: 0 @@ -606,7 +605,7 @@ CharacterController: m_Enabled: 1 serializedVersion: 3 m_Height: 2 - m_Radius: 0.5 + m_Radius: 0 m_SlopeLimit: 45 m_StepOffset: 0.3 m_SkinWidth: 0.08