📄 cmsdbmsgparser.cpp
字号:
InsertLogTool( eToolLog_RM, eRMLog_ItemInsert, pData->dwIdx, pData->sID, dwCharIdx, name,
item.dwDBIdx, item.wIconIdx, item.Position, item.Durability );
// InsertItemMoneyLog( 0, "", dwCharIdx, name, eLog_RMTool, 0, 0, 0, item.wIconIdx, item.dwDBIdx,
// item.Position, item.Position, item.Durability, 0 );
}
}
void PyogukItemInsert( WORD wConnectIdx, WORD wTempIdx, DWORD dwUserIdx, ITEMBASE* pItem, ITEM_OPTION_INFO* pOptionInfo )
{
// char txt[256];
sprintf(txt, "EXEC RP_PyogukItemInsert %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
dwUserIdx,
pItem->wIconIdx,
pItem->Durability,
pItem->Position,
pOptionInfo->dwOptionIdx,
pOptionInfo->GenGol,
pOptionInfo->MinChub,
pOptionInfo->CheRyuk,
pOptionInfo->SimMek,
pOptionInfo->Life,
pOptionInfo->NaeRyuk,
pOptionInfo->Shield,
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyAttack,
pOptionInfo->CriticalPercent,
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyDefense);
if(g_DB.Query(eQueryType_FreeQuery, ePyogukItemInsert, MAKEDWORD(wConnectIdx, wTempIdx), txt) == FALSE)
{
}
}
void RPyogukItemInsert(LPQUERY pData, LPDBMESSAGE pMessage)
{
WORD tempIdx = HIWORD( pMessage->dwID );
WORD connectIdx = LOWORD( pMessage->dwID );
DWORD count = pMessage->dwResult;
if( pMessage->dwResult == 1 )
{
DWORD dwCharIdx = (DWORD)atoi((char*)pData[0].Data[0]);
DWORD dwItemDBIdx = (DWORD)atoi((char*)pData[0].Data[1]);
DWORD dwItemIdx = (DWORD)atoi((char*)pData[0].Data[2]);
WORD wItemPos = (WORD)atoi((char*)pData[0].Data[3]);
WORD wItemQPos = (WORD)atoi((char*)pData[0].Data[4]);
DWORD dwItemDu = (DWORD)atoi((char*)pData[0].Data[5]);
DWORD dwMunpaIdx = (DWORD)atoi((char*)pData[0].Data[6]);
DWORD dwPyogukIdx = (DWORD)atoi((char*)pData[0].Data[7]);
// log
OPERID* pData = IPCHECKMGR->GetID( connectIdx );
if( strcmp(pData->sID, "") == 0 )
return;
InsertLogTool( eToolLog_RM, eRMLog_ItemInsert, pData->dwIdx, pData->sID, dwPyogukIdx, "",
dwItemDBIdx, dwItemIdx, wItemPos, dwItemDu );
// InsertItemMoneyLog( 0, "", dwPyogukIdx, "", eLog_RMTool, 0, 0, 0, dwItemIdx, dwItemDBIdx,
// wItemPos, wItemPos, dwItemDu, 0 );
}
}
void MunpaItemInsert( WORD wConnectIdx, WORD wTempIdx, DWORD dwMunpaIdx, ITEMBASE* pItem, ITEM_OPTION_INFO* pOptionInfo )
{
// char txt[256];
sprintf(txt, "EXEC RP_MunpaItemInsert %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
dwMunpaIdx,
pItem->wIconIdx,
pItem->Durability,
pItem->Position,
pOptionInfo->dwOptionIdx,
pOptionInfo->GenGol,
pOptionInfo->MinChub,
pOptionInfo->CheRyuk,
pOptionInfo->SimMek,
pOptionInfo->Life,
pOptionInfo->NaeRyuk,
pOptionInfo->Shield,
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyAttack,
pOptionInfo->CriticalPercent,
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyDefense);
if(g_DB.Query(eQueryType_FreeQuery, eMunpaItemInsert, MAKEDWORD(wConnectIdx, wTempIdx), txt) == FALSE)
{
}
}
void RMunpaItemInsert(LPQUERY pData, LPDBMESSAGE pMessage)
{
WORD tempIdx = HIWORD( pMessage->dwID );
WORD connectIdx = LOWORD( pMessage->dwID );
DWORD count = pMessage->dwResult;
if( pMessage->dwResult == 1 )
{
DWORD dwCharIdx = (DWORD)atoi((char*)pData[0].Data[0]);
DWORD dwItemDBIdx = (DWORD)atoi((char*)pData[0].Data[1]);
DWORD dwItemIdx = (DWORD)atoi((char*)pData[0].Data[2]);
WORD wItemPos = (WORD)atoi((char*)pData[0].Data[3]);
WORD wItemQPos = (WORD)atoi((char*)pData[0].Data[4]);
DWORD dwItemDu = (DWORD)atoi((char*)pData[0].Data[5]);
DWORD dwMunpaIdx = (DWORD)atoi((char*)pData[0].Data[6]);
DWORD dwPyogukIdx = (DWORD)atoi((char*)pData[0].Data[7]);
// log
OPERID* pData = IPCHECKMGR->GetID( connectIdx );
if( strcmp(pData->sID, "") == 0 )
return;
InsertLogTool( eToolLog_RM, eRMLog_ItemInsert, pData->dwIdx, pData->sID, dwMunpaIdx, "",
dwItemDBIdx, dwItemIdx, wItemPos, dwItemDu );
// InsertItemMoneyLog( 0, "", dwMunpaIdx, "", eLog_RMTool, 0, 0, 0, dwItemIdx, dwItemDBIdx,
// wItemPos, wItemPos, dwItemDu, 0 );
}
}
void ItemUpdate(DWORD dwDBIdx, ITEMBASE* pItem)
{
// char txt[128];
sprintf(txt, "EXEC RP_ItemUpdate %d, %d, %d, %d", dwDBIdx, pItem->wIconIdx, pItem->Durability, pItem->Position);
if(g_DB.Query(eQueryType_FreeQuery, eItemUpdate, 0, txt) == FALSE)
{
}
}
void ItemOptionUpdate(DWORD dwItemDBIdx, ITEM_OPTION_INFO* pOptionInfo)
{
// char txt[256];
sprintf(txt, "EXEC RP_ItemOptionUpdate %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
dwItemDBIdx,
pOptionInfo->GenGol,
pOptionInfo->MinChub,
pOptionInfo->CheRyuk,
pOptionInfo->SimMek,
pOptionInfo->Life,
pOptionInfo->NaeRyuk,
pOptionInfo->Shield,
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyAttack,
pOptionInfo->CriticalPercent,
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyDefense);
if(g_DB.Query(eQueryType_FreeQuery, eItemOptionUpdate, 0, txt) == FALSE)
{
}
}
void ItemOptionInsert(DWORD dwItemDBIdx, ITEM_OPTION_INFO* pOptionInfo)
{
// char txt[256];
sprintf(txt, "EXEC RP_ItemOptionInsert %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
dwItemDBIdx,
pOptionInfo->GenGol,
pOptionInfo->MinChub,
pOptionInfo->CheRyuk,
pOptionInfo->SimMek,
pOptionInfo->Life,
pOptionInfo->NaeRyuk,
pOptionInfo->Shield,
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrRegist.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyAttack,
pOptionInfo->CriticalPercent,
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_FIRE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_WATER)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_TREE)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_IRON)),
(int)(pOptionInfo->AttrAttack.GetElement_Val(ATTR_EARTH)),
pOptionInfo->PhyDefense);
if(g_DB.Query(eQueryType_FreeQuery, eItemOptionInsert, 0, txt) == FALSE)
{
}
}
void ItemOptionDelete(DWORD dwItemDBIdx)
{
// char txt[128];
sprintf(txt, "EXEC RP_ItemOptionDelete %d", dwItemDBIdx);
if(g_DB.Query(eQueryType_FreeQuery, eItemOptionDelete, 0, txt) == FALSE)
{
}
}
void MugongInsert(DWORD dwCharIdx, MUGONGBASE* pMugong)
{
// char txt[128];
sprintf(txt, "EXEC RP_MugongInsert %d, %d, %d, %d, %d, %d", dwCharIdx, pMugong->wIconIdx, pMugong->ExpPoint, pMugong->Sung, pMugong->Position, pMugong->bWear);
if(g_DB.Query(eQueryType_FreeQuery, eMugongInsert, 0, txt) == FALSE)
{
}
}
void MugongUpdate(DWORD dwMugongDBIdx, MUGONGBASE* pMugong)
{
// char txt[128];
sprintf(txt, "EXEC RP_MugongUpdate %d, %d, %d, %d", dwMugongDBIdx, pMugong->wIconIdx, pMugong->ExpPoint, pMugong->Sung);
if(g_DB.Query(eQueryType_FreeQuery, eMugongUpdate, 0, txt) == FALSE)
{
}
}
void MugongDelete(DWORD dwMugongDBIdx)
{
// char txt[128];
sprintf(txt, "EXEC RP_MugongDelete %d", dwMugongDBIdx);
if(g_DB.Query(eQueryType_FreeQuery, eMugongDelete, 0, txt) == FALSE)
{
}
}
void AbilityUpdate(DWORD dwCharIdx, ABILITY_TOTALINFO* pAbility)
{
// char txt[256];
sprintf(txt, "RP_AbilityUpdate %d, \'%s\', \'%s\', \'%s\', \'%s\'",
dwCharIdx, pAbility->AbilityDataArray[eAGK_Battle], pAbility->AbilityDataArray[eAGK_KyungGong],
pAbility->AbilityDataArray[eAGK_Society], pAbility->AbilityDataArray[eAGK_Job]);
if(g_DB.Query(eQueryType_FreeQuery, eAbilityUpdate, 0, txt) == FALSE)
{
}
}
void CharacterWearItemUpdate(DWORD dwCharIdx, BYTE type, WORD wItemIdx)
{
// char txt[256];
sprintf(txt, "RP_CharacterWearItemUpdate %d, %d, %d", dwCharIdx, type, wItemIdx);
if(g_DB.Query(eQueryType_FreeQuery, eCharacterWearItemUpdate, 0, txt) == FALSE)
{
}
}
//---------------------------------------------------------------------------------------------
// DBResult Callback Function List
// Programmer°¡ »ç¿ëÇÏ´Â ºÎºÐ
// parameter : (LPQUERY pData, LPDBMESSAGE pMessage)
void RInsertIpAdress(LPQUERY pData, LPDBMESSAGE pMessage)
{
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
WORD wEcode = atoi((char*)pData[0].Data[0]);
TMSGBASE Msg;
Msg.Category = MP_RMTOOL_ADMIN;
if( wEcode == 0 )
Msg.Protocol = MP_RMTOOL_ADMIN_INSERTIP_ACK;
else
Msg.Protocol = MP_RMTOOL_ADMIN_INSERTIP_NACK;
Msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
}
void RInsertOperator(LPQUERY pData, LPDBMESSAGE pMessage)
{
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
WORD wEcode = atoi((char*)pData[0].Data[0]);
TMSGBASE Msg;
Msg.Category = MP_RMTOOL_ADMIN;
if( wEcode == 0 )
Msg.Protocol = MP_RMTOOL_ADMIN_INSERTOPERATOR_ACK;
else
Msg.Protocol = MP_RMTOOL_ADMIN_INSERTOPERATOR_NACK;
Msg.dwTemplateIdx = tempIdx;
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
}
void RTotalIpAdressInfo(LPQUERY pData, LPDBMESSAGE pMessage)
{
DWORD count = pMessage->dwResult;
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
TMSG_IPTOTALINFO Msg;
memset(&Msg, 0, sizeof(Msg));
if( pMessage->dwResult == 0 )
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.Category = MP_RMTOOL_ADMIN;
Msg.Protocol = MP_RMTOOL_ADMIN_IPINFO;
Msg.dwTemplateIdx = tempIdx;
Msg.bEnd = TRUE;
Msg.wCount = 0;
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
return;
}
DWORD startIdx = 0;
Msg.wCount = 0;
for( DWORD i = 0 ; i < pMessage->dwResult ; ++i )
{
Msg.sIP[Msg.wCount].dwIPIdx = atoi((char*)pData[i].Data[eII_IPIdx]);
strcpy( Msg.sIP[Msg.wCount].strIP, (char*)pData[i].Data[eII_IPAdress]);
strcpy(Msg.sIP[Msg.wCount].strRegDate, (char*)pData[i].Data[eII_Date]);
strcat(Msg.sIP[Msg.wCount].strRegDate, " ");
strcat(Msg.sIP[Msg.wCount].strRegDate, (char*)pData[i].Data[eII_Time]);
startIdx = Msg.sIP[Msg.wCount].dwIPIdx;
Msg.wCount++;
}
Msg.Category = MP_RMTOOL_ADMIN;
Msg.Protocol = MP_RMTOOL_ADMIN_IPINFO;
Msg.dwTemplateIdx = tempIdx;
if( pMessage->dwResult >= 100)
{
Msg.bEnd = FALSE;
TotalIpAdressInfo(connectIdx, tempIdx, startIdx);
}
else
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.bEnd = TRUE;
}
MNETWORK->SendToMC(connectIdx, (char*)&Msg, sizeof(Msg));
}
void RTotalOperatorInfo(LPQUERY pData, LPDBMESSAGE pMessage)
{
DWORD count = pMessage->dwResult;
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
TMSG_OPERTOTALINFO Msg;
memset(&Msg, 0, sizeof(Msg));
if( pMessage->dwResult == 0 )
{
// ÇöÀç ±îÁöÀÇ Á¤º¸°¡ ÀüºÎÀÌ´Ù ¶ó°í ¾Ë¸°´Ù.
Msg.Category = MP_RMTOOL_ADMIN;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -