📄 handler_commondb.cpp
字号:
if (pRec->Execute( szQuery ))
{
if (pRec->Fetch())
g_nNumOfMonRaceInfo = atoi( pRec->Get( "FLD_COUNT" ) );
}
g_pConnCommon->DestroyRecordset( pRec );
if (g_nNumOfMonRaceInfo < 0) return;
g_pMonRaceInfo = new CMonRaceInfo[g_nNumOfMonRaceInfo];
sprintf( szQuery, "SELECT * FROM TBL_MONSTER ORDER BY FLD_INDEX");
pRec = g_pConnCommon->CreateRecordset();
if (pRec->Execute( szQuery ))
{
for (int i = 0; i < g_nNumOfMonRaceInfo; i++)
{
if (pRec->Fetch())
{
g_pMonRaceInfo[i].nIndex = i;
strcpy(g_pMonRaceInfo[i].szMonName, pRec->Get( "FLD_NAME" ) );
ChangeSpaceToNull(g_pMonRaceInfo[i].szMonName);
g_pMonRaceInfo[i].nMonRace = atoi( pRec->Get( "FLD_RACE" ) );
g_pMonRaceInfo[i].nAppear = atoi( pRec->Get( "FLD_APPR" ) );
g_pMonRaceInfo[i].btUndead = (BYTE)atoi( pRec->Get( "FLD_UNDEAD" ) );
g_pMonRaceInfo[i].Level = (BYTE)atoi( pRec->Get( "FLD_LEVEL" ) );
g_pMonRaceInfo[i].HP = atoi( pRec->Get( "FLD_HP" ) );
g_pMonRaceInfo[i].MP = atoi( pRec->Get( "FLD_MP" ) );
g_pMonRaceInfo[i].AC = atoi( pRec->Get( "FLD_AC" ) );
g_pMonRaceInfo[i].MAC = atoi( pRec->Get( "FLD_MAC" ) );
g_pMonRaceInfo[i].DC = MAKEWORD((BYTE)atoi( pRec->Get( "FLD_DC" ) ), (BYTE)atoi( pRec->Get( "FLD_MAXDC" ) ));
g_pMonRaceInfo[i].dwAttackSpeed = atoi( pRec->Get( "FLD_ATTACKSPEED" ) );
g_pMonRaceInfo[i].dwWalkSpeed = atoi( pRec->Get( "FLD_WALKSPEED" ) );
g_pMonRaceInfo[i].Speed = atoi( pRec->Get( "FLD_SPEED" ) );
g_pMonRaceInfo[i].Hit = atoi( pRec->Get( "FLD_HIT" ) );
g_pMonRaceInfo[i].ViewRange = (BYTE)atoi( pRec->Get( "FLD_VIEWRANGE" ) );
g_pMonRaceInfo[i].wRaceIndex = atoi( pRec->Get( "FLD_RACEINDEX" ) );
g_pMonRaceInfo[i].Exp = atoi( pRec->Get( "FLD_EXP" ) );
g_pMonRaceInfo[i].wEscape = atoi( pRec->Get( "FLD_ESCAPE" ) );
g_pMonRaceInfo[i].m_wWater = MAKEWORD((BYTE)atoi( pRec->Get( "FLD_WATER1" ) ), (BYTE)atoi( pRec->Get( "FLD_WATER2" ) ));
g_pMonRaceInfo[i].m_wFire = MAKEWORD((BYTE)atoi( pRec->Get( "FLD_FIRE1" ) ), (BYTE)atoi( pRec->Get( "FLD_FIRE2" ) ));
g_pMonRaceInfo[i].m_wWind = MAKEWORD((BYTE)atoi( pRec->Get( "FLD_WIND1" ) ), (BYTE)atoi( pRec->Get( "FLD_WIND2" ) ));
g_pMonRaceInfo[i].m_wLight = MAKEWORD((BYTE)atoi( pRec->Get( "FLD_LIGHT1" ) ), (BYTE)atoi( pRec->Get( "FLD_LIGHT2" ) ));
g_pMonRaceInfo[i].m_wEarth = MAKEWORD((BYTE)atoi( pRec->Get( "FLD_EARTH1" ) ), (BYTE)atoi( pRec->Get( "FLD_EARTH2" ) ));
}
}
InsertLogMsgParam(IDS_FETCH_MONSTER, &g_nNumOfMonRaceInfo, LOGPARAM_INT);
}
g_pConnCommon->DestroyRecordset( pRec );
InitMonItemInfo();
}
void InitMerchantInfo()
{
char szQuery[1024];
CRecordset *pRec = g_pConnCommon->CreateRecordset();
sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_MERCHANT");
if (pRec->Execute( szQuery ))
{
if (pRec->Fetch())
g_nNumOfMurchantInfo = atoi( pRec->Get( "FLD_COUNT" ) );
}
g_pConnCommon->DestroyRecordset( pRec );
if (g_nNumOfMurchantInfo < 0) return;
g_pMerchantInfo = new CMerchantInfo[g_nNumOfMurchantInfo];
sprintf( szQuery, "SELECT * FROM TBL_MERCHANT ORDER BY FLD_ID");
pRec = g_pConnCommon->CreateRecordset();
if (pRec->Execute( szQuery ))
{
for (int i = 0; i < g_nNumOfMurchantInfo; i++)
{
if (pRec->Fetch())
{
strcpy(g_pMerchantInfo[i].szNPCName, pRec->Get( "FLD_NPCNAME" ) );
ChangeSpaceToNull(g_pMerchantInfo[i].szNPCName);
strcpy(g_pMerchantInfo[i].szMapName, pRec->Get( "FLD_MAPNAME" ) );
ChangeSpaceToNull(g_pMerchantInfo[i].szMapName);
g_pMerchantInfo[i].nPosX = atoi( pRec->Get( "FLD_POSX" ) );
g_pMerchantInfo[i].nPosY = atoi( pRec->Get( "FLD_POSY" ) );
g_pMerchantInfo[i].sFace = atoi( pRec->Get( "FLD_FACE" ) );
g_pMerchantInfo[i].sBody = atoi( pRec->Get( "FLD_BODY" ) );
g_pMerchantInfo[i].sGender = atoi( pRec->Get( "FLD_GENDER" ) );
}
}
InsertLogMsgParam(IDS_FETCH_MERCHANT, &g_nNumOfMurchantInfo, LOGPARAM_INT);
}
g_pConnCommon->DestroyRecordset( pRec );
}
void InitMagicInfo()
{
char szQuery[1024];
CRecordset *pRec = g_pConnCommon->CreateRecordset();
sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_MAGIC");
if (pRec->Execute( szQuery ))
{
if (pRec->Fetch())
g_nNumOfMagicInfo = atoi( pRec->Get( "FLD_COUNT" ) );
}
g_pConnCommon->DestroyRecordset( pRec );
if (g_nNumOfMagicInfo < 0) return;
g_pMagicInfo = new CMagicInfo[g_nNumOfMagicInfo];
sprintf( szQuery, "SELECT * FROM TBL_MAGIC ORDER BY FLD_INDEX");
pRec = g_pConnCommon->CreateRecordset();
if (pRec->Execute( szQuery ))
{
for (int i = 0; i < g_nNumOfMagicInfo; i++)
{
if (pRec->Fetch())
{
g_pMagicInfo[i].nIndex = atoi( pRec->Get( "FLD_INDEX" ) );
strcpy(g_pMagicInfo[i].szName, pRec->Get( "FLD_NAME" ) );
ChangeSpaceToNull(g_pMagicInfo[i].szName);
g_pMagicInfo[i].sEffectType = atoi( pRec->Get( "FLD_EFFECTTYPE" ) );
g_pMagicInfo[i].sEffect = atoi( pRec->Get( "FLD_EFFECT" ) );
g_pMagicInfo[i].sSpell = atoi( pRec->Get( "FLD_SPELL" ) );
g_pMagicInfo[i].sPower = atoi( pRec->Get( "FLD_POWER" ) );
g_pMagicInfo[i].sMaxPower = atoi( pRec->Get( "FLD_MAXPOWER" ) );
g_pMagicInfo[i].sDefSpell = atoi( pRec->Get( "FLD_DEFSPELL" ) );
g_pMagicInfo[i].sDefPower = atoi( pRec->Get( "FLD_DEFPOWER" ) );
g_pMagicInfo[i].sDefMaxPower = atoi( pRec->Get( "FLD_DEFMAXPOWER" ) );
g_pMagicInfo[i].sJob = atoi( pRec->Get( "FLD_JOB" ) );
g_pMagicInfo[i].sNeed[0] = atoi( pRec->Get( "FLD_NEEDL1" ) );
g_pMagicInfo[i].nTrain[0] = atoi( pRec->Get( "FLD_L1TRAIN" ) );
g_pMagicInfo[i].sNeed[1] = atoi( pRec->Get( "FLD_NEEDL2" ) );
g_pMagicInfo[i].nTrain[1] = atoi( pRec->Get( "FLD_L2TRAIN" ) );
g_pMagicInfo[i].sNeed[2] = atoi( pRec->Get( "FLD_NEEDL3" ) );
g_pMagicInfo[i].nTrain[2] = atoi( pRec->Get( "FLD_L3TRAIN" ) );
g_pMagicInfo[i].sDelay = atoi( pRec->Get( "FLD_DELAY" ) );
}
}
InsertLogMsgParam(IDS_FETCH_MAGICDATA, &g_nNumOfMagicInfo, LOGPARAM_INT);
}
g_pConnCommon->DestroyRecordset( pRec );
}
void InitMoveMapEventInfo()
{
char szQuery[1024];
CRecordset *pRec = g_pConnCommon->CreateRecordset();
sprintf( szQuery, "SELECT COUNT(*) AS FLD_COUNT FROM TBL_MOVEMAPEVENT");
if (pRec->Execute( szQuery ))
{
if (pRec->Fetch())
g_nNumOfMoveMapEventInfo = atoi( pRec->Get( "FLD_COUNT" ) );
}
g_pConnCommon->DestroyRecordset( pRec );
if (g_nNumOfMoveMapEventInfo < 0) return;
g_pMoveMapEventInfo = new CMoveMapEventInfo[g_nNumOfMoveMapEventInfo];
sprintf( szQuery, "SELECT * FROM TBL_MOVEMAPEVENT ORDER BY FLD_INDEX");
pRec = g_pConnCommon->CreateRecordset();
if (pRec->Execute( szQuery ))
{
for (int i = 0; i < g_nNumOfMoveMapEventInfo; i++)
{
if (pRec->Fetch())
{
strcpy(g_pMoveMapEventInfo[i].szSMapFileName, pRec->Get( "FLD_SMAPFILENAME" ) );
strcpy(g_pMoveMapEventInfo[i].szDMapFileName, pRec->Get( "FLD_DMAPFILENAME" ) );
g_pMoveMapEventInfo[i].nSX = atoi( pRec->Get( "FLD_SX" ) );
g_pMoveMapEventInfo[i].nSY = atoi( pRec->Get( "FLD_SY" ) );
g_pMoveMapEventInfo[i].nDX = atoi( pRec->Get( "FLD_DX" ) );
g_pMoveMapEventInfo[i].nDY = atoi( pRec->Get( "FLD_DY" ) );
g_pMoveMapEventInfo[i].fIsOpen = FALSE;
}
}
InsertLogMsgParam(IDS_FETCH_MOVEMAPEVENT, &g_nNumOfMoveMapEventInfo, LOGPARAM_INT);
}
g_pConnCommon->DestroyRecordset( pRec );
}
CMagicInfo* GetMagicInfo(int nMagicID)
{
if (g_pMagicInfo[nMagicID].nIndex == nMagicID)
return &g_pMagicInfo[nMagicID];
for (int i = 0; i < g_nNumOfMagicInfo; i++)
{
if (g_pMagicInfo[i].nIndex == nMagicID)
return &g_pMagicInfo[i];
}
return NULL;
}
CMonsterGenInfo* GetMonGenInfo(char *pszMonName)
{
int nCmpLen;
int nLen = memlen(pszMonName) - 1;
for (int i = 0; i < g_nNumOfMonGenInfo; i++)
{
nCmpLen = memlen(g_pMonGenInfo[i].szMonName) - 1;
if (nCmpLen == nLen)
{
if (memcmp(g_pMonGenInfo[i].szMonName, pszMonName, nLen) == 0)
return &g_pMonGenInfo[i];
}
}
return NULL;
}
CMonRaceInfo* GetMonRaceInfo(char *pszMonName)
{
int nCmpLen;
int nLen = memlen(pszMonName) - 1;
for (int i = 0; i < g_nNumOfMonRaceInfo; i++)
{
nCmpLen = memlen(g_pMonRaceInfo[i].szMonName) - 1;
if (nCmpLen == nLen)
{
if (memcmp(g_pMonRaceInfo[i].szMonName, pszMonName, nLen) == 0)
return &g_pMonRaceInfo[i];
}
}
return NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -