cgselectguildhandler.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 97 行
CPP
97 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGSelectGuildHandler.cpp// Written By :// Description ://////////////////////////////////////////////////////////////////////////////#include "CGSelectGuild.h"#ifdef __GAME_SERVER__ #include "SystemAvailabilitiesManager.h" #include "Creature.h" #include "GamePlayer.h" #include "Gpackets/GCShowGuildInfo.h" #include "Gpackets/GCShowWaitGuildInfo.h" #include "GuildManager.h" #include "Player.h" #include "Guild.h"#endif // __GAME_SERVER__////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGSelectGuildHandler::execute (CGSelectGuild* pPacket , Player* pPlayer) throw (Error){ __BEGIN_TRY __BEGIN_DEBUG_EX #ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); SYSTEM_ASSERT(SYSTEM_GUILD); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); Creature* pCreature = dynamic_cast<Creature*>(pGamePlayer->getCreature()); // 急琶茄 辨靛甫 啊廉柯促. Guild* pGuild = g_pGuildManager->getGuild( pPacket->getGuildID() ); //try { Assert( pGuild != NULL ); } catch ( Throwable& t ) { //cout << "GuildID:" << (int)(pPacket->getGuildID()) << endl; //} //cout << "GuildCount:" << (int)(g_pGuildManager->getGuilds().size()) << endl; if (pGuild==NULL) { return; } if ( pGuild->getState() == Guild::GUILD_STATE_ACTIVE ) { GCShowGuildInfo gcShowGuildInfo; gcShowGuildInfo.setGuildID( pGuild->getID() ); gcShowGuildInfo.setGuildName( pGuild->getName() ); gcShowGuildInfo.setGuildState( pGuild->getState() ); gcShowGuildInfo.setGuildMaster( pGuild->getMaster() ); gcShowGuildInfo.setGuildMemberCount( pGuild->getActiveMemberCount() ); gcShowGuildInfo.setGuildIntro( pGuild->getIntro() ); gcShowGuildInfo.setJoinFee( 0 ); pPlayer->sendPacket( &gcShowGuildInfo ); //cout << gcShowGuildInfo.toString() << endl; } else if ( pGuild->getState() == Guild::GUILD_STATE_WAIT ) { GCShowWaitGuildInfo gcShowWaitGuildInfo; gcShowWaitGuildInfo.setGuildID( pGuild->getID() ); gcShowWaitGuildInfo.setGuildName( pGuild->getName() ); gcShowWaitGuildInfo.setGuildState( pGuild->getState() ); gcShowWaitGuildInfo.setGuildMaster( pGuild->getMaster() ); gcShowWaitGuildInfo.setGuildMemberCount( pGuild->getActiveMemberCount() ); gcShowWaitGuildInfo.setGuildIntro( pGuild->getIntro() ); if (pCreature->isSlayer()) gcShowWaitGuildInfo.setJoinFee( REQUIRE_SLAYER_SUBMASTER_GOLD ); else if (pCreature->isVampire()) gcShowWaitGuildInfo.setJoinFee( REQUIRE_VAMPIRE_SUBMASTER_GOLD ); else if (pCreature->isOusters()) gcShowWaitGuildInfo.setJoinFee( REQUIRE_OUSTERS_SUBMASTER_GOLD ); HashMapGuildMember& Members = pGuild->getMembers(); HashMapGuildMemberConstItor itr = Members.begin(); for ( ; itr != Members.end(); itr++ ) gcShowWaitGuildInfo.addMember( itr->first ); pPlayer->sendPacket( &gcShowWaitGuildInfo ); //cout << gcShowWaitGuildInfo.toString() << endl; }#endif // __GAME_SERVER__ __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?