cgmodifyguildmemberhandler.cpp

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 129 行

CPP
129
字号
//////////////////////////////////////////////////////////////////////////////// Filename    : CGModifyGuildMemberHandler.cpp// Written By  :// Description ://////////////////////////////////////////////////////////////////////////////#include "CGModifyGuildMember.h"#ifdef __GAME_SERVER__	#include "SystemAvailabilitiesManager.h"	#include "Gpackets/GSModifyGuildMember.h"	#include "Gpackets/GSExpelGuildMember.h"	#include "Guild.h"	#include "GuildManager.h"	#include "GamePlayer.h"	#include "PlayerCreature.h"	#include "StringPool.h"	#include "SharedServerManager.h"	#include "Gpackets/GCSystemMessage.h"#endif	// __GAME_SERVER__////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGModifyGuildMemberHandler::execute (CGModifyGuildMember* pPacket , Player* pPlayer)	 throw (Error){	__BEGIN_TRY __BEGIN_DEBUG_EX		#ifdef __GAME_SERVER__	//cout << "CGModifyGuildMember received." << endl;	Assert(pPacket != NULL);	Assert(pPlayer != NULL);	SYSTEM_ASSERT(SYSTEM_GUILD);	GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer);	Assert( pGamePlayer != NULL );	Creature* pCreature = pGamePlayer->getCreature();	Assert( pCreature != NULL );	PlayerCreature* pPlayerCreature = dynamic_cast<PlayerCreature*>(pCreature);	Assert( pPlayerCreature != NULL );	// 辨靛甫 啊廉柯促.	Guild* pGuild = g_pGuildManager->getGuild( pPlayerCreature->getGuildID() );	//try { Assert( pGuild != NULL ); } catch ( Throwable& t ) { return; }	if (pGuild==NULL) return;	// 辨靛 糕滚 沥焊甫 啊廉柯促.	GuildMember* pGuildMember  = pGuild->getMember( pPlayerCreature->getName() );	//try { Assert( pGuild != NULL ); } catch ( Throwable& t ) { return; }	if (pGuildMember==NULL) return;	//cout << "get guild" << endl;	if ( pPacket->getGuildMemberRank() == GuildMember::GUILDMEMBER_RANK_DENY )	{		////////////////////////////////////////////////////////		// 辨靛 糕滚甫 眠规茄促.		////////////////////////////////////////////////////////		// 付胶磐啊 酒聪搁 眠规且 荐 绝促.		if ( pGuildMember->getRank() != GuildMember::GUILDMEMBER_RANK_MASTER )			return;		if ( g_pGuildManager->hasActiveWar( pGuild->getID() ) )		{			GCSystemMessage msg;			msg.setMessage( g_pStringPool->getString( STRID_CANNOT_KICK_DURING_WAR ) );			pPlayer->sendPacket( &msg );			return;		}		GSExpelGuildMember gsExpelGuildMember;		gsExpelGuildMember.setGuildID( pGuild->getID() );		gsExpelGuildMember.setName( pPacket->getName() );		gsExpelGuildMember.setSender( pPlayerCreature->getName() );		//cout << "send GSExpelGuildMember" << endl;		g_pSharedServerManager->sendPacket( &gsExpelGuildMember );	}	else	{		if (pGuild->getActiveMemberCount() >= MAX_GUILDMEMBER_ACTIVE_COUNT )		{			GCSystemMessage msg;			msg.setMessage( g_pStringPool->getString( STRID_CANNOT_ACCEPT_MORE_JOIN ) );			pPlayer->sendPacket( &msg );			return;		}		///////////////////////////////////////////////////////		// 辨靛 啊涝阑 铰牢茄促.		///////////////////////////////////////////////////////		// 付胶磐唱 辑宏付胶磐 捞绢具 茄促.		if ( pGuildMember->getRank() != GuildMember::GUILDMEMBER_RANK_MASTER		  && pGuildMember->getRank() != GuildMember::GUILDMEMBER_RANK_SUBMASTER )			return;		if ( g_pGuildManager->hasActiveWar( pGuild->getID() ) )		{			GCSystemMessage msg;			msg.setMessage( g_pStringPool->getString( STRID_CANNOT_ACCEPT_DURING_WAR ) );			pPlayer->sendPacket( &msg );			return;		}		GSModifyGuildMember gsModifyGuildMember;		gsModifyGuildMember.setGuildID( pGuild->getID() );		gsModifyGuildMember.setName( pPacket->getName() );		gsModifyGuildMember.setGuildMemberRank( pPacket->getGuildMemberRank() );		gsModifyGuildMember.setSender( pPlayerCreature->getName() );		//cout << "send GSModifyGuildMember" << endl;		g_pSharedServerManager->sendPacket( &gsModifyGuildMember );	}#endif	// __GAME_SERVER__			__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?