📄 gsmodifyguildmemberhandler.cpp
字号:
//----------------------------------------------------------------------//// Filename : GSModifyGuildMemberHandler.cpp// Written By : Reiot// Description :////----------------------------------------------------------------------// include files#include "GSModifyGuildMember.h"#include "Assert.h"#ifdef __SHARED_SERVER__ #include "Guild.h" #include "GuildManager.h" #include "GameServerManager.h" #include "Properties.h" #include "DB.h" #include "StringPool.h" #include <stdio.h> #include "Spackets/SGModifyGuildMemberOK.h"#endif//----------------------------------------------------------------------// // GSModifyGuildMemberHandler::execute()// //----------------------------------------------------------------------void GSModifyGuildMemberHandler::execute ( GSModifyGuildMember* pPacket, Player* pPlayer ) throw ( ProtocolException , Error ){ __BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __SHARED_SERVER__ //cout << "GSModifyGuildMember received" << endl; 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; // 焊辰荤恩捞 辨靛 付胶磐牢瘤 犬牢茄促. ( 辨靛 付胶磐甫 官曹锭绰 抗寇 ) if ( pGuild->getMaster() != pPacket->getSender() && pPacket->getGuildMemberRank() != GuildMember::GUILDMEMBER_RANK_MASTER ) return; if ( pGuildMember->getRank() == GuildMember::GUILDMEMBER_RANK_WAIT && pPacket->getGuildMemberRank() == GuildMember::GUILDMEMBER_RANK_NORMAL ) { /////////////////////////////////////////////////////////////////////////////////////// // 辨靛 糕滚 啊涝阑 铰牢茄 版快, DB俊 Slayer, Vampire, Ousters 抛捞喉狼 GuildID 甫 官槽促. /////////////////////////////////////////////////////////////////////////////////////// Statement* pStmt = NULL; BEGIN_DB { pStmt = g_pDatabaseManager->getConnection( "DARKEDEN" )->createStatement(); if ( pGuild->getRace() == Guild::GUILD_RACE_SLAYER ) { pStmt->executeQuery( "UPDATE Slayer SET GuildID = %d WHERE Name = '%s'", pGuild->getID(), pGuildMember->getName().c_str() ); pStmt->executeQuery( "INSERT INTO Messages ( Receiver, Message ) VALUES ( '%s', '%s' )", pGuildMember->getName().c_str(), g_pStringPool->c_str( STRID_TEAM_JOIN_ACCEPT ) ); } else if ( pGuild->getRace() == Guild::GUILD_RACE_VAMPIRE ) { pStmt->executeQuery( "UPDATE Vampire SET GuildID = %d WHERE Name = '%s'", pGuild->getID(), pGuildMember->getName().c_str() ); pStmt->executeQuery( "INSERT INTO Messages ( Receiver, Message ) VALUES ( '%s', '%s' )", pGuildMember->getName().c_str(), g_pStringPool->c_str( STRID_CLAN_JOIN_ACCEPT ) ); } else if ( pGuild->getRace() == Guild::GUILD_RACE_OUSTERS ) { pStmt->executeQuery( "UPDATE Ousters SET GuildID = %d WHERE Name = '%s'", pGuild->getID(), pGuildMember->getName().c_str() ); pStmt->executeQuery( "INSERT INTO Messages ( Receiver, Message ) VALUES ( '%s', '%s' )", pGuildMember->getName().c_str(), g_pStringPool->c_str( STRID_CLAN_JOIN_ACCEPT ) ); } SAFE_DELETE( pStmt ); } END_DB(pStmt) // Guild Member 沥焊甫 函版茄促. pGuild->modifyMemberRank( pGuildMember->getName(), pPacket->getGuildMemberRank() ); } else if ( pGuildMember->getRank() != GuildMember::GUILDMEMBER_RANK_MASTER && pPacket->getGuildMemberRank() == GuildMember::GUILDMEMBER_RANK_MASTER ) { // 辨靛付胶磐狼 珐农甫 货肺 辨靛付胶磐啊 登绰 糕滚狼 盔贰 珐农肺 官层霖促. pGuild->modifyMemberRank( pGuild->getMaster(), pGuildMember->getRank() ); // 货 辨靛付胶磐狼 珐农甫 技泼茄促. pGuild->modifyMemberRank( pGuildMember->getName(), pPacket->getGuildMemberRank() ); // 辨靛 坷宏璃飘俊 货 辨靛 付胶飘肺 技泼茄促. pGuild->setMaster( pGuildMember->getName() ); // DB俊 历厘茄促. char field[30]; sprintf( field, "Master='%s'", pGuildMember->getName().c_str() ); pGuild->tinysave( field ); } else { return; } // 霸烙 辑滚肺 焊尘 菩哦阑 父电促. SGModifyGuildMemberOK sgModifyGuildMemberOK; sgModifyGuildMemberOK.setGuildID( pGuild->getID() ); sgModifyGuildMemberOK.setName( pPacket->getName() ); sgModifyGuildMemberOK.setGuildMemberRank( pGuildMember->getRank() ); sgModifyGuildMemberOK.setSender( pPacket->getSender() ); // 霸烙 辑滚肺 菩哦阑 焊辰促. g_pGameServerManager->broadcast( &sgModifyGuildMemberOK );#endif __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -