From afd51a736605f91ed2b60fed84199bc5bd3099fd Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 13 Oct 2022 16:33:30 +0800 Subject: [PATCH] 1 --- server/gameserver/matchmgr.cc | 14 +++++++++++--- server/gameserver/matchteam.cc | 3 --- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/server/gameserver/matchmgr.cc b/server/gameserver/matchmgr.cc index ba846df8..6a6112bb 100644 --- a/server/gameserver/matchmgr.cc +++ b/server/gameserver/matchmgr.cc @@ -120,9 +120,17 @@ bool MatchMgr::NeedMatch(const cs::CMJoin& msg) msg.team_slot_num() < MAX_TEAM_NUM && msg.team_members().size() == msg.team_slot_num(); if (need) { - MatchTeam* team = GetTeam(msg.team_uuid()); - if (team && !team->IsValidMember(msg)) { - need = false; + bool found = false; + for (int i = 0; i < msg.team_members().size(); ++i) { + if (msg.account_id() == msg.team_members(i).account_id()) { + found = true; + } + } + if (found) { + MatchTeam* team = GetTeam(msg.team_uuid()); + if (team && !team->IsValidMember(msg)) { + need = false; + } } } return need; diff --git a/server/gameserver/matchteam.cc b/server/gameserver/matchteam.cc index 7d004ea1..30369566 100644 --- a/server/gameserver/matchteam.cc +++ b/server/gameserver/matchteam.cc @@ -213,9 +213,6 @@ bool MatchTeam::IsRawMember(const std::string &account_id) bool MatchTeam::IsValidMember(const cs::CMJoin& msg) { - if (msg.team_members().size() <= 0) { - return false; - } if (first_member_->msg->team_uuid() != msg.team_uuid()) { return false; }