diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 8ed4f2b3..633c50e5 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -101,11 +101,14 @@ void BattleDataContext::ParseResult(a8::XObject& obj) payload = obj.Get("payload").GetString(); errcode = obj.Get("errcode"); errmsg = obj.Get("errmsg").GetString(); - if (obj.HasKey("hero_dto") && obj.At("hero_dto")->GetType() == a8::XOT_OBJECT) { + if (obj.HasKey("hero_dto") && obj.At("hero_dto")->IsObject()) { hero_dto = obj.At("hero_dto"); } - if (obj.Haskey("weapon_dto1")) { - + if (obj.HasKey("weapon_dto1") && obj.At("weapon_dto1")->IsObject()) { + weapon_dto1 = obj.At("weapon_dto1"); + } + if (obj.HasKey("weapon_dto2") && obj.At("weapon_dto2")->IsObject()) { + weapon_dto2 = obj.At("weapon_dto2"); } }