From ca0834d091a83e35f869d5da21afd34d416f3c4d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 14 Feb 2024 16:15:47 +0800 Subject: [PATCH] 1 --- server/gameserver/glmhelper.cc | 2 +- server/gameserver/player.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/gameserver/glmhelper.cc b/server/gameserver/glmhelper.cc index 70e29f41..4287746c 100644 --- a/server/gameserver/glmhelper.cc +++ b/server/gameserver/glmhelper.cc @@ -99,5 +99,5 @@ glm::vec3 GlmHelper::Vec2ToVec3(const glm::vec2& v2) bool GlmHelper::IsValidVec3(const glm::vec3& v) { - return !(isnan(v.x)); + return !(isnan(v.x) || isnan(v.y) || isnan(v.z)); } diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index ecba0588..cb7f3ce6 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -973,7 +973,7 @@ void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg) a8::XPrintf("has_move_dir1\n", {}); #endif if (!(HasBuffEffect(kBET_Jump) && follow_target.Get())) { - if (GetDisableMoveDirTimes() <= 0) { + if (GetDisableMoveDirTimes() <= 0 && GlmHelper::IsValidVec3(new_move_dir)) { GlmHelper::Normalize(new_move_dir); if (std::fabs(new_move_dir.x - GetMoveDir().x) > 0.00001f || std::fabs(new_move_dir.y - GetMoveDir().y) > 0.00001f ||