sgexpelguildmemberokhandler.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· 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 + -
显示快捷键?