diff --git a/server/imserver/player.cc b/server/imserver/player.cc index a6f5d33..5f8f0ed 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -672,9 +672,15 @@ void Player::_CMGuildCreate(f8::MsgHdr& hdr, const cs::CMGuildCreate& msg) Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); if (hum && hum->AccountId() == msg_context->account_id) { - hum->UpdateGuildData(msg_context->guild_id, kGuildOwner); - hum->SaveToDB(a8::XParams(), nullptr, nullptr); cs::SMGuildCreate respmsg; + respmsg.set_errcode(data.At("errcode")->AsXValue()); + respmsg.set_errmsg(data.At("errmsg")->AsXValue()); + if (data.At("errcode") == 0) { + hum->UpdateGuildData(msg_context->guild_id, kGuildOwner); + hum->SaveToDB(a8::XParams(), nullptr, nullptr); + } else { + hum->ShowErrorMsg(data.At("errmsg")->AsXValue().GetString()); + } hum->SendMsg(respmsg); } @@ -686,8 +692,7 @@ void Player::_CMGuildCreate(f8::MsgHdr& hdr, const cs::CMGuildCreate& msg) Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); if (hum && hum->AccountId() == msg_context->account_id) { - cs::SMGuildCreate respmsg; - hum->SendMsg(respmsg); + hum->ShowErrorMsg("服务器内部错误"); } A8_SAFE_DELETE(msg_context); @@ -823,10 +828,7 @@ void Player::_CMGuildSearch(f8::MsgHdr& hdr, const cs::CMGuildSearch& msg) Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); if (hum && hum->AccountId() == msg_context->account_id) { - cs::SMGuildSearch respmsg; - respmsg.set_errcode(1); - respmsg.set_errmsg(""); - hum->SendMsg(respmsg); + hum->ShowErrorMsg("服务器内部错误"); } A8_SAFE_DELETE(msg_context); @@ -888,11 +890,8 @@ void Player::_CMGuildRank(f8::MsgHdr& hdr, const cs::CMGuildRank& msg) MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); - if (hum) { - cs::SMGuildRank respmsg; - respmsg.set_errcode(1); - respmsg.set_errmsg(""); - hum->SendMsg(respmsg); + if (hum && hum->AccountId() == msg_context->account_id) { + hum->ShowErrorMsg("服务器内部错误"); } A8_SAFE_DELETE(msg_context);