⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mssystem.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 4 页
字号:
						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 + -