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

📄 handler_commondb.cpp

📁 真正的传奇源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include "stdafx.h"

void SendRDBSocket(int nCertification, char *pszData1, char *pszData2, int nData2Len);

CMapInfo* InitMapInfo(int nServerIndex)
{
	char szQuery[1024];

	CRecordset *pRec = g_pConnCommon->CreateRecordset();
	sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_MAPINFO WHERE FLD_SERVERINDEX = %d", nServerIndex );

	if (pRec->Execute( szQuery ))
	{
			if (pRec->Fetch())
				g_nNumOfMapInfo = atoi( pRec->Get( "FLD_COUNT" ) );
	}

	g_pConnCommon->DestroyRecordset( pRec );

	if (g_nNumOfMapInfo < 0) return NULL;

	CMapInfo* pMapInfo = new CMapInfo[g_nNumOfMapInfo];

	sprintf( szQuery, "SELECT * FROM TBL_MAPINFO WHERE FLD_SERVERINDEX = %d", nServerIndex );

	pRec = g_pConnCommon->CreateRecordset();
	
	if (pRec->Execute( szQuery ))
	{
		for (int i = 0; i < g_nNumOfMapInfo; i++)
		{
			if (pRec->Fetch())
			{
				strcpy(pMapInfo[i].szMapFileName, pRec->Get( "FLD_MAPFILENAME" ) );
				ChangeSpaceToNull(pMapInfo[i].szMapFileName);
				strcpy(pMapInfo[i].szMapName, pRec->Get( "FLD_MAPNAME" ) );
				ChangeSpaceToNull(pMapInfo[i].szMapName);

				pMapInfo[i].dwAttribute			= atoi( pRec->Get( "FLD_ATTRIBUTE" ) );

				pMapInfo[i].btMapSeries			= atoi( pRec->Get( "FLD_MAPSERIES" ) );
				pMapInfo[i].btMapSeriesValue	= atoi( pRec->Get( "FLD_MAPSERIESVAL" ) );
			}
		}
	}

	g_pConnCommon->DestroyRecordset( pRec );

	return pMapInfo;
}

void InitStdItemEtcInfo()
{
	char szQuery[1024];

	CRecordset *pRec;
	
	pRec= g_pConnCommon->CreateRecordset();

	sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_STDITEM_ETC");

	if (pRec->Execute( szQuery ))
	{
			if (pRec->Fetch())
				g_nStdItemEtc = atoi( pRec->Get( "FLD_COUNT" ) );
	}

	g_pConnCommon->DestroyRecordset( pRec );

	if (g_nStdItemEtc < 0) return;

	g_pStdItemEtc = new CStdItem[g_nStdItemEtc];

	sprintf( szQuery, "SELECT * FROM TBL_STDITEM_ETC ORDER BY FLD_INDEX");

	pRec = g_pConnCommon->CreateRecordset();
	
	if (pRec->Execute( szQuery ))
	{
		for (int i = 0; i < g_nStdItemEtc; i++)
		{
			if (pRec->Fetch())								 
			{
				strcpy(g_pStdItemEtc[i].szName, pRec->Get( "FLD_NAME" ) );

				g_pStdItemEtc[i].wStdMode	= atoi( pRec->Get( "FLD_STDMODE" ) );
				g_pStdItemEtc[i].wShape		= atoi( pRec->Get( "FLD_SHAPE" ) );
				g_pStdItemEtc[i].wWeight	= atoi( pRec->Get( "FLD_WEIGHT" ) );
				g_pStdItemEtc[i].dwLooks	= atoi( pRec->Get( "FLD_LOOKS" ) );
				g_pStdItemEtc[i].wDuraMax	= atoi( pRec->Get( "FLD_VAL1" ) );
				g_pStdItemEtc[i].dwRSource	= atoi( pRec->Get( "FLD_VAL2" ) );
				g_pStdItemEtc[i].dwPrice	= atoi( pRec->Get( "FLD_PRICE" ) );
			}
		}

		InsertLogMsgParam(IDS_FETCH_STDITEMETC, &g_nStdItemEtc, LOGPARAM_INT);
	}

	g_pConnCommon->DestroyRecordset( pRec );
}

void InitStdItemSpecial()
{
	char szQuery[1024];

	CRecordset *pRec = g_pConnCommon->CreateRecordset();
	sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_STDITEM");

	if (pRec->Execute( szQuery ))
	{
			if (pRec->Fetch())
				g_nStdItemSpecial = atoi( pRec->Get( "FLD_COUNT" ) );
	}

	g_pConnCommon->DestroyRecordset( pRec );

	if (g_nStdItemSpecial < 0) return;

	g_pStdItemSpecial = new CStdItemSpecial[g_nStdItemSpecial];

	sprintf( szQuery, "SELECT * FROM TBL_STDITEM ORDER BY FLD_INDEX");

	pRec = g_pConnCommon->CreateRecordset();
	
	if (pRec->Execute( szQuery ))
	{
		for (int i = 0; i < g_nStdItemSpecial; i++)
		{
			if (pRec->Fetch())								 
			{
				strcpy(g_pStdItemSpecial[i].szName, pRec->Get( "FLD_NAME" ) );

				g_pStdItemSpecial[i].wStdMode		= (SHORT)atoi( pRec->Get( "FLD_STDMODE" ) );
				g_pStdItemSpecial[i].btType			= (BYTE)atoi( pRec->Get( "FLD_TYPE" ) );
				g_pStdItemSpecial[i].wShape			= (SHORT)atoi( pRec->Get( "FLD_SHAPE" ) );
				g_pStdItemSpecial[i].wWeight		= (SHORT)atoi( pRec->Get( "FLD_WEIGHT" ) );
				g_pStdItemSpecial[i].wAniCount		= (SHORT)atoi( pRec->Get( "FLD_ANICOUNT" ) );
				g_pStdItemSpecial[i].wSource		= (SHORT)atoi( pRec->Get( "FLD_SOURCE" ) );
				g_pStdItemSpecial[i].dwLooks		= (LONG)atoi( pRec->Get( "FLD_LOOKS" ) );
				g_pStdItemSpecial[i].wDuraMax		= (WORD)atoi( pRec->Get( "FLD_DURAMAX" ) );
				g_pStdItemSpecial[i].wAC			= (BYTE)atoi( pRec->Get( "FLD_AC" ) );
				g_pStdItemSpecial[i].wAC2			= (BYTE)atoi( pRec->Get( "FLD_AC2" ) );
				g_pStdItemSpecial[i].wMAC			= (BYTE)atoi( pRec->Get( "FLD_MAC" ) );
				g_pStdItemSpecial[i].wMAC2			= (BYTE)atoi( pRec->Get( "FLD_MAC2" ) );
				g_pStdItemSpecial[i].wDC			= (BYTE)atoi( pRec->Get( "FLD_DC" ) );
				g_pStdItemSpecial[i].wDC2			= (BYTE)atoi( pRec->Get( "FLD_DC2" ) );
				g_pStdItemSpecial[i].wMC			= (BYTE)atoi( pRec->Get( "FLD_MC" ) );
				g_pStdItemSpecial[i].wMC2			= (BYTE)atoi( pRec->Get( "FLD_MC2" ) );
				g_pStdItemSpecial[i].wSC			= (BYTE)atoi( pRec->Get( "FLD_SC" ) );
				g_pStdItemSpecial[i].wSC2			= (BYTE)atoi( pRec->Get( "FLD_SC2" ) );
				g_pStdItemSpecial[i].wNeed			= (SHORT)atoi( pRec->Get( "FLD_NEED" ) );
				g_pStdItemSpecial[i].wNeedLevel		= (SHORT)atoi( pRec->Get( "FLD_NEEDLEVEL" ) );
				g_pStdItemSpecial[i].dwPrice		= (LONG)atoi( pRec->Get( "FLD_PRICE" ) );
				g_pStdItemSpecial[i].dwStock		= (LONG)atoi( pRec->Get( "FLD_STOCK" ) );

				g_pStdItemSpecial[i].m_btWater		= (BYTE)atoi( pRec->Get( "FLD_WATER1" ) );
				g_pStdItemSpecial[i].m_btWater2		= (BYTE)atoi( pRec->Get( "FLD_WATER2" ) );
				g_pStdItemSpecial[i].m_btFire		= (BYTE)atoi( pRec->Get( "FLD_FIRE1" ) );
				g_pStdItemSpecial[i].m_btFire2		= (BYTE)atoi( pRec->Get( "FLD_FIRE2" ) );
				g_pStdItemSpecial[i].m_btWind		= (BYTE)atoi( pRec->Get( "FLD_WIND1" ) );
				g_pStdItemSpecial[i].m_btWind2		= (BYTE)atoi( pRec->Get( "FLD_WIND2" ) );
				g_pStdItemSpecial[i].m_btLight		= (BYTE)atoi( pRec->Get( "FLD_LIGHT1" ) );
				g_pStdItemSpecial[i].m_btLight2		= (BYTE)atoi( pRec->Get( "FLD_LIGHT2" ) );
				g_pStdItemSpecial[i].m_btEarth		= (BYTE)atoi( pRec->Get( "FLD_EARTH1" ) );
				g_pStdItemSpecial[i].m_btEarth2		= (BYTE)atoi( pRec->Get( "FLD_EARTH2" ) );
			}
		}

		InsertLogMsgParam(IDS_FETCH_STDITEMACCESSORY, &g_nStdItemSpecial, LOGPARAM_INT);
	}

	g_pConnCommon->DestroyRecordset( pRec );
}

void InitMonsterGenInfo()
{
	char szQuery[1024];

	CRecordset *pRec = g_pConnCommon->CreateRecordset();
	sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_MONGEN");

	if (pRec->Execute( szQuery ))
	{
			if (pRec->Fetch())
				g_nNumOfMonGenInfo = atoi( pRec->Get( "FLD_COUNT" ) );
	}

	g_pConnCommon->DestroyRecordset( pRec );

	if (g_nNumOfMonGenInfo < 0) return;

	g_pMonGenInfo = new CMonsterGenInfo[g_nNumOfMonGenInfo + 1];

	sprintf( szQuery, "SELECT * FROM TBL_MONGEN ORDER BY FLD_MAPNAME");

	pRec = g_pConnCommon->CreateRecordset();
	
	if (pRec->Execute( szQuery ))
	{
		for (int i = 0; i < g_nNumOfMonGenInfo; i++)
		{
			if (pRec->Fetch())								 
			{
				strcpy(g_pMonGenInfo[i].szMapName, pRec->Get( "FLD_MAPNAME" ) );
				strcpy(g_pMonGenInfo[i].szMonName, pRec->Get( "FLD_MONNAME" ) );
				
				g_pMonGenInfo[i].dwZenTime		= atoi( pRec->Get( "FLD_GENTIME" ) ) * 60000;
				g_pMonGenInfo[i].dwStartTime	= 0;

				g_pMonGenInfo[i].nMonIndex		= atoi( pRec->Get( "FLD_MONINDEX" ) );

				g_pMonGenInfo[i].nCount			= atoi( pRec->Get( "FLD_COUNT" ) );

				g_pMonGenInfo[i].nX				= atoi( pRec->Get( "FLD_X" ) );
				g_pMonGenInfo[i].nY				= atoi( pRec->Get( "FLD_Y" ) );

				g_pMonGenInfo[i].nAreaX			= atoi( pRec->Get( "FLD_AREA_X" ) );
				g_pMonGenInfo[i].nAreaY			= atoi( pRec->Get( "FLD_AREA_Y" ) );
			}
		}

		InsertLogMsgParam(IDS_FETCH_MONGEN, &g_nNumOfMonGenInfo, LOGPARAM_INT);
	}

	g_pConnCommon->DestroyRecordset( pRec );
}

// **************************************************************************************
//
//		Initializing Monster Item Generate Information
//
// **************************************************************************************

void InitMonItemInfo()
{
	int			nMonIndex;
	char		szQuery[1024];
	CRecordset *pRec = g_pConnCommon->CreateRecordset();

	sprintf( szQuery, "SELECT * FROM TBL_MONITEM");

	if (pRec->Execute( szQuery ))
	{
		while (pRec->Fetch())
		{
			nMonIndex = atoi( pRec->Get( "FLD_MONSTER" ));

			CMonItem* pMonItem = new CMonItem;

			if (pMonItem)
			{
				pMonItem->m_btItemType	= atoi( pRec->Get( "FLD_TYPE" ));
				pMonItem->m_wItemIndex	= atoi( pRec->Get( "FLD_ITEM" ));
				pMonItem->m_nPoint		= atoi( pRec->Get( "FLD_PROBABLY" ));
				pMonItem->m_wCount		= atoi( pRec->Get( "FLD_COUNT" ));
			
				if (g_pMonRaceInfo && (nMonIndex <= g_nNumOfMonRaceInfo))
					g_pMonRaceInfo[nMonIndex].m_xMonItemList.AddNewNode(pMonItem);
			}
		}	
	}

	g_pConnCommon->DestroyRecordset( pRec );
}

// **************************************************************************************
//
//		Initializing Monster Information
//
// **************************************************************************************

void InitMonRaceInfo()
{
	char szQuery[1024];

	CRecordset *pRec = g_pConnCommon->CreateRecordset();
	sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_MONSTER");

⌨️ 快捷键说明

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