cgphonedisconnecthandler.cpp
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 114 行
CPP
114 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGPhoneDisconnectHandler.cc// Written By : elca@ewestsoft.com// Description ://////////////////////////////////////////////////////////////////////////////#include "CGPhoneDisconnect.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "Slayer.h" #include "TelephoneCenter.h" #include "Gpackets/GCPhoneDisconnected.h"#endif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGPhoneDisconnectHandler::execute (CGPhoneDisconnect* pPacket , Player* pPlayer) throw (ProtocolException, Error){ __BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); Creature* pCreature = pGamePlayer->getCreature(); Assert (pCreature->isSlayer()); Player* pTargetPlayer = NULL; bool Success = false; Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature); SlotID_t PhoneSlot = pPacket->getSlotID(); SlotID_t TargetPhoneSlot = MAX_PHONE_SLOT; Assert (PhoneSlot < MAX_PHONE_SLOT); PhoneNumber_t PhoneNumber = pSlayer->getPhoneNumber(); PhoneNumber_t TargetPhoneNumber = pSlayer->getPhoneSlotNumber(PhoneSlot); Assert (TargetPhoneNumber != 0); Slayer* pTargetSlayer = g_pTelephoneCenter->getSlayer(TargetPhoneNumber); //cout << "Disconnect PhoneSlot : " << (int)PhoneSlot << ", Phone Number : " << (int)TargetPhoneNumber << endl; // 茫疽栏搁.... if (pTargetSlayer != NULL) { pTargetPlayer = pTargetSlayer->getPlayer(); if (pTargetSlayer->isSlotByPhoneNumber(PhoneNumber)) { // 迄 锅龋肺 弊 锅龋啊 甸绢乐绰 浇儿阑 茫绰促. TargetPhoneSlot = pTargetSlayer->getSlotWithPhoneNumber(PhoneNumber); Success = true; } } // 沥惑利栏肺 茫绊 谗菌阑 版快 if (Success) { // 捞力 谗扁绰 付寸捞骨肺 0 栏肺 剧螟 促 悸泼. pTargetSlayer->setPhoneSlotNumber(TargetPhoneSlot, 0); pSlayer->setPhoneSlotNumber(PhoneSlot, 0); // 谗绰 荤恩俊霸 朝府绰 菩哦 GCPhoneDisconnected gcPhoneDisconnected; gcPhoneDisconnected.setPhoneNumber(TargetPhoneNumber); gcPhoneDisconnected.setSlotID(PhoneSlot); // 惑措利栏肺 谗扁绰 荤恩俊霸 朝府绰 菩哦 GCPhoneDisconnected gcPhoneDisconnected2; gcPhoneDisconnected2.setPhoneNumber(PhoneNumber); gcPhoneDisconnected2.setSlotID(TargetPhoneSlot); pPlayer->sendPacket(&gcPhoneDisconnected); pTargetPlayer->sendPacket(&gcPhoneDisconnected2); //cout << "Disconnected Successfull" << endl; // 厚沥惑 利老 版快 -_-; } else { // 殿废等 傈拳锅龋甫 啊柳 荤恩捞 漂沥 捞蜡肺 唱埃 惑怕捞促. // 蝶扼辑 殿废 锅龋甫 檬扁拳 矫难霖促. pSlayer->setPhoneSlotNumber(PhoneSlot, 0); // 谗绰 荤恩俊霸 朝府绰 菩哦 GCPhoneDisconnected gcPhoneDisconnected; gcPhoneDisconnected.setPhoneNumber(TargetPhoneNumber); gcPhoneDisconnected.setSlotID(PhoneSlot); pPlayer->sendPacket(&gcPhoneDisconnected); //cout << "Not found That Slot PhoneNumber User" << endl; }#endif // __GAME_SERVER__ __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?