lgkickcharacterhandler.cpp

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

CPP
128
字号
//----------------------------------------------------------------------//// Filename    : LGKickCharacterHandler.cpp// Written By  : Reiot// Description :////----------------------------------------------------------------------// include files#include "LGKickCharacter.h"#ifdef __GAME_SERVER__	#include "GamePlayer.h"	#include "LoginServerManager.h"	#include "Creature.h"	#include "PCFinder.h"	#include "LogDef.h"	#include "Gpackets/GLKickVerify.h"#endif//----------------------------------------------------------------------// // LGKickCharacterHander::execute()// // 霸烙 辑滚啊 肺弊牢 辑滚肺何磐 LGKickCharacter 菩哦阑 罐霸 登搁,// ConnectionInfo甫 货肺 眠啊窍霸 等促.// //----------------------------------------------------------------------void LGKickCharacterHandler::execute ( LGKickCharacter * pPacket )	 throw ( ProtocolException , Error ){	__BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__	// 衬轻轻	/*	if (!g_pPCFinder->setKickCharacter( pPacket->getPCName(), pPacket->getHost(), pPacket->getPort() ))	{		GLKickVerify glKickVerify;		glKickVerify.setKicked(false);		glKickVerify.setID(pPacket->getID());		glKickVerify.setPCName(pPacket->getPCName());		g_pLoginServerManager->sendPacket( pPacket->getHost() , pPacket->getPort() , &glKickVerify );		//cout << "LGKickVerify Send Packet to ServerIP : " << pPacket->getHost() << endl;		//cout << "LGKickVerify Send Packet to ServerPort : " << pPacket->getPort() << endl;			return;	}	*/	try {		__ENTER_CRITICAL_SECTION((*g_pPCFinder))		// 捞抚栏肺 荤侩磊甫 茫酒柯促.		Creature* pCreature = g_pPCFinder->getCreature_LOCKED(pPacket->getPCName());		// 某腐磐啊 绝绰 版快俊绰 GLKickVerify(false)甫 焊辰促.		if (pCreature == NULL)		{			GLKickVerify glKickVerify;			glKickVerify.setKicked(false);			glKickVerify.setID(pPacket->getID());			glKickVerify.setPCName(pPacket->getPCName());			g_pLoginServerManager->sendPacket( pPacket->getHost() , pPacket->getPort() , &glKickVerify );			//cout << "LGKickVerify Send Packet to ServerIP : " << pPacket->getHost() << endl;			//cout << "LGKickVerify Send Packet to ServerPort : " << pPacket->getPort() << endl;					g_pPCFinder->unlock();			return;		}		//cout << "KickCharacter : " << pPacket->getPCName().c_str() << endl;		GamePlayer* pGamePlayer = NULL;		try {			pGamePlayer = dynamic_cast<GamePlayer*>(pCreature->getPlayer());		} catch (Throwable& t) {			// pCreature->getPlayer()救俊辑 Assert(m_pPlayer!=NULL)锭巩捞促.			//filelog("kickCharacterAssert.txt", "%s", t.toString().c_str());			g_pPCFinder->unlock();			return;		}		//Assert(pGamePlayer!=NULL);		if (pGamePlayer==NULL)	// 绢痘霸 啊瓷且鳖? -_-;		{			g_pPCFinder->unlock();			return;		}		int fd = -1;		Socket* pSocket = pGamePlayer->getSocket();		if (pSocket!=NULL) fd = (int)pSocket->getSOCKET();		FILELOG_INCOMING_CONNECTION("incomingDisconnect.log", "Kick FD : %d, %s",					fd, (pSocket==NULL? "NULL" : pSocket->getHost().c_str()) );		// 碍力 辆丰 矫挪促.		pGamePlayer->setPenaltyFlag(PENALTY_TYPE_KICKED);		pGamePlayer->setItemRatioBonusPoint(4);		pGamePlayer->setKickForLogin(true);		// 立加 秦力 饶, 览翠阑 焊郴临 镑..		pGamePlayer->setKickRequestHost( pPacket->getHost() );		pGamePlayer->setKickRequestPort( pPacket->getPort() );		__LEAVE_CRITICAL_SECTION((*g_pPCFinder))	} catch ( NoSuchElementException & ) {	}	#endif			__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

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