⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 questupdater.cpp

📁 墨香最新私服
💻 CPP
字号:
// QuestUpdater.cpp: implementation of the CQuestUpdater class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Player.h"
#include "QuestUpdater.h"
#include "MapDBMsgParser.h"
#include "Quest.h"
#include "QuestGroup.h"
#include "..\[CC]Quest\QuestInfo.h"
#include "..\[CC]Quest\SubQuestInfo.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CQuestUpdater::CQuestUpdater()
{

}

CQuestUpdater::~CQuestUpdater()
{

}

void CQuestUpdater::StartQuest(CPlayer* player, CQuest* pQuest)
{	
	if( pQuest == NULL )	return;
	QuestMainQuestInsert( player->GetID(), pQuest->GetQuestIdx(), pQuest->GetSubQuestFlag(),
						  pQuest->GetQuestTime() );
}

void CQuestUpdater::EndQuest(CPlayer* player, CQuest* pQuest)
{	
	if( pQuest == NULL )	return;
	// 犬角窍霸 场车促绊 1肺 悸泼. - RaMa 04.10.14
	// pQuest->IsQuestComplete() 捞芭 粱 捞惑茄芭 鞍澜..	
	QuestMainQuestUpdateToDB( player->GetID(), pQuest->GetQuestIdx(), pQuest->GetSubQuestFlag(),		
							  1, pQuest->GetQuestTime() );
	QuestSubQuestDeleteAll( player->GetID(), pQuest->GetQuestIdx() );
	QuestItemDeleteAll( player->GetID(), pQuest->GetQuestIdx() );
}

void CQuestUpdater::DeleteQuest(CPlayer* player, CQuest* pQuest)
{
	if( pQuest == NULL )	return;
	QuestMainQuestDelete( player->GetID(), pQuest->GetQuestIdx() );
	QuestSubQuestDeleteAll( player->GetID(), pQuest->GetQuestIdx() );
	QuestItemDeleteAll( player->GetID(), pQuest->GetQuestIdx() );
}

void CQuestUpdater::UpdateQuest( CPlayer* player, DWORD dwFlag, DWORD dwParam, DWORD dwTime )
{
	QuestMainQuestUpdateToDB( player->GetID(), 0, dwFlag, dwParam, dwTime );
}

void CQuestUpdater::StartSubQuest(CPlayer* player, CQuest* pQuest, DWORD sIndex)
{
	if( pQuest == NULL )	return;
	QuestSubQuestInsert( player->GetID(), pQuest->GetQuestIdx(), sIndex,
						 pQuest->GetSubQuestData(sIndex), pQuest->GetSubQuestTime(sIndex) );
}

void CQuestUpdater::EndSubQuest(CPlayer* player, CQuest* pQuest, DWORD sIndex)
{	
	if( pQuest == NULL )	return;
	QuestMainQuestUpdateToDB( player->GetID(), pQuest->GetQuestIdx(), pQuest->GetSubQuestFlag(),
							  pQuest->IsQuestComplete(), pQuest->GetQuestTime() );
	QuestSubQuestDelete(player->GetID(), pQuest->GetQuestIdx(), sIndex);
}

void CQuestUpdater::UpdateSubQuest(CPlayer* player, CQuest* pQuest, DWORD sIndex)
{
	if( pQuest == NULL )	return;
	QuestSubQuestUpdateToDB( player->GetID(), pQuest->GetQuestIdx(), sIndex, 
							 pQuest->GetSubQuestData(sIndex), pQuest->GetSubQuestTime(sIndex) );
}

void CQuestUpdater::GiveQuestItem( CPlayer* pPlayer, DWORD dwItemIdx, DWORD dwItemNum )
{
	QuestItemDelete( pPlayer->GetID(), dwItemIdx );
}

void CQuestUpdater::TakeQuestItem( CPlayer* pPlayer, DWORD dwQuestIdx, DWORD dwItemIdx, DWORD dwItemNum )
{
	QuestItemInsert( pPlayer->GetID(), dwQuestIdx, dwItemIdx, dwItemNum );	
}

void CQuestUpdater::UpdateQuestItem( CPlayer* pPlayer, DWORD dwQuestIdx, DWORD dwItemIdx, DWORD dwItemNum )
{
	QuestItemUpdate( pPlayer->GetID(), dwQuestIdx, dwItemIdx, dwItemNum );
}

⌨️ 快捷键说明

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