cgpartyleavehandler.cpp
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 126 行
CPP
126 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGPartyLeaveHandler.cpp// Written By : excel96// Description : //////////////////////////////////////////////////////////////////////////////#include "CGPartyLeave.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "Creature.h" #include "Zone.h" #include "Party.h" #include "PCFinder.h" #include "Gpackets/GCPartyLeave.h" #include "Gpackets/GCPartyError.h" #include "SystemAvailabilitiesManager.h"#endif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGPartyLeaveHandler::execute (CGPartyLeave* pPacket , Player* pPlayer) throw (ProtocolException , Error){ __BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); SYSTEM_ASSERT( SYSTEM_PARTY ); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); string TargetName = pPacket->getTargetName(); Creature* pCreature = pGamePlayer->getCreature(); Assert(pCreature != NULL); Zone* pZone = pCreature->getZone(); Assert(pZone != NULL); int PartyID = pCreature->getPartyID(); if (PartyID == 0) { //filelog("PARTY_EXCEPTION.log", "CGPartyLeaveHandler::execute() : 颇萍ID啊 0涝聪促. [%s]", pCreature->toString().c_str()); throw ProtocolException(); } GCPartyError gcPartyError; // 鸥百 捞抚捞 NULL捞扼搁 胶胶肺 颇萍甫 栋唱绊磊 窍绰 巴捞促. if (TargetName == "") { // 臂肺国 颇萍俊辑 昏力秦 霖促. // 2疙牢 惑怕俊辑 促弗 窍唱甫 眠规沁促搁, // 捞 郴何俊辑 臂肺国 颇萍绰 昏力等促. // 巢篮 颇萍盔甸狼 ID绰 0栏肺 官诧促. //cout << "===== 颇萍甫 栋唱扁 傈狼 臂肺国 颇萍 概聪历 惑怕" << endl; //cout << g_pGlobalPartyManager->toString() << endl; //cout << "================================================" << endl; g_pGlobalPartyManager->deletePartyMember(PartyID, pCreature); //cout << "===== 颇萍甫 栋抄 饶狼 臂肺国 颇萍 概聪历 惑怕" << endl; //cout << g_pGlobalPartyManager->toString() << endl; //cout << "================================================" << endl; // 肺拿 颇萍俊辑 昏力秦霖促. LocalPartyManager* pLocalPartyManager = pZone->getLocalPartyManager(); Assert(pLocalPartyManager != NULL); pLocalPartyManager->deletePartyMember(PartyID, pCreature); } // 捞抚捞 促福促搁 颇萍 郴俊 粮犁窍绰 促弗 颇萍盔阑 眠规窍绊磊 窍绰 巴捞促. else { //cout << "===== 眠规傈狼 臂肺国 颇萍 概聪历 惑怕" << endl; //cout << g_pGlobalPartyManager->toString() << endl; //cout << "=======================================" << endl; // 臂肺国 颇萍俊辑 昏力秦霖促. // 2疙牢 惑怕俊辑 促弗 窍唱甫 眠规沁促搁, // 捞 郴何俊辑 臂肺国 颇萍绰 昏力等促. // 巢篮 颇萍盔甸狼 ID绰 0栏肺 官诧促. g_pGlobalPartyManager->expelPartyMember(PartyID, pCreature, TargetName); //cout << "===== 眠规饶狼 臂肺国 颇萍 概聪历 惑怕" << endl; //cout << g_pGlobalPartyManager->toString() << endl; //cout << "=======================================" << endl; // 瞒牢 仇阑 肺拿 颇萍俊辑 昏力秦霖促. __ENTER_CRITICAL_SECTION((*g_pPCFinder)) Creature* pTargetCreature = g_pPCFinder->getCreature_LOCKED(TargetName); //Assert(pTargetCreature != NULL); // NoSuch力芭. by sigi. 2002.5.2 if (pTargetCreature==NULL) { g_pPCFinder->unlock(); return; } Zone* pTargetZone = pTargetCreature->getZone(); Assert(pTargetZone != NULL); LocalPartyManager* pLocalPartyManager = pTargetZone->getLocalPartyManager(); Assert(pLocalPartyManager != NULL); //cout << "===== 眠规 傈狼 肺拿 颇萍 概聪历 惑怕" << endl; //cout << pLocalPartyManager->toString() << endl; //cout << "=======================================" << endl; pLocalPartyManager->deletePartyMember(PartyID, pTargetCreature); //cout << "肺拿 颇萍俊辑 眠规寸茄 敲饭捞绢甫 昏力沁嚼聪促." << endl; __LEAVE_CRITICAL_SECTION((*g_pPCFinder)) }#endif __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?