sgquitguildokhandler.cpp
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 184 行
CPP
184 行
//----------------------------------------------------------------------//// Filename : SGQuitGuildOKHandler.cpp// Written By : Reiot// Description :////----------------------------------------------------------------------// include files#include "SGQuitGuildOK.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/GCModifyInformation.h" #include "Gpackets/GCModifyGuildMemberInfo.h" #include "Gpackets/GCSystemMessage.h" #include "Gpackets/GCOtherModifyInfo.h" #include <stdio.h>#endif//----------------------------------------------------------------------// // SGQuitGuildOKHandler::execute()// //----------------------------------------------------------------------void SGQuitGuildOKHandler::execute ( SGQuitGuildOK* pPacket ) throw ( ProtocolException , Error ){ __BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__ Assert( pPacket != NULL ); // 辨靛甫 啊廉柯促. Guild* pGuild = g_pGuildManager->getGuild( pPacket->getGuildID() ); //try { Assert( pGuild != NULL ); } catch ( Throwable& ) { return; } if (pGuild==NULL) return; // 辨靛 糕滚牢瘤 犬牢茄促. GuildMember* pGuildMember = pGuild->getMember( pPacket->getName() ); //try { Assert( pGuildMember != NULL ); } catch ( Throwable& ) { return; } if (pGuildMember==NULL) return; string memberName = pGuildMember->getName(); // 立加秦 乐促搁 皋矫瘤甫 焊辰促. __ENTER_CRITICAL_SECTION((*g_pPCFinder)) Creature* pCreature = g_pPCFinder->getCreature_LOCKED( memberName ); if ( pCreature != NULL && pCreature->isPC() ) { Player* pPlayer = pCreature->getPlayer(); Assert( pPlayer != NULL ); PlayerCreature* pPlayerCreature = dynamic_cast<PlayerCreature*>(pCreature); Assert( pPlayerCreature != NULL ); if ( pGuild->getState() == Guild::GUILD_STATE_ACTIVE ) { //////////////////////////////////////////////////////////////////////////////// // 劝悼 吝牢 辨靛 看促搁 Slayer, Vampire 辨靛 酒捞叼甫 啊涝 救茄 惑怕肺 官槽促. //////////////////////////////////////////////////////////////////////////////// if ( pPlayerCreature->isSlayer() ) { pPlayerCreature->setGuildID( 99 ); // 浇饭捞绢狼 啊涝救茄 惑怕狼 辨靛 ID // 努扼捞攫飘肺 皋矫瘤甫 焊辰促. GCModifyGuildMemberInfo gcModifyGuildMemberInfo; gcModifyGuildMemberInfo.setGuildID( pGuild->getID() ); gcModifyGuildMemberInfo.setGuildName( pGuild->getName() ); gcModifyGuildMemberInfo.setGuildMemberRank( pGuildMember->getRank() ); pPlayer->sendPacket( &gcModifyGuildMemberInfo ); } else if ( pPlayerCreature->isVampire() ) { pPlayerCreature->setGuildID( 0 ); // 轨颇捞绢狼 啊涝救茄 惑怕狼 辨靛 ID // 努扼捞攫飘肺 皋矫瘤甫 焊辰促. GCModifyGuildMemberInfo gcModifyGuildMemberInfo; gcModifyGuildMemberInfo.setGuildID( pGuild->getID() ); gcModifyGuildMemberInfo.setGuildName( pGuild->getName() ); gcModifyGuildMemberInfo.setGuildMemberRank( pGuildMember->getRank() ); pPlayer->sendPacket( &gcModifyGuildMemberInfo ); } else if ( pPlayerCreature->isOusters() ) { pPlayerCreature->setGuildID( 66 ); // 酒快胶磐令狼 啊涝救茄 惑怕狼 辨靛 ID // 努扼捞攫飘肺 皋矫瘤甫 焊辰促. GCModifyGuildMemberInfo gcModifyGuildMemberInfo; gcModifyGuildMemberInfo.setGuildID( pGuild->getID() ); gcModifyGuildMemberInfo.setGuildName( pGuild->getName() ); gcModifyGuildMemberInfo.setGuildMemberRank( pGuildMember->getRank() ); pPlayer->sendPacket( &gcModifyGuildMemberInfo ); } } if ( pGuild->getState() == Guild::GUILD_STATE_WAIT && pGuildMember->getRank() == GuildMember::GUILDMEMBER_RANK_SUBMASTER ) { /////////////////////////////////////////////////////////// // 措扁 吝牢 辨靛狼 辑宏 付胶磐扼搁 殿废厚甫 券阂茄促. /////////////////////////////////////////////////////////// Gold_t Gold = pPlayerCreature->getGold(); Gold = min( Gold + (uint)RETURN_SLAYER_SUBMASTER_GOLD, (long unsigned int)2000000000 ); pPlayerCreature->setGoldEx( Gold ); GCModifyInformation gcModifyInformation; gcModifyInformation.addLongData( MODIFY_GOLD, Gold ); pPlayer->sendPacket( &gcModifyInformation ); } // 辨靛 呕硼 皋矫瘤甫 焊辰促. GCSystemMessage gcSystemMessage; if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER ) gcSystemMessage.setMessage( g_pStringPool->getString( STRID_QUIT_TEAM ) ); else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE ) gcSystemMessage.setMessage( g_pStringPool->getString( STRID_QUIT_CLAN ) ); else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS ) gcSystemMessage.setMessage( g_pStringPool->getString( STRID_QUIT_CLAN ) ); 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 ); } } // 辨靛俊辑 昏力茄促. pGuild->deleteMember( memberName ); // 辨靛 付胶磐俊霸 皋矫瘤甫 焊辰促. pCreature = g_pPCFinder->getCreature_LOCKED( pGuild->getMaster() ); if ( pCreature != NULL && pCreature->isPC() ) { Player* pPlayer = pCreature->getPlayer(); Assert( pPlayer != NULL );// StringStream msg;// msg << memberName << "丛捞 辨靛甫 呕硼窍看嚼聪促."; char msg[100]; if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER ) sprintf( msg, g_pStringPool->c_str( STRID_QUIT_TEAM_2 ), memberName.c_str() ); else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE ) sprintf( msg, g_pStringPool->c_str( STRID_QUIT_CLAN_2 ), memberName.c_str() ); else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS ) sprintf( msg, g_pStringPool->c_str( STRID_QUIT_CLAN_2 ), memberName.c_str() ); GCSystemMessage gcSystemMessage; gcSystemMessage.setMessage( msg ); pPlayer->sendPacket( &gcSystemMessage ); } else { // 鞍篮 辑滚俊 辨靛 付胶磐啊 绝绰 版快. how? } __LEAVE_CRITICAL_SECTION((*g_pPCFinder))#endif __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?