📄 questupdater.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 + -