📄 mssystem.cpp
字号:
MNETWORK->SendToMC(dwConnectionIndex, (char*)&Msg, sizeof(Msg));
return;
}
}
OperatorLoginCheck(dwConnectionIndex, msg->sOper.strOperID, msg->sOper.strOperPWD, strIP);
}
}
}
yENDSWITCH
}
void CMSSystem::UserMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_USERSEARCH_SYN)
{
TMSG_DWORD2* pmsg = (TMSG_DWORD2*)pMsg;
SearchUserInfoFromMemberNum( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, (WORD)pmsg->dwData2 );
}
yCASE(MP_RMTOOL_SIMPLECHARACTER_SYN)
{
TMSG_SIMPLECHARACTERINFO* pmsg = (TMSG_SIMPLECHARACTERINFO*)pMsg;
SimpleCharacterInfoFromMN( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwMemberNo );
CharacterCreateInfoFromMN( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwMemberNo );
}
yCASE(MP_RMTOOL_QUERY_MEMBERNUM_SYN)
{
TMSG_QUERYMEMBERNUM* pmsg = (TMSG_QUERYMEMBERNUM*)pMsg;
switch( pmsg->wType )
{
case 0:
SearchMemberNumFromID( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->strSearch );
break;
case 1:
SearchMemberNumFromCharName( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->strSearch );
break;
}
}
yCASE(MP_RMTOOL_CHECKNAME_SYN)
{
TMSG_CHECKNAME* pmsg = (TMSG_CHECKNAME*)pMsg;
CheckCharacterName( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->sName );
}
yCASE(MP_RMTOOL_CHARACTER_RECOVER_SYN)
{
TMSG_CHARACTERRECOVER* pmsg = (TMSG_CHARACTERRECOVER*)pMsg;
CharacterRecover( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwChrIdx, pmsg->sName );
}
yCASE(MP_RMTOOL_CHANGE_USERLEVEL_SYN)
{
TMSG_DWORD2* pmsg = (TMSG_DWORD2*)pMsg;
ChangeUserLevel( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2 );
}
}
yENDSWITCH
}
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 );
}
}
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)
{
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;
// DB俊 款康磊 沥焊棺 酒捞乔 沥焊甫 夸没茄促.
InsertOperator((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->strID, msg->strName, msg->strPass, msg->wPower);
}
yCASE(MP_RMTOOL_ADMIN_DELETEOPERATOR_SYN)
{
TMSG_DWORD* pmsg = (TMSG_DWORD*)pMsg;
DeleteOperator( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData );
}
yCASE(MP_RMTOOL_ADMIN_INSERTIP_SYN)
{
TMSG_ADMIN_INSERTIP* msg = (TMSG_ADMIN_INSERTIP*)pMsg;
InsertIpAdress((WORD)dwConnectionIndex, (WORD)msg->dwTemplateIdx, msg->strIP);
}
yCASE(MP_RMTOOL_ADMIN_DELETEIP_SYN)
{
TMSG_DWORD* pmsg = (TMSG_DWORD*)pMsg;
DeleteIpAdress( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData );
}
}
yENDSWITCH
}
void CMSSystem::CharacterMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
MSGROOT* pTempMsg = (MSGROOT*)pMsg;
ySWITCH(pTempMsg->Protocol)
{
yCASE(MP_RMTOOL_CHARACTERINFO_SYN)
{
TMSG_DWORD3* msg = (TMSG_DWORD3*)pMsg;
// DB俊 某腐沥焊 夸没 (辑滚俊 蝶弗 某腐磐 沥焊 啊廉坷绰 风凭..)
// msg->dwData1 : 辑滚牢郸胶, msg->dwData2 : 蜡历牢郸胶, msg->dwData3 : 某腐磐牢郸胶
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);
}
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);
}
yCASE(MP_RMTOOL_CHARACTER_INSERTMUGONG)
{
TMSG_MUGONG_EDIT* msg = (TMSG_MUGONG_EDIT*)pMsg;
MugongInsert(msg->dwData, &msg->Mugong);
}
yCASE(MP_RMTOOL_CHARACTER_UPDATEMUGONG)
{
TMSG_MUGONG_EDIT* msg = (TMSG_MUGONG_EDIT*)pMsg;
MugongUpdate(msg->dwData, &msg->Mugong);
}
yCASE(MP_RMTOOL_CHARACTER_DELETEMUGONG)
{
TMSG_DWORD* msg = (TMSG_DWORD*)pMsg;
MugongDelete(msg->dwData);
}
yCASE(MP_RMTOOL_CHARACTER_UPDATE_ABILLITYINFO)
{
TMSG_CHARACTER_UPDATE_ABILITY* msg = (TMSG_CHARACTER_UPDATE_ABILITY*)pMsg;
AbilityUpdate(msg->dwCharIdx, &msg->sAbility);
}
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_DWORD2* pmsg = (TMSG_DWORD2*)pMsg;
MainQuestDelete( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2 );
}
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_DWORD2* pmsg = (TMSG_DWORD2*)pMsg;
ChangeLoginPoint( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2 );
}
yCASE(MP_RMTOOL_CHANGE_ITEMPOSITION)
{
TMSG_DWORD3* pmsg = (TMSG_DWORD3*)pMsg;
ChangeItemPosition( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2, pmsg->dwData3 );
}
yCASE(MP_RMTOOL_CHANGE_WAREITEMPOSITION)
{
TMSG_DWORD3* pmsg = (TMSG_DWORD3*)pMsg;
ChangeWareItemPosition( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2, pmsg->dwData3 );
}
yCASE(MP_RMTOOL_CHANGE_MUGONGPOSITION)
{
TMSG_DWORD3* pmsg = (TMSG_DWORD3*)pMsg;
ChangeMugongPosition( (WORD)dwConnectionIndex, (WORD)pmsg->dwTemplateIdx, pmsg->dwData1, pmsg->dwData2, pmsg->dwData3 );
}
}
yENDSWITCH
}
void CMSSystem::ItemMsgParse(DWORD dwConnectionIndex,char* pMsg,DWORD dwLength)
{
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( 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( msg->dwTagetIdx, &msg->Item, &msg->Option);
}
else if(msg->bTable == 2) // Munpa
{
MunpaItemInsert( 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);
}
}
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);
}
}
}
}
yENDSWITCH
}
////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -