sgexpelguildmemberokhandler.cpp

来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 225 行

CPP
225
字号
//----------------------------------------------------------------------//// Filename    : SGExpelGuildMemberOKHandler.cpp// Written By  : Reiot// Description :////----------------------------------------------------------------------// include files#include "SGExpelGuildMemberOK.h"#include "Properties.h"#ifdef __GAME_SERVER__	#include "Guild.h"	#include "GuildManager.h"	#include "PCFinder.h"	#include "Player.h"	#include "PlayerCreature.h"	#include "Zone.h"	#include "StringPool.h"	#include "Gpackets/GCSystemMessage.h"	#include "Gpackets/GCModifyGuildMemberInfo.h"	#include "Gpackets/GCOtherModifyInfo.h"	#include <stdio.h>#endif//----------------------------------------------------------------------// // SGExpelGuildMemberOKHandler::execute()// //----------------------------------------------------------------------void SGExpelGuildMemberOKHandler::execute ( SGExpelGuildMemberOK* pPacket)	 throw ( ProtocolException , Error ){	__BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__	//cout << "SGExpelGuildMember received" << endl;	Assert( pPacket != NULL );	// 辨靛甫 啊廉柯促.	Guild* pGuild = g_pGuildManager->getGuild( pPacket->getGuildID() );	try { Assert( pGuild != NULL ); } catch ( Throwable& ) { return; }	// 辨靛 糕滚牢瘤 犬牢茄促.	GuildMember* pGuildMember = pGuild->getMember( pPacket->getName() );	try { Assert( pGuildMember != NULL ); } catch ( Throwable& ) { return; }	if ( pGuildMember->getRank() == GuildMember::GUILDMEMBER_RANK_WAIT )	{		//////////////////////////////////////////////////////////		// 啊涝 秒家		//////////////////////////////////////////////////////////				// 辨靛俊辑 昏力茄促.		pGuild->deleteMember( pGuildMember->getName() );		// 立加秦 乐促搁 皋矫瘤甫 焊辰促.		__ENTER_CRITICAL_SECTION((*g_pPCFinder))		Creature* pCreature = g_pPCFinder->getCreature_LOCKED( pPacket->getName() );		if ( pCreature != NULL && pCreature->isPC() )		{			Player* pPlayer = pCreature->getPlayer();			Assert( pPlayer != NULL );//			StringStream msg;//			msg << pGuild->getName() << " 辨靛 啊涝脚没捞 秒家登菌嚼聪促.";            char msg[100];            if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER )                sprintf( msg, g_pStringPool->c_str( STRID_TEAM_JOIN_DENY ), pGuild->getName().c_str() );            else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE )                sprintf( msg, g_pStringPool->c_str( STRID_CLAN_JOIN_DENY ), pGuild->getName().c_str() );            else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS )                sprintf( msg, g_pStringPool->c_str( STRID_CLAN_JOIN_DENY ), pGuild->getName().c_str() );			// 辨靛 啊涝脚没秒家 皋矫瘤甫 焊辰促.			GCSystemMessage gcSystemMessage;			gcSystemMessage.setMessage( msg );			pPlayer->sendPacket( &gcSystemMessage );		}		// 秒家矫挪 荤恩俊霸 皋矫瘤甫 焊辰促.		pCreature = g_pPCFinder->getCreature_LOCKED( pPacket->getSender() );		if ( pCreature != NULL && pCreature->isPC() )		{			Player* pPlayer = pCreature->getPlayer();			Assert( pPlayer != NULL );//			StringStream msg;//			msg << pPacket->getName() << "丛狼 辨靛啊涝阑 秒家窍看嚼聪促.";            char msg[100];            if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER )                sprintf( msg, g_pStringPool->c_str( STRID_TEAM_JOIN_DENY_2 ), pPacket->getName().c_str() );            else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE )                sprintf( msg, g_pStringPool->c_str( STRID_CLAN_JOIN_DENY_2 ), pPacket->getName().c_str() );            else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS )                sprintf( msg, g_pStringPool->c_str( STRID_CLAN_JOIN_DENY_2 ), pPacket->getName().c_str() );			GCSystemMessage gcSystemMessage;			gcSystemMessage.setMessage( msg );			pPlayer->sendPacket( &gcSystemMessage );		}		__LEAVE_CRITICAL_SECTION((*g_pPCFinder))	}	else	{		///////////////////////////////////////////////////////////		// 辨靛俊辑 眠规茄促.		///////////////////////////////////////////////////////////		// 辨靛俊辑 昏力茄促.		pGuild->deleteMember( pGuildMember->getName() );		// 立加秦 乐促搁 皋矫瘤甫 焊辰促.		__ENTER_CRITICAL_SECTION((*g_pPCFinder))		Creature* pCreature = g_pPCFinder->getCreature_LOCKED( pPacket->getName() );		if ( pCreature != NULL && pCreature->isPC() )		{			Player* pPlayer = pCreature->getPlayer();			Assert( pPlayer != NULL );			PlayerCreature* pPlayerCreature = dynamic_cast<PlayerCreature*>(pCreature);			Assert( pPlayerCreature != NULL );			if ( pPlayerCreature->isSlayer() )			{				pPlayerCreature->setGuildID( 99 );		// 浇饭捞绢狼 啊涝救茄 惑怕狼 辨靛 ID				// 努扼捞攫飘俊 辨靛 眠规阑 舅赴促.				GCModifyGuildMemberInfo gcModifyGuildMember;				gcModifyGuildMember.setGuildID( pPlayerCreature->getGuildID() );				gcModifyGuildMember.setGuildName( "" );				gcModifyGuildMember.setGuildMemberRank( GuildMember::GUILDMEMBER_RANK_DENY );				pPlayer->sendPacket( &gcModifyGuildMember );			}			else if ( pPlayerCreature->isVampire() )			{				pPlayerCreature->setGuildID( 0 );		// 轨颇捞绢狼 啊涝救茄 惑怕狼 辨靛 ID				// 努扼捞攫飘俊 辨靛 眠规阑 舅赴促.				GCModifyGuildMemberInfo gcModifyGuildMember;				gcModifyGuildMember.setGuildID( pPlayerCreature->getGuildID() );				gcModifyGuildMember.setGuildName( "" );				gcModifyGuildMember.setGuildMemberRank( GuildMember::GUILDMEMBER_RANK_DENY );				pPlayer->sendPacket( &gcModifyGuildMember );			}			else if ( pPlayerCreature->isOusters() )			{				pPlayerCreature->setGuildID( 66 );		// 酒快胶磐令 啊涝救茄 惑怕狼 辨靛 ID				// 努扼捞攫飘俊 辨靛 眠规阑 舅赴促.				GCModifyGuildMemberInfo gcModifyGuildMember;				gcModifyGuildMember.setGuildID( pPlayerCreature->getGuildID() );				gcModifyGuildMember.setGuildName( "" );				gcModifyGuildMember.setGuildMemberRank( GuildMember::GUILDMEMBER_RANK_DENY );				pPlayer->sendPacket( &gcModifyGuildMember );			}			// 辨靛 眠规 皋矫瘤甫 焊辰促.			GCSystemMessage gcSystemMessage;//			gcSystemMessage.setMessage( "辨靛俊辑 眠规寸沁嚼聪促." );            if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER )                gcSystemMessage.setMessage( g_pStringPool->getString( STRID_EXPEL_TEAM_MEMBER ) );            else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE )                gcSystemMessage.setMessage( g_pStringPool->getString( STRID_EXPEL_CLAN_MEMBER ) );            else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS )                gcSystemMessage.setMessage( g_pStringPool->getString( STRID_EXPEL_CLAN_MEMBER ) );			pPlayer->sendPacket( &gcSystemMessage );			if ( pGuild->getState() == Guild::GUILD_STATE_ACTIVE )			{				// 林困俊 舅赴促.				Zone* pZone = pCreature->getZone();				Assert( pZone != NULL );				GCOtherModifyInfo gcOtherModifyInfo;				gcOtherModifyInfo.setObjectID( pCreature->getObjectID() );				gcOtherModifyInfo.addShortData( MODIFY_GUILDID, pPlayerCreature->getGuildID() );				pZone->broadcastPacket( pCreature->getX(), pCreature->getY(), &gcOtherModifyInfo, pCreature );			}		}		// 眠规矫挪 荤恩俊霸 皋矫瘤甫 焊辰促.		pCreature = g_pPCFinder->getCreature_LOCKED( pPacket->getSender() );		if ( pCreature != NULL && pCreature->isPC() )		{			Player* pPlayer = pCreature->getPlayer();			Assert( pPlayer != NULL );//			StringStream msg;//			msg << pPacket->getName() << "丛阑 辨靛俊辑 眠规窍看嚼聪促.";            char msg[100];            if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER )                sprintf( msg, g_pStringPool->c_str( STRID_EXPEL_TEAM_MEMBER_2 ), pPacket->getName().c_str() );            else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE )                sprintf( msg, g_pStringPool->c_str( STRID_EXPEL_CLAN_MEMBER_2 ), pPacket->getName().c_str() );            else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS )                sprintf( msg, g_pStringPool->c_str( STRID_EXPEL_CLAN_MEMBER_2 ), pPacket->getName().c_str() );			GCSystemMessage gcSystemMessage;			gcSystemMessage.setMessage( msg );			pPlayer->sendPacket( &gcSystemMessage );		}		__LEAVE_CRITICAL_SECTION((*g_pPCFinder))	}#endif	__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

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