clselectserverhandler.cpp

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

CPP
104
字号
//////////////////////////////////////////////////////////////////////////////// Filename    : CLSelectServerHandler.cpp// Written By  :// Description ://////////////////////////////////////////////////////////////////////////////#include "CLSelectServer.h"#ifdef __LOGIN_SERVER__	#include "Assert.h"	#include "LoginPlayer.h"	#include "DatabaseManager.h"	#include "GameServerInfoManager.h"	#include "DB.h"	#include "GameServerGroupInfoManager.h"	#include "GameWorldInfoManager.h"	#include "OptionInfo.h"	#include "Lpackets/LCPCList.h"#endif//////////////////////////////////////////////////////////////////////////////// 努扼捞攫飘啊 PC 狼 府胶飘甫 崔扼绊 夸没秦坷搁, 肺弊牢 辑滚绰 DB肺何磐// PC甸狼 沥焊甫 肺爹秦辑 LCPCList 菩哦俊 淬酒辑 傈价茄促.//////////////////////////////////////////////////////////////////////////////void CLSelectServerHandler::execute (CLSelectServer* pPacket , Player* pPlayer)	 throw (ProtocolException , Error){	__BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __LOGIN_SERVER__	Assert(pPacket != NULL);	Assert(pPlayer != NULL);	LoginPlayer* pLoginPlayer = dynamic_cast<LoginPlayer*>(pPlayer);	ServerGroupID_t CurrentServerGroupID = pPacket->getServerGroupID();	WorldID_t WorldID = pLoginPlayer->getWorldID();	//Assert ( WorldID <= g_pGameWorldInfoManager->getSize() );	int MaxWorldID = g_pGameWorldInfoManager->getSize();	if (WorldID>MaxWorldID)	{		WorldID = MaxWorldID;	}	//Assert ( CurrentServerGroupID <= g_pGameServerGroupInfoManager->getSize( WorldID ) );	int MaxServerGroupID = g_pGameServerGroupInfoManager->getSize( WorldID );	if  (CurrentServerGroupID>MaxServerGroupID)	{		CurrentServerGroupID = MaxServerGroupID;	}	// by sigi. 2003.1.7	GameServerGroupInfo* pGameServerGroupInfo 		= g_pGameServerGroupInfoManager->getGameServerGroupInfo( CurrentServerGroupID, WorldID );	Assert(pGameServerGroupInfo!=NULL);	if (pGameServerGroupInfo->getStat() == SERVER_DOWN)	{		filelog("errorLogin.txt", "Server Closed: %d", CurrentServerGroupID);		throw DisconnectException("ServerClosed");	}	pLoginPlayer->setServerGroupID(CurrentServerGroupID);	Statement* pStmt = NULL;	//----------------------------------------------------------------------	// 捞力 LCPCList 菩哦阑 父甸绢 焊郴磊	//----------------------------------------------------------------------	LCPCList lcPCList;	pLoginPlayer->makePCList( lcPCList );	pLoginPlayer->sendPacket(&lcPCList);	pLoginPlayer->setPlayerStatus(LPS_PC_MANAGEMENT);	try	{		pStmt    = g_pDatabaseManager->getConnection( "DARKEDEN" )->createStatement();			pStmt->executeQuery("UPDATE Player set CurrentServerGroupID = %d WHERE PlayerID = '%s'", (int)pPacket->getServerGroupID(), pLoginPlayer->getID().c_str());		// 孽府 搬苞 棺 孽府巩 按眉甫 昏力茄促.		SAFE_DELETE(pStmt);	}	catch (SQLQueryException & sce) 	{		//cout << sce.toString() << endl;		// 孽府 搬苞 棺 孽府巩 按眉甫 昏力茄促.		SAFE_DELETE(pStmt);		throw DisconnectException(sce.toString());	}#endif	__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

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