diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index aba6683..4ffe0f0 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1471,7 +1471,7 @@ void Human::RemoveObserver(Human* observer) void Human::SendUpdateMsg() { - if (!follow_target_ && !a8::HasBitFlag(status, HS_Disable)) { + if (!follow_target_ && !a8::HasBitFlag(status, HS_Disable) && IsPlayer()) { cs::MFActivePlayerData* active_player_data_pb = nullptr; if (send_msg_times == 0 || need_sync_active_player) { active_player_data_pb = new cs::MFActivePlayerData(); @@ -1491,6 +1491,8 @@ void Human::SendUpdateMsg() delete active_player_data_pb; } ++send_msg_times; + } else { + need_sync_active_player = false; } ClearFrameData(); }