From 2f53ba2619571f3e7cb64b96c6995f8c06b04d6c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 8 Apr 2023 13:24:40 +0800 Subject: [PATCH] 1 --- server/gameserver/netdata.cc | 1 + server/gameserver/netdata.h | 1 + server/gameserver/roommgr.cc | 3 +++ 3 files changed, 5 insertions(+) diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index 7cfea4c6..a4013825 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -470,6 +470,7 @@ void BattleDataContext::ParseResult(a8::XObject& obj) } } } + parse_ok = hero_ability_->hero_meta != nullptr; } void BattleDataContext::GetHeroLvQuality(long long& hero_uniid, int& hero_lv, int& quality) diff --git a/server/gameserver/netdata.h b/server/gameserver/netdata.h index 9b1231e1..70ba0e68 100644 --- a/server/gameserver/netdata.h +++ b/server/gameserver/netdata.h @@ -22,6 +22,7 @@ struct BattleDataContext std::string payload; int errcode = 0; std::string errmsg; + bool parse_ok = false; std::shared_ptr hero_dto; std::shared_ptr weapon_dto1; diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 99695fef..1db31b80 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -176,6 +176,9 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) RoomMgr::Instance()->JoinErrorHandle(msg, 2, socket_handle); return; } + if (!results.at(0)->parse_ok) { + return; + } int game_times = 0; RoomType_e self_room_type = GetHumanRoomType(msg, game_times); if (self_room_type < RT_OldBrid1) {