cgdialuphandler.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 107 行
CPP
107 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGDialUpHandler.cc// Written By : elca@ewestsoft.com// Description ://////////////////////////////////////////////////////////////////////////////#include "CGDialUp.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "TelephoneCenter.h" #include "Slayer.h" #include "Gpackets/GCRing.h" #include "Gpackets/GCPhoneConnected.h" #include "Gpackets/GCPhoneConnectionFailed.h"#endif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGDialUpHandler::execute (CGDialUp* 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()); bool Success = false; Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature); Player* pTargetPlayer = NULL; SlotID_t PSlot = MAX_PHONE_SLOT; SlotID_t PSlot2 = MAX_PHONE_SLOT; // 迄 锅龋甫 罐酒柯促. PhoneNumber_t PNumber = pPacket->getPhoneNumber(); Slayer* pTargetSlayer = g_pTelephoneCenter->getSlayer(PNumber); if (pSlayer->findEmptyPhoneSlot() != MAX_PHONE_SLOT && pSlayer != pTargetSlayer) { if (pTargetSlayer != NULL) { pTargetPlayer = pTargetSlayer->getPlayer(); if (pTargetSlayer->isEmptyPhoneSlot()) { if (!(pTargetSlayer->isSlotByPhoneNumber(PNumber))) { Success = true; } } } } if (Success) { // 惑措规狼 后 浇儿阑 罐酒柯促. PSlot2 = pTargetSlayer->findEmptyPhoneSlot(); // 磊脚狼 后 浇儿阑 茫绰促. PSlot = pSlayer->findEmptyPhoneSlot(); // 惑措规狼 浇儿俊 磊脚狼 锅龋甫 悸泼 pTargetSlayer->setPhoneSlotNumber (PSlot2, pSlayer->getPhoneNumber()); // 磊脚狼 浇儿俊 惑措规狼 锅龋 悸泼 pSlayer->setPhoneSlotNumber (PSlot, PNumber); //cout << "Call Number : " << pSlayer->getPhoneNumber() << ", Called Number : " << PNumber << endl; //cout << "Call Slot : " << PSlot << ", Called Slot : " << PSlot2 << endl; // 傈拳 罐阑 惑措俊霸 朝府绰 菩哦 GCRing gcRing; gcRing.setPhoneNumber(pSlayer->getPhoneNumber()); gcRing.setSlotID(PSlot2); gcRing.setName(pSlayer->getName()); // 傈拳 扒 寸荤磊俊霸 朝府绰 菩哦 GCPhoneConnected gcPhoneConnected; gcPhoneConnected.setSlotID(PSlot); gcPhoneConnected.setName(pTargetSlayer->getName()); pTargetPlayer->sendPacket(&gcRing); pGamePlayer->sendPacket(&gcPhoneConnected); } else { GCPhoneConnectionFailed gcPhoneConnectionFailed; pGamePlayer->sendPacket(&gcPhoneConnectionFailed); }#endif // __GAME_SERVER__ __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?