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); }
bool CheckTimePoint(const int milliSecond = 1) { checkTime = NFGetTimeMS(); if (checkTime > milliSecond + time) { return true; } return false; }
void NFGamePVPModule::RecordPVPData(const NFGUID & self, const int nStar, const int nGold, const int nDiamond) { //how to record this war for these two people NFGUID xWarID = m_pKernelModule->GetPropertyObject(self, NFrame::Player::WarID()); NF_SHARE_PTR<NFIRecord> xAttackWarRecord = m_pKernelModule->FindRecord(self, NFrame::Player::WarList::ThisName()); NF_SHARE_PTR<NFDataList> xDataList = xAttackWarRecord->GetInitData(); xDataList->SetObject(NFrame::Player::WarList::WarID, xWarID); //record the war information /* //the fields below need to be setted run-time static const std::string& BuildingCount() { static std::string x = "BuildingCOunt"; return x; };// int static const std::string& DestroiedBuilding() { static std::string x = "DestroiedBuilding"; return x; };// int static const std::string& DeadHero1() { static std::string x = "DeadHero1"; return x; };// int static const std::string& DeadHero2() { static std::string x = "DeadHero2"; return x; };// int static const std::string& DeadHero3() { static std::string x = "DeadHero3"; return x; };// int static const std::string& KilledHero1() { static std::string x = "KilledHero1"; return x; };// int static const std::string& KilledHero2() { static std::string x = "KilledHero2"; return x; };// int static const std::string& KilledHero3() { static std::string x = "KilledHero3"; return x; };// int static const std::string& KilledMasterCount() { static std::string x = "KilledMasterCount"; return x; };// int static const std::string& MasterCount() { static std::string x = "MasterCount"; return x; };// int */ xDataList->SetString(NFrame::Player::WarList::AttackerName, m_pKernelModule->GetPropertyString(self, NFrame::Player::Name())); xDataList->SetInt(NFrame::Player::WarList::AttackerCup, m_pKernelModule->GetPropertyInt(self, NFrame::Player::Cup())); //xDataList->SetString(NFrame::Player::WarList::AttackerHero1, m_pKernelModule->GetPropertyString(self, NFrame::Player::HeroPos1CnfID())); //xDataList->SetInt(NFrame::Player::WarList::AttackerHero1Star, m_pKernelModule->GetPropertyInt(self, NFrame::Player::HeroPos1Star())); //xDataList->SetString(NFrame::Player::WarList::AttackerHero2, m_pKernelModule->GetPropertyString(self, NFrame::Player::HeroPos2CnfID())); //xDataList->SetInt(NFrame::Player::WarList::AttackerHero2Star, m_pKernelModule->GetPropertyInt(self, NFrame::Player::HeroPos2Star())); //xDataList->SetString(NFrame::Player::WarList::AttackerHero3, m_pKernelModule->GetPropertyString(self, NFrame::Player::HeroPos3CnfID())); //xDataList->SetInt(NFrame::Player::WarList::AttackerHero3Star, m_pKernelModule->GetPropertyInt(self, NFrame::Player::HeroPos3Star())); xDataList->SetObject(NFrame::Player::WarList::AttackerID, self); xDataList->SetInt(NFrame::Player::WarList::AttackerLevel, m_pKernelModule->GetPropertyInt(self, NFrame::Player::Level())); xDataList->SetString(NFrame::Player::WarList::BeAttackerName, m_pKernelModule->GetPropertyString(self, NFrame::Player::OpponentName())); xDataList->SetInt(NFrame::Player::WarList::BeAttackerCup, m_pKernelModule->GetPropertyInt(self, NFrame::Player::OpponentCup())); //xDataList->SetString(NFrame::Player::WarList::BeAttackerHero1, m_pKernelModule->GetPropertyString(self, NFrame::Player::OpponentHero1())); //xDataList->SetInt(NFrame::Player::WarList::BeAttackerHero1Star, m_pKernelModule->GetPropertyInt(self, NFrame::Player::OpponentHero1Star())); //xDataList->SetString(NFrame::Player::WarList::BeAttackerHero2, m_pKernelModule->GetPropertyString(self, NFrame::Player::OpponentHero2())); //xDataList->SetInt(NFrame::Player::WarList::BeAttackerHero2Star, m_pKernelModule->GetPropertyInt(self, NFrame::Player::OpponentHero2Star())); //xDataList->SetString(NFrame::Player::WarList::BeAttackerHero3, m_pKernelModule->GetPropertyString(self, NFrame::Player::OpponentHero3())); //xDataList->SetInt(NFrame::Player::WarList::BeAttackerHero3Star, m_pKernelModule->GetPropertyInt(self, NFrame::Player::OpponentHero3Star())); xDataList->SetObject(NFrame::Player::WarList::BeAttackerID, m_pKernelModule->GetPropertyObject(self, NFrame::Player::OpponentFighting())); xDataList->SetInt(NFrame::Player::WarList::BeAttackerLevel, m_pKernelModule->GetPropertyInt(self, NFrame::Player::Level())); //xDataList->SetString(NFrame::Player::WarList::Item1, m_pKernelModule->GetPropertyString(self, NFrame::Player::Item1())); //xDataList->SetInt(NFrame::Player::WarList::Item1Count, m_pKernelModule->GetPropertyInt(self, NFrame::Player::Item1UsedCount())); //xDataList->SetString(NFrame::Player::WarList::Item2, m_pKernelModule->GetPropertyString(self, NFrame::Player::Item2())); //xDataList->SetInt(NFrame::Player::WarList::Item2Count, m_pKernelModule->GetPropertyInt(self, NFrame::Player::Item2UsedCount())); //xDataList->SetString(NFrame::Player::WarList::Item3, m_pKernelModule->GetPropertyString(self, NFrame::Player::Item3())); //xDataList->SetInt(NFrame::Player::WarList::Item3Count, m_pKernelModule->GetPropertyInt(self, NFrame::Player::Item3UsedCount())); int64_t nEventTime = m_pKernelModule->GetPropertyInt(self, NFrame::Player::WarEventTime()); int64_t nCostTime = NFGetTimeMS() - nEventTime; xDataList->SetInt(NFrame::Player::WarList::EventTime, nEventTime); xDataList->SetInt(NFrame::Player::WarList::WarStar, nStar); xDataList->SetInt(NFrame::Player::WarList::CostTime, nCostTime); xDataList->SetInt(NFrame::Player::WarList::Gold, nGold); xDataList->SetInt(NFrame::Player::WarList::Diamond, nDiamond); if (nStar >= 2) { xDataList->SetObject(NFrame::Player::WarList::Winner, self); } else { xDataList->SetObject(NFrame::Player::WarList::Winner, m_pKernelModule->GetPropertyObject(self, NFrame::Player::OpponentFighting())); } xAttackWarRecord->AddRow(-1, *xDataList); ////////for beattacker//////////////////////////////////// }
NFPerformance() { time = NFGetTimeMS(); }