diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index 2310d70..dac010a 100755 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -71,7 +71,9 @@ enum RoomType_e { RT_NewBrid = 0, RT_MidBrid = 1, - RT_OldBrid = 2, + RT_OldBrid1 = 2, + RT_OldBrid2 = 3, + RT_OldBrid3 = 4, RT_Max }; diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 44a39d7..e591cbd 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -29,8 +29,9 @@ static RoomType_e GetHumanRoomType(const cs::CMJoin& msg) if (tmp_strings.size() < 3) { return RT_NewBrid; } - //游戏次数,吃鸡数,击杀数 + //游戏次数,吃鸡数,击杀数,段位 int game_times = a8::XValue(tmp_strings[0]); + int rank = tmp_strings.size() > 3 ? a8::XValue(tmp_strings[3]).GetInt() : 0; #if 1 #else if (!f8::IsOnlineEnv() || RoomMgr::Instance()->IsGM(msg)) { @@ -76,7 +77,16 @@ static RoomType_e GetHumanRoomType(const cs::CMJoin& msg) return RT_MidBrid; } } - return RT_OldBrid; + + if (rank >= 5 && rank <= 10) { + return RT_OldBrid1; + } else if (rank >= 11 && rank <= 17) { + return RT_OldBrid2; + } else if (rank >= 18) { + return RT_OldBrid3; + } else { + return RT_OldBrid1; + } } void RoomMgr::Init()