📄 cmsdbmsgparser.cpp
字号:
TMSG_GAMELOGITEM1 Msg;
memset(&Msg, 0, sizeof(Msg));
if( pMessage->dwResult == 0 )
{
TMSGBASE msg;
msg.Category = MP_RMTOOL_GAMELOG;
msg.Protocol = MP_RMTOOL_GAMELOGSEARCH_NACK;
msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC(connectIdx, (char*)&msg, sizeof(msg));
return;
}
strcpy(Msg.strCharName, (char*)pData[0].Data[eGI_CharName]);
Msg.bDayOnly = atoi((char*)pData[0].Data[eGI_Dayonly]);
strcpy(Msg.strStart, (char*)pData[0].Data[eGI_StartDate]);
strcpy(Msg.strEnd, (char*)pData[0].Data[eGI_EndDate]);
DWORD startIdx = 0;
Msg.wCount = 0;
for( DWORD i = 0 ; i < pMessage->dwResult ; ++i )
{
Msg.sLog[Msg.wCount].dwLogidx = atoi((char*)pData[i].Data[eGI_LogIdx]);
Msg.sLog[Msg.wCount].bLogtype = atoi((char*)pData[i].Data[eGI_LogType]);
Msg.sLog[Msg.wCount].dwCharIdx = atoi((char*)pData[i].Data[eGI_CharIdx]);
Msg.sLog[Msg.wCount].dwTargetIdx = atoi((char*)pData[i].Data[eGI_TargetIdx]);
strcpy(Msg.sLog[Msg.wCount].strTargetName, (char*)pData[i].Data[eGI_TargetName]);
Msg.sLog[Msg.wCount].dwItemIdx = atoi((char*)pData[i].Data[eGI_ItemIdx]);
Msg.sLog[Msg.wCount].dwItemDBIdx = atoi((char*)pData[i].Data[eGI_ItemDBIdx]);
strcpy(Msg.sLog[Msg.wCount].strLogdate, (char*)pData[i].Data[eGI_Logdate]);
strcat(Msg.sLog[Msg.wCount].strLogdate, " ");
strcat(Msg.sLog[Msg.wCount].strLogdate, (char*)pData[i].Data[eGI_Logtime]);
Msg.sLog[Msg.wCount].dwMoney = atoi((char*)pData[i].Data[eGI_Money]);
startIdx = Msg.sLog[Msg.wCount].dwLogidx;
Msg.wCount++;
}
Msg.Category = MP_RMTOOL_GAMELOG;
// Msg.Protocol = MP_RMTOOL_GAMELOG_ITEMMOVELOG;
Msg.dwTemplateIdx = tempIdx;
if( pMessage->dwResult >= 100)
{
Msg.bEnd = FALSE;
GameLogItemMoveLog( connectIdx, tempIdx, startIdx, 0, Msg.strCharName, Msg.bDayOnly, Msg.strStart, Msg.strEnd);
}
else
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.bEnd = TRUE;
}
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
}
void RGameLogItemObtainLog(LPQUERY pData, LPDBMESSAGE pMessage)
{
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
TMSG_GAMELOGITEM1 Msg;
memset(&Msg, 0, sizeof(Msg));
if( pMessage->dwResult == 0 )
{
TMSGBASE msg;
msg.Category = MP_RMTOOL_GAMELOG;
msg.Protocol = MP_RMTOOL_GAMELOGSEARCH_NACK;
msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC(connectIdx, (char*)&msg, sizeof(msg));
return;
}
strcpy(Msg.strCharName, (char*)pData[0].Data[eGI_CharName]);
Msg.bDayOnly = atoi((char*)pData[0].Data[eGI_Dayonly]);
strcpy(Msg.strStart, (char*)pData[0].Data[eGI_StartDate]);
strcpy(Msg.strEnd, (char*)pData[0].Data[eGI_EndDate]);
DWORD startIdx = 0;
Msg.wCount = 0;
for( DWORD i = 0 ; i < pMessage->dwResult ; ++i )
{
Msg.sLog[Msg.wCount].dwLogidx = atoi((char*)pData[i].Data[eGI_LogIdx]);
Msg.sLog[Msg.wCount].bLogtype = atoi((char*)pData[i].Data[eGI_LogType]);
Msg.sLog[Msg.wCount].dwCharIdx = atoi((char*)pData[i].Data[eGI_CharIdx]);
Msg.sLog[Msg.wCount].dwTargetIdx = atoi((char*)pData[i].Data[eGI_TargetIdx]);
strcpy(Msg.sLog[Msg.wCount].strTargetName, (char*)pData[i].Data[eGI_TargetName]);
Msg.sLog[Msg.wCount].dwItemIdx = atoi((char*)pData[i].Data[eGI_ItemIdx]);
Msg.sLog[Msg.wCount].dwItemDBIdx = atoi((char*)pData[i].Data[eGI_ItemDBIdx]);
strcpy(Msg.sLog[Msg.wCount].strLogdate, (char*)pData[i].Data[eGI_Logdate]);
strcat(Msg.sLog[Msg.wCount].strLogdate, " ");
strcat(Msg.sLog[Msg.wCount].strLogdate, (char*)pData[i].Data[eGI_Logtime]);
Msg.sLog[Msg.wCount].dwMoney = atoi((char*)pData[i].Data[eGI_Money]);
startIdx = Msg.sLog[Msg.wCount].dwLogidx;
Msg.wCount++;
}
Msg.Category = MP_RMTOOL_GAMELOG;
// Msg.Protocol = MP_RMTOOL_GAMELOG_ITEMOBTAINLOG;
Msg.dwTemplateIdx = tempIdx;
if( pMessage->dwResult >= 100)
{
Msg.bEnd = FALSE;
GameLogItemMoveLog( connectIdx, tempIdx, startIdx, 0, Msg.strCharName, Msg.bDayOnly, Msg.strStart, Msg.strEnd);
}
else
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.bEnd = TRUE;
}
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
}
void RGameLogBaseInfoLog(LPQUERY pData, LPDBMESSAGE pMessage)
{
}
void RGameLogMoneyLog(LPQUERY pData, LPDBMESSAGE pMessage)
{
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
TMSG_GAMELOGMONEY Msg;
memset(&Msg, 0, sizeof(Msg));
if( pMessage->dwResult == 0 )
{
TMSGBASE msg;
msg.Category = MP_RMTOOL_GAMELOG;
msg.Protocol = MP_RMTOOL_GAMELOGSEARCH_NACK;
msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC(connectIdx, (char*)&msg, sizeof(msg));
return;
}
strcpy(Msg.strCharName, (char*)pData[0].Data[eGLM_CharName]);
Msg.bDayOnly = atoi((char*)pData[0].Data[eGLM_Dayonly]);
strcpy(Msg.strStart, (char*)pData[0].Data[eGLM_StartDate]);
strcpy(Msg.strEnd, (char*)pData[0].Data[eGLM_EndDate]);
DWORD startIdx = 0;
Msg.wCount = 0;
for( DWORD i = 0 ; i < pMessage->dwResult ; ++i )
{
Msg.sLog[Msg.wCount].dwLogIdx = atoi((char*)pData[i].Data[eGLM_LogIdx]);
Msg.sLog[Msg.wCount].LogType = atoi((char*)pData[i].Data[eGLM_LogType]);
Msg.sLog[Msg.wCount].dwCharIdx = atoi((char*)pData[i].Data[eGLM_CharIdx]);
Msg.sLog[Msg.wCount].dwInvenMoney = atoi((char*)pData[i].Data[eGLM_InvenMoney]);
Msg.sLog[Msg.wCount].dwPyogukMoney = atoi((char*)pData[i].Data[eGLM_PyogukMoney]);
strcpy(Msg.sLog[Msg.wCount].strLogdate, (char*)pData[i].Data[eGLM_LogDate]);
strcat(Msg.sLog[Msg.wCount].strLogdate, " ");
strcat(Msg.sLog[Msg.wCount].strLogdate, (char*)pData[i].Data[eGLM_LogTime]);
startIdx = Msg.sLog[Msg.wCount].dwLogIdx;
Msg.wCount++;
}
Msg.Category = MP_RMTOOL_GAMELOG;
// Msg.Protocol = MP_RMTOOL_GAMELOG_MONEY;
Msg.dwTemplateIdx = tempIdx;
if( pMessage->dwResult >= 100)
{
Msg.bEnd = FALSE;
GameLogMoneyLog( connectIdx, tempIdx, startIdx, 0, Msg.strCharName, Msg.bDayOnly, Msg.strStart, Msg.strEnd);
}
else
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.bEnd = TRUE;
}
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
}
void RGameLogItemFromChrName( LPQUERY pData, LPDBMESSAGE pMessage )
{
/* WORD tempIdx = HIWORD( pMessage->dwID );
WORD connectIdx = LOWORD( pMessage->dwID );
TMSG_GAMELOGITEM Msg;
memset( &Msg, 0, sizeof(Msg) );
if( pMessage->dwResult == 0 )
{
TMSGBASE msg;
msg.Category = MP_RMTOOL_GAMELOG;
// msg.Protocol = MP_RMTOOL_GAMELOG_ITEM_NACK;
msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC( connectIdx, (char*)&msg, sizeof(msg) );
return;
}
strcpy( Msg.strChrName, (char*)pData[0].Data[eGLI_ChrName]);
Msg.bDayOnly = atoi((char*)pData[0].Data[eGLI_DayOnly]);
strcpy( Msg.strStart, (char*)pData[0].Data[eGLI_StartDate] );
strcpy( Msg.strEnd, (char*)pData[0].Data[eGLI_EndDate] );
Msg.wCount = 0;
DWORD startIdx = 0;
for( DWORD i = 0; i < pMessage->dwResult; ++i )
{
Msg.sLog[i].dwLogIdx = atoi((char*)pData[i].Data[eGLI_LogIdx]);
Msg.sLog[i].dwLogType = atoi((char*)pData[i].Data[eGLI_LogType]);
Msg.sLog[i].dwItemIdx = atoi((char*)pData[i].Data[eGLI_ItemIdx]);
Msg.sLog[i].dwItemDBIdx = atoi((char*)pData[i].Data[eGLI_ItemDBIdx]);
Msg.sLog[i].dwCurChrIdx = atoi((char*)pData[i].Data[eGLI_CurChrIdx]);
Msg.sLog[i].dwBeforeChrIdx = atoi((char*)pData[i].Data[eGLI_BeforeChrIdx]);
Msg.sLog[i].dwMoney = atoi((char*)pData[i].Data[eGLI_Money]);
strcpy( Msg.sLog[i].strLogDate, (char*)pData[i].Data[eGLI_LogDate] );
strcat( Msg.sLog[i].strLogDate, " ");
strcat( Msg.sLog[i].strLogDate, (char*)pData[i].Data[eGLI_LogTime] );
strcpy( Msg.sLog[i].strCurChrName, (char*)pData[i].Data[eGLI_CurChrName] );
strcpy( Msg.sLog[i].strBeforeChrName, (char*)pData[i].Data[eGLI_BeforeChrName] );
startIdx = Msg.sLog[i].dwLogIdx;
++Msg.wCount;
}
Msg.Category = MP_RMTOOL_GAMELOG;
// Msg.Protocol = MP_RMTOOL_GAMELOG_ITEM_ACK;
Msg.dwTemplateIdx = tempIdx;
if( pMessage->dwResult >= 100)
{
Msg.bEnd = FALSE;
GameLogItemFromChrName( connectIdx, tempIdx, startIdx, 0, Msg.bDayOnly, Msg.strStart, Msg.strEnd, Msg.strChrName );
}
else
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.bEnd = TRUE;
}
MNETWORK->SendToMC( connectIdx, (char*)&Msg, sizeof(Msg) );
*/
}
void RGameLogItemFromItemDBIndex( LPQUERY pData, LPDBMESSAGE pMessage )
{
WORD tempIdx = HIWORD( pMessage->dwID );
WORD connectIdx = LOWORD( pMessage->dwID );
TMSG_GAMELOGITEM Msg;
memset( &Msg, 0, sizeof(Msg) );
if( pMessage->dwResult == 0 )
{
TMSGBASE msg;
msg.Category = MP_RMTOOL_GAMELOG;
// msg.Protocol = MP_RMTOOL_GAMELOG_ITEM_NACK;
msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC( connectIdx, (char*)&msg, sizeof(msg) );
return;
}
Msg.dwItemDBIdx = atoi((char*)pData[0].Data[eGLI_ChrName]);
Msg.bDayOnly = atoi((char*)pData[0].Data[eGLI_DayOnly]);
strcpy( Msg.strStart, (char*)pData[0].Data[eGLI_StartDate] );
strcpy( Msg.strEnd, (char*)pData[0].Data[eGLI_EndDate] );
Msg.wCount = 0;
DWORD startIdx = 0;
for( DWORD i = 0; i < pMessage->dwResult; ++i )
{
Msg.sLog[i].dwLogIdx = atoi((char*)pData[i].Data[eGLI_LogIdx]);
Msg.sLog[i].dwLogType = atoi((char*)pData[i].Data[eGLI_LogType]);
Msg.sLog[i].dwItemIdx = atoi((char*)pData[i].Data[eGLI_ItemIdx]);
Msg.sLog[i].dwItemDBIdx = atoi((char*)pData[i].Data[eGLI_ItemDBIdx]);
Msg.sLog[i].dwCurChrIdx = atoi((char*)pData[i].Data[eGLI_CurChrIdx]);
Msg.sLog[i].dwBeforeChrIdx = atoi((char*)pData[i].Data[eGLI_BeforeChrIdx]);
Msg.sLog[i].dwMoney = atoi((char*)pData[i].Data[eGLI_Money]);
strcpy( Msg.sLog[i].strLogDate, (char*)pData[i].Data[eGLI_LogDate] );
strcat( Msg.sLog[i].strLogDate, " ");
strcat( Msg.sLog[i].strLogDate, (char*)pData[i].Data[eGLI_LogTime] );
strcpy( Msg.sLog[i].strCurChrName, (char*)pData[i].Data[eGLI_CurChrName] );
strcpy( Msg.sLog[i].strBeforeChrName, (char*)pData[i].Data[eGLI_BeforeChrName] );
startIdx = Msg.sLog[i].dwLogIdx;
++Msg.wCount;
}
Msg.Category = MP_RMTOOL_GAMELOG;
// Msg.Protocol = MP_RMTOOL_GAMELOG_ITEM_ACK;
Msg.dwTemplateIdx = tempIdx;
if( pMessage->dwResult >= 100)
{
Msg.bEnd = FALSE;
GameLogItemFromItemDBIndex( connectIdx, tempIdx, startIdx, 0, Msg.bDayOnly, Msg.strStart, Msg.strEnd, Msg.dwItemDBIdx );
}
else
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.bEnd = TRUE;
}
MNETWORK->SendToMC( connectIdx, (char*)&Msg, sizeof(Msg) );
}
// jsd add 04.08.25 -----------------------------
// IP Check
void TotalIpInfo( DWORD startIdx )
{
// char txt[128];
sprintf(txt, "EXEC RP_IpAdressInfo %d", startIdx);
if(g_DB.LoginQuery(eQueryType_FreeQuery, eTotalIpInfo, 0, txt) == FALSE)
{
}
}
void RTotalIpInfo( LPQUERY pData, LPDBMESSAGE pMessage )
{
IPCHECKMGR->Release();
DWORD count = pMessage->dwResult;
if( count == 0 )
return;
DWORD startIdx = 0;
for( DWORD i = 0; i < count; ++i )
{
IPCHECKMGR->RegistIP( (char*)pData[i].Data[eII_IPAdress] );
startIdx = atoi((char*)pData[i].Data[eII_IPIdx]);
}
// ip 100°³ ³ÑÀ¸¸é ¾ÈµÊ
// if( count >= 100)
// TotalIpInfo( startIdx );
}
// New Log
void ItemMoneyLogFromType( WORD wConnectIdx, WORD wTempIdx, DWORD dwStartIdx, WORD wLogType, DWORD dwCharIdx, DWORD dwItem, int nDay, char* sSDate, char* sEDate )
{
sprintf( txt, "EXEC TP_ItemMoneyLogFromType %d, %d, %d, %d, %d, \'%s\', \'%s\'", dwStartIdx, wLogType, dwCharIdx, dwItem, nDay, sSDate, sEDate );
if( g_DB.LogQuery(eQueryType_FreeQuery, eItemMoneyLogFromType, MAKEDWORD(wConnectIdx, wTempIdx), txt) == FALSE )
{
}
}
void RItemMoneyLogFromType( LPQUERY pData, LPDBMESSAGE pMessage )
{
WORD tempIdx = HIWORD( pMessage->dwID );
WORD connectIdx = LOWORD( pMessage->dwID );
TMSG_LOGITEMMONEY Msg;
memset( &Msg, 0, sizeof(TMSG_LOGITEMMONEY) );
if( pMessage->dwResult == 0 )
{
TMSGBASE msg;
msg.Category = MP_RMTOOL_GAMELOG;
msg.Protocol = MP_RMTOOL_GAMELOGSEARCH_NACK;
msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC( connectIdx, (char*)&msg, sizeof(TMSGBASE) );
return;
}
Msg.wCount = 0;
Msg.wType = atoi((char*)pData[0].Data[eIML_Type]);
Msg.dwCharIdx = atoi((char*)pData[0].Data[eIML_ChrName]);
Msg.dwItem = atoi((char*)pData[0].Data[eIML_Item]);
Msg.bDayOnly = atoi((char*)pData[0].Data[eIML_DayOnly]);
strcpy( Msg.sSDate, (char*)pData[0].Data[eIML_SDate] );
strcpy( Msg.sEDate, (char*)pData[0].Data[eIML_EDate] );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -