void NFGamePVPModule::OnReqStartPVPOpponentProcess(const NFSOCK nSockIndex, const int nMsgID, const char *msg, const uint32_t nLen) { CLIENT_MSG_PROCESS( nMsgID, msg, nLen, NFMsg::ReqAckStartBattle); const int nSceneID = m_pKernelModule->GetPropertyInt(nPlayerID, NFrame::Player::SceneID()); E_SCENE_TYPE sceneType = (E_SCENE_TYPE)m_pElementModule->GetPropertyInt(std::to_string(nSceneID), NFrame::Scene::Type()); if (sceneType != E_SCENE_TYPE::SCENE_TYPE_NORMAL) { return; } NFGUID xWarGUID = m_pKernelModule->CreateGUID(); NFGUID xViewOpponent = m_pKernelModule->GetPropertyObject(nPlayerID, NFrame::Player::OpponentID()); m_pKernelModule->SetPropertyObject(nPlayerID, NFrame::Player::OpponentFighting(), xViewOpponent); m_pKernelModule->SetPropertyObject(nPlayerID, NFrame::Player::WarID(), xWarGUID); m_pKernelModule->SetPropertyInt(nPlayerID, NFrame::Player::WarEventTime(), NFGetTimeMS()); int nGambleGold = xMsg.gold(); int nGambleDiamond = xMsg.diamond(); if (nGambleGold > 0) { m_pKernelModule->SetPropertyInt(nPlayerID, NFrame::Player::GambleGold(), nGambleGold); } if (nGambleDiamond > 0) { m_pKernelModule->SetPropertyInt(nPlayerID, NFrame::Player::GambleDiamond(), nGambleDiamond); } NFMsg::ReqAckStartBattle xReqAckStartBattle; xReqAckStartBattle.set_gold(nGambleGold); xReqAckStartBattle.set_diamond(nGambleDiamond); m_pGameServerNet_ServerModule->SendMsgPBToGate(NFMsg::EGMI_ACK_START_OPPNENT, xReqAckStartBattle, nPlayerID); }
void NFCGamePVPModule::OnReqStartPVPOpponentProcess(const NFSOCK nSockIndex, const int nMsgID, const char *msg, const uint32_t nLen) { CLIENT_MSG_PROCESS( nMsgID, msg, nLen, NFMsg::ReqAckStartBattle); int pvpType = m_pKernelModule->GetPropertyInt(nPlayerID, NFrame::Player::PVPType()); if (pvpType == NFMsg::EPVPType::PVP_HOME) { return; } NFGUID xWarGUID = m_pKernelModule->CreateGUID(); NFGUID xViewOpponent = m_pKernelModule->GetPropertyObject(nPlayerID, NFrame::Player::OpponentID()); m_pKernelModule->SetPropertyObject(nPlayerID, NFrame::Player::OpponentFighting(), xViewOpponent); m_pKernelModule->SetPropertyObject(nPlayerID, NFrame::Player::WarID(), xWarGUID); m_pKernelModule->SetPropertyInt(nPlayerID, NFrame::Player::WarEventTime(), NFGetTimeMS()); int nGambleGold = xMsg.gold(); int nGambleDiamond = xMsg.diamond(); if (nGambleGold > 0) { m_pKernelModule->SetPropertyInt(nPlayerID, NFrame::Player::GambleGold(), nGambleGold); } if (nGambleDiamond > 0) { m_pKernelModule->SetPropertyInt(nPlayerID, NFrame::Player::GambleDiamond(), nGambleDiamond); } NFMsg::ReqAckStartBattle xReqAckStartBattle; xReqAckStartBattle.set_gold(nGambleGold); xReqAckStartBattle.set_diamond(nGambleDiamond); m_pGameServerNet_ServerModule->SendMsgPBToGate(NFMsg::EGMI_ACK_START_OPPNENT, xReqAckStartBattle, nPlayerID); }