void NFDBNet_ServerModule::OnCreateRoleGameProcess(const NFSOCK nSockIndex, const int nMsgID, const char * msg, const uint32_t nLen) { NFGUID nClientID; NFMsg::ReqCreateRole xMsg; if (!m_pNetModule->ReceivePB(nMsgID, msg, nLen, xMsg, nClientID)) { return; } const std::string& strAccount = xMsg.account(); const std::string& strName = xMsg.noob_name(); const int nHomeSceneID = RandomHomeScene(); NFGUID xID = m_pKernelModule->CreateGUID(); if (m_pPlayerRedisModule->CreateRole(strAccount, strName, xID, nHomeSceneID)) { m_pPlayerRedisModule->SavePlayerTile(nHomeSceneID, xID, ""); NFMsg::AckRoleLiteInfoList xAckRoleLiteInfoList; xAckRoleLiteInfoList.set_account(strAccount); NFMsg::RoleLiteInfo* pData = xAckRoleLiteInfoList.add_char_data(); pData->mutable_id()->CopyFrom(NFINetModule::NFToPB(xID)); pData->set_career(xMsg.career()); pData->set_game_id(pPluginManager->GetAppID()); pData->set_sex(xMsg.sex()); pData->set_race(xMsg.race()); pData->set_noob_name(xMsg.noob_name()); pData->set_role_level(1); pData->set_delete_time(0); pData->set_reg_time(0); pData->set_last_offline_time(0); pData->set_last_offline_ip(0); pData->set_view_record(""); m_pNetModule->SendMsgPB(NFMsg::EGMI_ACK_ROLE_LIST, xAckRoleLiteInfoList, nSockIndex, nClientID); } }
void NFDBNet_ServerModule::OnRequireRoleListProcess(const NFSOCK nSockIndex, const int nMsgID, const char * msg, const uint32_t nLen) { NFGUID nClientID; NFMsg::ReqRoleList xMsg; if (!m_pNetModule->ReceivePB(nMsgID, msg, nLen, xMsg, nClientID)) { return; } NFGUID xPlayerID; std::string strRoleName; if (!m_pPlayerRedisModule->GetRoleInfo(xMsg.account(), strRoleName, xPlayerID)) { NFMsg::AckRoleLiteInfoList xAckRoleLiteInfoList; xAckRoleLiteInfoList.set_account(xMsg.account()); m_pNetModule->SendMsgPB(NFMsg::EGMI_ACK_ROLE_LIST, xAckRoleLiteInfoList, nSockIndex, nClientID); return; } NFMsg::AckRoleLiteInfoList xAckRoleLiteInfoList; xAckRoleLiteInfoList.set_account(xMsg.account()); NFMsg::RoleLiteInfo* pData = xAckRoleLiteInfoList.add_char_data(); pData->mutable_id()->CopyFrom(NFINetModule::NFToPB(xPlayerID)); pData->set_game_id(pPluginManager->GetAppID()); pData->set_career(0); pData->set_sex(0); pData->set_race(0); pData->set_noob_name(strRoleName); pData->set_role_level(0); pData->set_delete_time(0); pData->set_reg_time(0); pData->set_last_offline_time(0); pData->set_last_offline_ip(0); pData->set_view_record(""); m_pNetModule->SendMsgPB(NFMsg::EGMI_ACK_ROLE_LIST, xAckRoleLiteInfoList, nSockIndex, nClientID); }