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