actioneventmeet.cpp

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

CPP
106
字号
////////////////////////////////////////////////////////////////////////////////// Filename    : ActionEventMeet.cpp// Written By  : // Description :////////////////////////////////////////////////////////////////////////////////#include "ActionEventMeet.h"#include "Creature.h"#include "NPC.h"#include "GamePlayer.h"#include "mission/QuestManager.h"#include "Gpackets/GCNPCAsk.h"#include "Gpackets/GCNoticeEvent.h"////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////void ActionEventMeet::read (PropertyBuffer & propertyBuffer)    throw (Error){    __BEGIN_TRY	try 	{		// read script id		m_ScriptID = propertyBuffer.getPropertyInt("ScriptID");		m_CounterScriptID = propertyBuffer.getPropertyInt("CounterScriptID");		m_bGiveInfo = propertyBuffer.getPropertyInt("GiveInfo") != 0;	} 	catch (NoSuchElementException & nsee)	{		throw Error(nsee.toString());	}	    __END_CATCH}////////////////////////////////////////////////////////////////////////////////// 咀记阑 角青茄促.////////////////////////////////////////////////////////////////////////////////void ActionEventMeet::execute (Creature * pCreature1 , Creature * pCreature2) 	throw (Error){	__BEGIN_TRY	Assert(pCreature1 != NULL);	Assert(pCreature2 != NULL);	Assert(pCreature1->isNPC());	Assert(pCreature2->isPC());	PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pCreature2);	Assert( pPC != NULL );	NPC* pNPC = dynamic_cast<NPC*>(pCreature1);	Assert( pNPC != NULL );	if ( pPC->getQuestManager()->isTargetNPC( pNPC ) )	{		if ( m_bGiveInfo ) pPC->getQuestManager()->metNPC( pNPC );		Player* pPlayer = pCreature2->getPlayer();		GCNPCAsk gcNPCAsk;		gcNPCAsk.setObjectID(pCreature1->getObjectID());		gcNPCAsk.setScriptID(m_ScriptID);		gcNPCAsk.setNPCID( dynamic_cast<NPC*>(pCreature1)->getNPCID() );		pPlayer->sendPacket(&gcNPCAsk);		pPC->sendCurrentQuestInfo();	}	else	{		GCNPCAsk gcNPCAsk;		gcNPCAsk.setObjectID(pCreature1->getObjectID());		gcNPCAsk.setScriptID(m_CounterScriptID);		gcNPCAsk.setNPCID( dynamic_cast<NPC*>(pCreature1)->getNPCID() );		Player* pPlayer = pCreature2->getPlayer();		pPlayer->sendPacket(&gcNPCAsk);	}	__END_CATCH}////////////////////////////////////////////////////////////////////////////////// get debug string////////////////////////////////////////////////////////////////////////////////string ActionEventMeet::toString () const 	throw (){	__BEGIN_TRY	StringStream msg;	msg << "ActionEventMeet("	    << ",ScriptID:"  << (int)m_ScriptID	    << ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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