diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index a482e521..16e579d7 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1286,7 +1286,11 @@ void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg) } else { skill_dir = GlmHelper::ZERO; } - TypeConvert::FromPb(*current_pos_.get(), &msg.current_pos()); + if (msg.has_current_pos()) { + TypeConvert::FromPb(*current_pos_.get(), &msg.current_pos()); + } else { + *current_pos_ = GetPos().ToGlmVec3(); + } skill_distance = msg.skill_distance(); } else { use_skill = false;