diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index 5161461..31676f8 100755 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -170,3 +170,6 @@ const int MAX_NODE_ID = 8; const int MAX_INSTANCE_ID = 500; const int WALK_ZONE_WIDTH = 100; + +const int MAX_TEAM_NUM = 4; + diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index b3ab779..5ef6103 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1087,9 +1087,11 @@ void Room::MatchTeam(Human* hum) pair.second->team_members = &team_hash_[pair.second->team_id]; pair.second->team_members->insert(pair.second); } - pair.second->team_members->insert(hum); - hum->team_id = pair.second->team_id; - hum->team_members = pair.second->team_members; + if (pair.second->team_members->size() < MAX_TEAM_NUM) { + pair.second->team_members->insert(hum); + hum->team_id = pair.second->team_id; + hum->team_members = pair.second->team_members; + } break; } }