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 + -
显示快捷键?