diff --git a/server/imserver/guildmgr.cc b/server/imserver/guildmgr.cc index ef570ef..be9e767 100644 --- a/server/imserver/guildmgr.cc +++ b/server/imserver/guildmgr.cc @@ -306,15 +306,25 @@ void GuildMgr::_CMGuildCreate(int socket_handle, const ss::MFIMMsgConext& contex [] (a8::XParams& param, a8::XObject& data) { MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); + + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); + if (hum) { + cs::SMGuildCreate respmsg; + hum->SendMsg(respmsg); + } + A8_SAFE_DELETE(msg_context); }, [] (a8::XParams& param, const std::string& response) { MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); - cs::SMGuildCreate respmsg; - GuildMgr::Instance()->ForwardGuildSMMsg(msg_context->socket_handle, - msg_context->context, - respmsg); + + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); + if (hum) { + cs::SMGuildCreate respmsg; + hum->SendMsg(respmsg); + } + A8_SAFE_DELETE(msg_context); }, a8::Format("http://%s:%d/webapp/index.php?c=Guild&a=create", {ip, port}).c_str(), @@ -357,11 +367,25 @@ void GuildMgr::_CMGuildSearch(int socket_handle, const ss::MFIMMsgConext& contex [] (a8::XParams& param, a8::XObject& data) { MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); + + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); + if (hum) { + cs::SMGuildSearch respmsg; + hum->SendMsg(respmsg); + } + A8_SAFE_DELETE(msg_context); }, [] (a8::XParams& param, const std::string& response) { MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); + + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); + if (hum) { + cs::SMGuildSearch respmsg; + hum->SendMsg(respmsg); + } + A8_SAFE_DELETE(msg_context); }, a8::Format("http://%s:%d/webapp/index.php?c=Guild&a=search", {ip, port}).c_str(), @@ -401,11 +425,25 @@ void GuildMgr::_CMGuildRank(int socket_handle, const ss::MFIMMsgConext& context, [] (a8::XParams& param, a8::XObject& data) { MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); + + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); + if (hum) { + cs::SMGuildRank respmsg; + hum->SendMsg(respmsg); + } + A8_SAFE_DELETE(msg_context); }, [] (a8::XParams& param, const std::string& response) { MsgContext* msg_context = (MsgContext*)param.sender.GetUserData(); + + Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(msg_context->socket_handle); + if (hum) { + cs::SMGuildRank respmsg; + hum->SendMsg(respmsg); + } + A8_SAFE_DELETE(msg_context); }, a8::Format("http://%s:%d/webapp/index.php?c=Guild&a=rank", {ip, port}).c_str(),