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

📄 eventquestinfomanager.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
#include "EventQuestInfoManager.h"#include "RewardClass.h"#include "RewardClassInfoManager.h"#include "MonsterKillQuestInfo.h"#include "GatherItemQuestInfo.h"#include "MeetNPCQuestInfo.h"#include "MiniGameQuestInfo.h"#include "Assert.h"#include "DB.h"void EventQuestInfoManager::load(const string& name) throw(Error){	__BEGIN_TRY	clear();	Statement* pStmt = NULL;	BEGIN_DB	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		Result* pResult = pStmt->executeQuery(				"SELECT QuestID, Race, MaxGrade, MinGrade, TimeLimitSec, RewardClass, TargetSType, IsChief, Goal, EventQuest, QuestLevel FROM MonsterKillQuestInfo WHERE NPC='%s'",				name.c_str());		while (pResult->next()) 		{			int index = 0;			QuestID_t		qID			= (QuestID_t) 	pResult->getInt( ++index );			Race_t			race		= (Race_t)		pResult->getInt( ++index );			QuestGrade_t	MaxGrade	= (QuestGrade_t)pResult->getInt( ++index );			QuestGrade_t	MinGrade	= (QuestGrade_t)pResult->getInt( ++index );			DWORD			timeLimit	= (DWORD)		pResult->getInt( ++index );			RewardClass_t	rewardClass	= (RewardClass_t)pResult->getInt(++index );			SpriteType_t	monsterSType= (SpriteType_t)pResult->getInt( ++index );			bool			isChief		= ( pResult->getInt( ++index ) == 0 )?false:true;			int				killCount	= (int)			pResult->getInt( ++index );			bool			isEventQuest=				pResult->getInt( ++index ) != 0;			int				questLevel	= (int)			pResult->getInt( ++index );//			RewardClass* pRC = g_pRewardClassInfoManager->getRewardClass( rewardClass );//			Assert( pRC != NULL );			MonsterKillQuestInfo* pMonsterKillQI = new MonsterKillQuestInfo( qID, race, MaxGrade, MinGrade, timeLimit, rewardClass, monsterSType, isChief, killCount );			pMonsterKillQI->setEventQuest( isEventQuest );			pMonsterKillQI->setQuestLevel( questLevel );			addQuestInfo( pMonsterKillQI );			cout << "Loading Quest Info : " << pMonsterKillQI->toString() << endl;		}		pResult = pStmt->executeQuery(				"SELECT QuestID, Race, MaxGrade, MinGrade, TimeLimitSec, RewardClass, TargetIClass, TargetIType, Goal, EventQuest, QuestLevel FROM GatherItemQuestInfo WHERE NPC='%s'",				name.c_str());		while (pResult->next()) 		{			int index = 0;			QuestID_t		qID			= (QuestID_t) 	pResult->getInt( ++index );			Race_t			race		= (Race_t)		pResult->getInt( ++index );			QuestGrade_t	MaxGrade	= (QuestGrade_t)pResult->getInt( ++index );			QuestGrade_t	MinGrade	= (QuestGrade_t)pResult->getInt( ++index );			DWORD			timeLimit	= (DWORD)		pResult->getInt( ++index );			RewardClass_t	rewardClass	= (RewardClass_t)pResult->getInt(++index );			Item::ItemClass iClass 		= (Item::ItemClass)pResult->getInt( ++index );			ItemType_t		iType		= (ItemType_t)pResult->getInt( ++index );			int				Count		= (int)			pResult->getInt( ++index );			bool			isEventQuest=				pResult->getInt( ++index ) != 0;			int				questLevel	= (int)			pResult->getInt( ++index );			GatherItemQuestInfo* pGatherItemQI = new GatherItemQuestInfo( qID, race, MaxGrade, MinGrade, timeLimit, rewardClass, iClass, iType, Count );			pGatherItemQI->setEventQuest( isEventQuest );			pGatherItemQI->setQuestLevel( questLevel );			addQuestInfo( pGatherItemQI );			cout << "Loading Quest Info : " << pGatherItemQI->toString() << endl;		}		pResult = pStmt->executeQuery(				"SELECT QuestID, Race, MaxGrade, MinGrade, TimeLimitSec, RewardClass, TargetNPCID, SecondNPCID, EventQuest, QuestLevel FROM MeetNPCQuestInfo WHERE NPC='%s'",				name.c_str());		while (pResult->next())		{			int index = 0;			QuestID_t		qID			= (QuestID_t) 	pResult->getInt( ++index );			Race_t			race		= (Race_t)		pResult->getInt( ++index );			QuestGrade_t	MaxGrade	= (QuestGrade_t)pResult->getInt( ++index );			QuestGrade_t	MinGrade	= (QuestGrade_t)pResult->getInt( ++index );			DWORD			timeLimit	= (DWORD)		pResult->getInt( ++index );			RewardClass_t	rewardClass	= (RewardClass_t)pResult->getInt(++index );			NPCID_t			npcID		= (NPCID_t)		pResult->getInt( ++index );			NPCID_t			npcID2		= (NPCID_t)		pResult->getInt( ++index );			bool			isEventQuest=				pResult->getInt( ++index ) != 0;			int				questLevel	= (int)			pResult->getInt( ++index );			MeetNPCQuestInfo* pMeetNPCQI = new MeetNPCQuestInfo( qID, race, MaxGrade, MinGrade, timeLimit, rewardClass, npcID, npcID2 );			pMeetNPCQI->setEventQuest( isEventQuest );			pMeetNPCQI->setQuestLevel( questLevel );			addQuestInfo( pMeetNPCQI );			cout << "Loading Quest Info : " << pMeetNPCQI->toString() << endl;		}		pResult = pStmt->executeQuery(				"SELECT QuestID, Race, MaxGrade, MinGrade, TimeLimitSec, RewardClass, GameType, EventQuest, QuestLevel FROM MiniGameQuestInfo WHERE NPC='%s'",				name.c_str());		while (pResult->next())		{			int index = 0;			QuestID_t		qID			= (QuestID_t) 	pResult->getInt( ++index );			Race_t			race		= (Race_t)		pResult->getInt( ++index );			QuestGrade_t	MaxGrade	= (QuestGrade_t)pResult->getInt( ++index );			QuestGrade_t	MinGrade	= (QuestGrade_t)pResult->getInt( ++index );			DWORD			timeLimit	= (DWORD)		pResult->getInt( ++index );			RewardClass_t	rewardClass	= (RewardClass_t)pResult->getInt(++index );			int				GameType	= (int)			pResult->getInt( ++index );			bool			isEventQuest=				pResult->getInt( ++index ) != 0;			int				questLevel	= (int)			pResult->getInt( ++index );			MiniGameQuestInfo* pMiniGameQI = new MiniGameQuestInfo( qID, race, MaxGrade, MinGrade, timeLimit, rewardClass, GameType );			pMiniGameQI->setEventQuest( isEventQuest );			pMiniGameQI->setQuestLevel( questLevel );			addQuestInfo( pMiniGameQI );			cout << "Loading Quest Info : " << pMiniGameQI->toString() << endl;		}	}	END_DB(pStmt)	__END_CATCH}

⌨️ 快捷键说明

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