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