📄 mssystem.cpp
字号:
}
void CMSSystem::MunpaMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_MUNPASEARCH_SYN)
{
TMSG_MUNPASEARCH* msg = (TMSG_MUNPASEARCH*)pMsg;
// ÀÎÀÚ·Î Äõ¸®¸¦ ³¯¸°´Ù.
SearchMunpaIdxByName((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->wServer, msg->strSearch);
}
yCASE(MP_RMTOOL_MUNPAINFO_RESYN)
{
TMSG_DWORD* msg = (TMSG_DWORD*)pMsg;
MunpaBaseInfo(dwConnectionIndex, msg->dwTemplateIdx, msg->dwData);
}
}
yENDSWITCH
}
void CMSSystem::GameLogMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_QUERY_CHARIDX_SYN)
{
TMSG_CHECKNAME* pmsg = (TMSG_CHECKNAME*)pMsg;
SearchCharIdxFromCharName( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->sName );
}
yCASE(MP_RMTOOL_ITEMMONEYLOGFROMTYPE_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
ItemMoneyLogFromType( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->wType,
pmsg->dwChrIdx, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_CHARACTERLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
CharacterLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_EXPPOINTLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
ExpPointLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_MUGONGLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
MugongLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_MUGONGEXPLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
MugongExpLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_MONEYLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
MoneyLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_MONEYWRONGLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
MoneyWrongLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_ABILITYLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
AbilityLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_CHEATLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
CheatLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_HACKINGLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
HackingLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->dwItem, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
yCASE(MP_RMTOOL_TOOLLOG_SYN)
{
TMSG_GAMELOGSEARCH* pmsg = (TMSG_GAMELOGSEARCH*)pMsg;
ToolLog( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, 0, pmsg->wType, pmsg->sName, pmsg->bDayOnly, pmsg->sSDate, pmsg->sEDate );
}
}
yENDSWITCH
}
void CMSSystem::OperLogMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
}
void CMSSystem::StatisticsMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
}
void CMSSystem::AdminMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
OPERID* pData = IPCHECKMGR->GetID( dwConnectionIndex );
if( strcmp(pData->sID, "") == 0 )
return;
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_ADMIN_TOTALINFO_SYN)
{
TMSG_DWORD* msg = (TMSG_DWORD*)pMsg;
// DB¿¡ ¿î¿µÀÚ Á¤º¸¹× ¾ÆÀÌÇÇ Á¤º¸¸¦ ¿äûÇÑ´Ù.
TotalIpAdressInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, 0);
TotalOperatorInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, 0, msg->dwData);
}
yCASE(MP_RMTOOL_ADMIN_INSERTOPERATOR_SYN)
{
TMSG_ADMIN_INSERTOPERATOR* msg = (TMSG_ADMIN_INSERTOPERATOR*)pMsg;
InsertOperator((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->strID, msg->strName, msg->strPass, msg->wPower);
// log
InsertLogTool( eToolLog_RM, eRMLog_OperInsert, pData->dwIdx, pData->sID, msg->wPower, msg->strID, 0, 0, 0, 0 );
}
yCASE(MP_RMTOOL_ADMIN_DELETEOPERATOR_SYN)
{
TMSG_DWORD* pmsg = (TMSG_DWORD*)pMsg;
DeleteOperator( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData );
// log
InsertLogTool( eToolLog_RM, eRMLog_OperDelete, pData->dwIdx, pData->sID, pmsg->dwData, "", 0, 0, 0, 0 );
}
yCASE(MP_RMTOOL_ADMIN_INSERTIP_SYN)
{
TMSG_ADMIN_INSERTIP* msg = (TMSG_ADMIN_INSERTIP*)pMsg;
InsertIpAdress((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->strIP);
// log
InsertLogTool( eToolLog_RM, eRMLog_IpInsert, pData->dwIdx, pData->sID, 0, msg->strIP, 0, 0, 0, 0 );
}
yCASE(MP_RMTOOL_ADMIN_DELETEIP_SYN)
{
TMSG_DWORD* pmsg = (TMSG_DWORD*)pMsg;
DeleteIpAdress( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData );
// log
InsertLogTool( eToolLog_RM, eRMLog_IpDelete, pData->dwIdx, pData->sID, pmsg->dwData, "", 0, 0, 0, 0 );
}
}
yENDSWITCH
}
void CMSSystem::CharacterMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
OPERID* pData = IPCHECKMGR->GetID( dwConnectionIndex );
if( strcmp(pData->sID, "") == 0 )
return;
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_CHARACTERINFO_SYN)
{
TMSG_DWORD3* msg = (TMSG_DWORD3*)pMsg;
// DB¿¡ ij¸¯Á¤º¸ ¿äû (¼¹ö¿¡ µû¸¥ ij¸¯ÅÍ Á¤º¸ °¡Á®¿À´Â ·çƾ..)
// msg->dwData1 : ¼¹öÀ妽º, msg->dwData2 : À¯ÀúÀ妽º, msg->dwData3 : ij¸¯ÅÍÀ妽º
CharacterBaseInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData3);
// CharacterInvenInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData3);
CharacterPyogukInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData2);
CharacterMugongInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData3);
CharacterAbilityInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData3);
CharacterItemOptionInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData2, msg->dwData3, 0);
CharacterInvenInfo2((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->dwData3);
}
yCASE(MP_RMTOOL_CHARACTER_UPDATE_BASEINFO)
{
TMSG_CHARACTER_UPDATEBASEINFO* msg = (TMSG_CHARACTER_UPDATEBASEINFO*)pMsg;
UpdateCharacterBaseInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg);
// log
WORD wLevel = msg->Level;
WORD wGenGol = msg->wGenGol;
WORD wMinChub = msg->wMinChub;
WORD wCheRyuk = msg->wCheRyuk;
WORD wSimMek = msg->wSimMek;
WORD wPoint = (WORD)msg->LevelUpPoint;
WORD wMoney = (WORD)msg->Money;
WORD wAbilPoint = (WORD)msg->AbilityExp;
DWORD dwParam1 = (wLevel << 16) + wGenGol;
DWORD dwParam2 = (wMinChub << 16) + wCheRyuk;
DWORD dwParam3 = (wSimMek << 16) + wPoint;
DWORD dwParam4 = (wMoney << 16) + wAbilPoint;
InsertLogTool( eToolLog_RM, eRMLog_ChangeCharacterInfo, pData->dwIdx, pData->sID, msg->CharIdx, msg->ObjectName,
dwParam1, dwParam2, dwParam3, dwParam4 );
}
yCASE(MP_RMTOOL_CHARACTER_UPDATE_PYOGUKINFO)
{
TMSG_CHARACTER_PYOGUKINFO* msg = (TMSG_CHARACTER_PYOGUKINFO*)pMsg;
UpdateCharacterPyogukInfo((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->m_dwUserIdx,
msg->m_wPyogukNum, msg->m_dwMoney);
// log
InsertLogTool( eToolLog_RM, eRMLog_ChangeWareInfo, pData->dwIdx, pData->sID, msg->m_dwUserIdx, msg->m_sUserName, msg->m_wPyogukNum, msg->m_dwMoney, 0, 0 );
}
yCASE(MP_RMTOOL_CHARACTER_INSERTMUGONG)
{
TMSG_MUGONG_EDIT* msg = (TMSG_MUGONG_EDIT*)pMsg;
MugongInsert(msg->dwData, &msg->Mugong);
// log
InsertLogTool( eToolLog_RM, eRMLog_SkillInsert, pData->dwIdx, pData->sID, msg->dwData, msg->sName,
msg->Mugong.wIconIdx, msg->Mugong.Position, msg->Mugong.Sung, msg->Mugong.ExpPoint );
}
yCASE(MP_RMTOOL_CHARACTER_UPDATEMUGONG)
{
TMSG_MUGONG_EDIT* msg = (TMSG_MUGONG_EDIT*)pMsg;
MugongUpdate(msg->Mugong.dwDBIdx, &msg->Mugong);
// log
InsertLogTool( eToolLog_RM, eRMLog_SkillUpdate, pData->dwIdx, pData->sID, msg->dwData, msg->sName,
msg->Mugong.wIconIdx, msg->Mugong.Position, msg->Mugong.Sung, msg->Mugong.ExpPoint );
}
yCASE(MP_RMTOOL_CHARACTER_DELETEMUGONG)
{
TMSG_MUGONG_EDIT* msg = (TMSG_MUGONG_EDIT*)pMsg;
MugongDelete( msg->Mugong.dwDBIdx );
// log
InsertLogTool( eToolLog_RM, eRMLog_SkillDelete, pData->dwIdx, pData->sID, msg->dwData, msg->sName,
msg->Mugong.wIconIdx, msg->Mugong.Position, msg->Mugong.Sung, msg->Mugong.ExpPoint );
}
yCASE(MP_RMTOOL_CHARACTER_UPDATE_ABILLITYINFO)
{
TMSG_CHARACTER_UPDATE_ABILITY* msg = (TMSG_CHARACTER_UPDATE_ABILITY*)pMsg;
AbilityUpdate(msg->dwCharIdx, &msg->sAbility);
// log
// InsertLogTool( eToolLog_RM, eRMLog_AbilityUpdate, pData->dwIdx, pData->sID, msg->dwCharIdx, msg->sName,
// msg->sAbility , 0, 0 );
}
yCASE(MP_RMTOOL_CHARACTER_MAINQUESTINFO_SYN)
{
TMSG_DWORD* pmsg = (TMSG_DWORD*)pMsg;
CharacterMainQuestInfo( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData );
}
yCASE(MP_RMTOOL_CHARACTER_MAINQUESTDELETE)
{
TMSG_NAME_DWORD* pmsg = (TMSG_NAME_DWORD*)pMsg;
MainQuestDelete( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwChrIdx, pmsg->dwData );
// log
InsertLogTool( eToolLog_RM, eRMLog_QuestDelete, pData->dwIdx, pData->sID, pmsg->dwChrIdx, pmsg->sName,
pmsg->dwData, 0, 0, 0 );
}
yCASE(MP_RMTOOL_CHARACTER_SUBQUESTINFO_SYN)
{
TMSG_DWORD2* pmsg = (TMSG_DWORD2*)pMsg;
CharacterSubQuestInfo( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2 );
}
yCASE(MP_RMTOOL_CHARACTER_CHANGE_LOGINPOINT_SYN)
{
TMSG_NAME_DWORD* pmsg = (TMSG_NAME_DWORD*)pMsg;
ChangeLoginPoint( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwChrIdx, pmsg->dwData );
// log
InsertLogTool( eToolLog_RM, eRMLog_ChangeLoginPoint, pData->dwIdx, pData->sID, pmsg->dwChrIdx, pmsg->sName,
pmsg->dwData, 0, 0, 0 );
}
yCASE(MP_RMTOOL_CHANGE_ITEMPOSITION)
{
TMSG_DWORD3* pmsg = (TMSG_DWORD3*)pMsg;
ChangeItemPosition( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2, pmsg->dwData3 );
// log
// InsertLogTool( eToolLog_RM, eRMLog_ChangeItemPosition, pData->dwIdx, pData->sID, msg->wPower, msg->strID, 0, 0, 0 );
}
yCASE(MP_RMTOOL_CHANGE_WAREITEMPOSITION)
{
TMSG_DWORD3* pmsg = (TMSG_DWORD3*)pMsg;
ChangeWareItemPosition( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2, pmsg->dwData3 );
// log
// InsertLogTool( eToolLog_RM, eRMLog_ChangeWareItemPosition, pData->dwIdx, pData->sID, msg->wPower, msg->strID, 0, 0, 0 );
}
yCASE(MP_RMTOOL_CHANGE_MUGONGPOSITION)
{
TMSG_DWORD3* pmsg = (TMSG_DWORD3*)pMsg;
ChangeMugongPosition( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2, pmsg->dwData3 );
// log
// InsertLogTool( eToolLog_RM, eRMLog_ChangeSkillPosition, pData->dwIdx, pData->sID, msg->wPower, msg->strID, 0, 0, 0 );
}
}
yENDSWITCH
}
void CMSSystem::ItemMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
OPERID* pData = IPCHECKMGR->GetID( dwConnectionIndex );
if( strcmp(pData->sID, "") == 0 )
return;
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_INSERTITEM)
{
TMSG_ITEM_INSERT* msg = (TMSG_ITEM_INSERT*)pMsg;
if( msg->Item.dwDBIdx != 0 || msg->Item.wIconIdx == 0 || msg->dwTagetIdx == 0 )
return;
if(msg->bTable == 0) // Inven
{
InvenItemInsert( dwConnectionIndex, msg->dwTemplateIdx, msg->sCharName, msg->dwTagetIdx, &msg->Item, &msg->Option);
if( TP_WEAR_START <= msg->Item.Position && msg->Item.Position < TP_WEAR_END )
{
BYTE WearType = msg->Item.Position - TP_WEAR_START;
CharacterWearItemUpdate(msg->dwTagetIdx, WearType, msg->Item.wIconIdx);
}
}
else if(msg->bTable == 1) // Pyoguk
{
PyogukItemInsert( dwConnectionIndex, msg->dwTemplateIdx, msg->dwTagetIdx, &msg->Item, &msg->Option);
}
else if(msg->bTable == 2) // Munpa
{
MunpaItemInsert( dwConnectionIndex, msg->dwTemplateIdx, msg->dwTagetIdx, &msg->Item, &msg->Option);
}
else
return;
}
yCASE(MP_RMTOOL_UPDATEITEM)
{
TMSG_ITEM_UPDATE* msg = (TMSG_ITEM_UPDATE*)pMsg;
ItemUpdate( msg->dwDBIdx, &msg->Item );
if( msg->bDeleteOption == 1 ) // option »èÁ¦
ItemOptionDelete(msg->dwDBIdx);
else if( msg->Item.Durability != 0 && msg->Option.dwOptionIdx != 0 )
{
if( msg->Item.Durability == msg->Option.dwOptionIdx && msg->dwOptionIdx ) // Option ¼öÁ¤
ItemOptionUpdate(msg->dwDBIdx, &msg->Option);
else // Option ÷°¡
ItemOptionInsert(msg->dwDBIdx, &msg->Option);
}
if( TP_WEAR_START <= msg->Item.Position && msg->Item.Position < TP_WEAR_END )
{
BYTE WearType = msg->Item.Position - TP_WEAR_START;
CharacterWearItemUpdate(msg->dwCharIdx, WearType, msg->Item.wIconIdx);
}
// log
InsertLogTool( eToolLog_RM, eRMLog_ItemUpdate, pData->dwIdx, pData->sID, msg->dwCharIdx, msg->sCharName,
msg->dwDBIdx, msg->Item.wIconIdx, msg->Item.Position, msg->Item.Durability );
}
yCASE(MP_RMTOOL_DELETEITEM)
{
TMSG_ITEM_DELETE* msg = (TMSG_ITEM_DELETE*)pMsg;
if( msg->dwDBIdx != 0 )
{
ItemDelete(msg->dwDBIdx, msg->dwOptionIdx);
if( TP_WEAR_START <= msg->wItemPosition && msg->wItemPosition < TP_WEAR_END )
{
BYTE WearType = msg->wItemPosition - TP_WEAR_START;
CharacterWearItemUpdate(msg->dwCharIdx, WearType, 0);
}
// log
InsertLogTool( eToolLog_RM, eRMLog_ItemDelete, pData->dwIdx, pData->sID, msg->dwCharIdx, msg->sCharName,
msg->dwDBIdx, msg->dwItemIdx, 0, 0 );
}
}
}
yENDSWITCH
}
////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -