📄 agentdbmsgparser.cpp
字号:
msg.Category = MP_FRIEND;
msg.Protocol = MP_FRIEND_SENDNOTE_NACK;
msg.bData = atoi((char*)pData->Data[eFr_NErr]); // 2:invalid user, 3: full space
g_Network.Send2User(pRecverInfo->dwConnectionIndex, (char*)&msg, sizeof(msg));
return;
}
//率瘤 罐绰 荤恩
DWORD Toidx = atoi((char*)pData->Data[eFr_NToId]);
if(Toidx == 0) //肺弊酒眶 惑怕
return;
MSGBASE rmsg;
rmsg.Category = MP_FRIEND;
rmsg.Protocol = MP_FRIEND_RECEIVENOTE;
rmsg.dwObjectID = Toidx;
USERINFO* pToRecverInfo = g_pUserTableForObjectID->FindUser(Toidx);
if(pToRecverInfo)
{
g_Network.Send2User(pToRecverInfo->dwConnectionIndex, (char*)&rmsg, sizeof(rmsg));
}
else //促弗 俊捞傈飘俊 乐促.
{
g_Network.Broadcast2AgentServerExceptSelf( (char*)&rmsg, sizeof(rmsg) );
}
}
void RNoteList(LPQUERY pData, LPDBMESSAGE pMessage)
{
USERINFO* pRecverInfo = g_pUserTableForObjectID->FindUser(pMessage->dwID);
if(!pRecverInfo)
return;
SYSTEMTIME ti;
GetLocalTime(&ti);
char tempDate[64];
static MSG_FRIEND_NOTE_LIST msg;
memset(&msg,0,sizeof(MSG_FRIEND_NOTE_LIST));
msg.Category = MP_FRIEND;
msg.Protocol = MP_FRIEND_NOTELIST_ACK;
for(DWORD i=0; i<pMessage->dwResult; ++i)
{
SafeStrCpy( tempDate, (char*)pData[i].Data[eFr_NSentDate], 64 );
if(IsSameDay(tempDate, ti.wYear, ti.wMonth, ti.wDay))
{
SafeStrCpy( tempDate, (char*)pData[i].Data[eFr_NSentTime], 64 );
int len = strlen(tempDate)-3;
//.SendData滚欺啊 16捞促. //KES
if( len >= 16 )
SafeStrCpy( msg.NoteList[i].SendDate, tempDate, 16 );
else
strncpy(msg.NoteList[i].SendDate, tempDate, len);
}
else
{
SafeStrCpy( msg.NoteList[i].SendDate, (char*)pData[i].Data[eFr_NSentDate], 11);
}
SafeStrCpy( msg.NoteList[i].FromName, (char*)pData[i].Data[eFr_NSender], MAX_NAME_LENGTH + 1 );
msg.NoteList[i].NoteID = atoi((char*)pData[i].Data[eFr_NNoteID]);
msg.NoteList[i].bIsRead = atoi((char*)pData[i].Data[eFr_NbIsRead]);
msg.dwObjectID = pMessage->dwID;
}
msg.TotalPage = atoi((char*)pData[0].Data[eFr_NTotalpage]);
g_Network.Send2User(pRecverInfo->dwConnectionIndex, (char*)&msg, sizeof(msg));
}
void RNoteRead(LPLARGEQUERY pData, LPDBMESSAGE pMessage)
{
USERINFO* pRecverInfo = g_pUserTableForObjectID->FindUser(pMessage->dwID);
if(!pRecverInfo)
return;
MSG_FRIEND_READ_NOTE msg;
msg.Category = MP_FRIEND;
msg.Protocol = MP_FRIEND_READNOTE_ACK;
SafeStrCpy( msg.FromName, (char*)pData->Data[eFr_NRNSender], MAX_NAME_LENGTH + 1 );
SafeStrCpy( msg.Note, (char*)pData->Data[eFr_NRNNote], MAX_FRIEND_NOTE_LENGTH + 1 );
msg.NoteID = atoi((char*)pData->Data[eFr_NRNNoteID]);
g_Network.Send2User(pRecverInfo->dwConnectionIndex, (char*)&msg, msg.GetMsgLength());
}
void RNoteDelete(LPQUERY pData, LPDBMESSAGE pMessage)
{
USERINFO* pRecverInfo = g_pUserTableForObjectID->FindUser(pMessage->dwID);
if(!pRecverInfo)
return;
MSG_FRIEND_DEL_NOTE msg;
msg.Category = MP_FRIEND;
msg.Protocol = MP_FRIEND_DELNOTE_ACK;
msg.bLast = atoi((char*)pData->Data[eFr_NdbLast]);
msg.NoteID = atoi((char*)pData->Data[eFr_NdNoteID]);
g_Network.Send2User(pRecverInfo->dwConnectionIndex, (char*)&msg, sizeof(msg));
}
void RDeleteCharacter(LPQUERY pData, LPDBMESSAGE pMessage)
{
MSGBASE msg;
msg.Category = MP_USERCONN;
if(atoi((char*)pData->Data[0]) != 0)
{
msg.Protocol = MP_USERCONN_CHARACTER_REMOVE_NACK;
}
else
{
msg.Protocol = MP_USERCONN_CHARACTER_REMOVE_ACK;
//泅惑陛 瘤框
WantedDelete(atoi((char*)pData->Data[1]));
}
g_Network.Send2User(pMessage->dwID, (char*)&msg, sizeof(msg));
}
void RWantedDelete(LPQUERY pData, LPDBMESSAGE pMessage)
{
if(atoi((char*)pData->Data[0]) == 0) //泅惑陛俊 包访等霸 绝促.
return;
//FOR SERVER TO SERVER
MSGBASE msg;
msg.Category = MP_WANTED;
msg.Protocol = MP_WANTED_DELETE_BY_DELETECHR;
msg.dwObjectID = atoi((char*)pData[0].Data[0]); //wanted_idx
g_Network.Broadcast2MapServer((char*)&msg, sizeof(msg));
//FOR CLIENT TO SERVER
USERINFO* pUserInfo = NULL;
for(DWORD i=0; i<pMessage->dwResult; ++i)
{
MSG_DWORD msg;
msg.Category = MP_WANTED;
msg.dwObjectID = atoi((char*)pData[i].Data[1]); //character_idx
msg.dwData = atoi((char*)pData[0].Data[0]); //wanted_idx
pUserInfo = g_pUserTableForObjectID->FindUser(atoi((char*)pData->Data[1]));
if(!pUserInfo)
{
//broadcasting to another agent
msg.Protocol = MP_WANTED_NOTCOMPLETE_TO_AGENT;
g_Network.Broadcast2AgentServerExceptSelf((char*)&msg, sizeof(msg));
}
else
{
msg.Protocol = MP_WANTED_NOTCOMPLETE_BY_DELCHR;
g_Network.Send2Server(pUserInfo->dwMapServerConnectionIndex, (char*)&msg, sizeof(msg));
}
}
if(pMessage->dwResult < MAX_QUERY_RESULT)
{
WantedDelWantInfo(atoi((char*)pData[0].Data[0]));
}
else
{
//眠饶 累诀
}
}
//---for GM_Tool
void RGM_WhereIsCharacter(LPQUERY pData, LPDBMESSAGE pMessage)
{
DWORD count = pMessage->dwResult;
if(!count)
{
}
else
{
//(DWORD)atoi((char*)pData->Data[2]) : 甘锅龋
//(DWORD)atoi((char*)pData->Data[1]) : 茫篮 objectID
USERINFO* pSenderInfo = g_pUserTableForObjectID->FindUser( pMessage->dwID );
if( !pSenderInfo ) return;
int nError = atoi((char*)pData->Data[0]);
if( nError == CHATERR_NO_NAME || nError == CHATERR_NOT_CONNECTED )
{
MSG_BYTE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_WHEREIS_NACK;
msg.dwObjectID = pMessage->dwID;
msg.bData = nError;
g_Network.Send2User( pSenderInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
else
{
DWORD dwTargetID = (DWORD)atoi((char*)pData->Data[1]);
DWORD dwMapNum = (DWORD)atoi((char*)pData->Data[2]);
// USERINFO* pTargetInfo = g_pUserTableForObjectID->FindUser( dwTargetID );
if( dwMapNum > 0 )
{
MSG_DWORD msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_WHEREIS_SYN;
msg.dwObjectID = pMessage->dwID;
msg.dwData = dwTargetID; //茫篮 酒捞叼
WORD wServerPort = g_pServerTable->GetServerPort( eSK_MAP, (WORD)dwMapNum );
SERVERINFO* pInfo = g_pServerTable->FindServer( wServerPort );
if( pInfo )
g_Network.Send2Server( pInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
else
{
MSG_WORD msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_WHEREIS_ACK;
msg.dwObjectID = pMessage->dwID;
msg.wData = dwMapNum;
g_Network.Send2User( pSenderInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
}
}
}
void RGM_BanCharacter(LPQUERY pData, LPDBMESSAGE pMessage)
{
DWORD count = pMessage->dwResult;
if(!count)
{
}
else
{
//(char*)pData->Data[0] : 焊辰荤恩 捞抚
//(DWORD)atoi((char*)pData->Data[1]) : 茫篮 objectID
USERINFO* pSenderInfo = g_pUserTableForObjectID->FindUser( pMessage->dwID );
if( !pSenderInfo ) return;
int nError = atoi((char*)pData->Data[0]);
if( nError == CHATERR_NO_NAME || nError == CHATERR_NOT_CONNECTED )
{
MSG_BYTE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_BANCHARACTER_NACK;
msg.dwObjectID = pMessage->dwID;
msg.bData = nError;
g_Network.Send2User( pSenderInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
else
{
DWORD dwTargetID = (DWORD)atoi((char*)pData->Data[1]);
USERINFO* pTargetInfo = g_pUserTableForObjectID->FindUser( dwTargetID );
//捞辑滚俊 乐唱?
if( pTargetInfo )
{
// DisconnectUser( pTargetInfo->dwConnectionIndex );
DisconnectUser( pTargetInfo->dwConnectionIndex, 3 );
MSGBASE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_BANCHARACTER_ACK;
msg.dwObjectID = pMessage->dwID;
g_Network.Send2User( pSenderInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
else
{
MSG_DWORD2 msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_BANCHARACTER_SYN;
msg.dwData1 = dwTargetID;
msg.dwData2 = pMessage->dwID;
g_Network.Broadcast2AgentServerExceptSelf( (char*)&msg, sizeof(msg) );
}
}
}
}
void RGM_UpdateUserLevel(LPQUERY pData, LPDBMESSAGE pMessage)
{
// pMessage->dwID
USERINFO* pUserInfo = g_pUserTableForObjectID->FindUser( pMessage->dwID );
if( !pUserInfo ) return;
MSGBASE msg;
msg.Category = MP_CHEAT;
msg.dwObjectID = pMessage->dwID;
if(atoi((char*)pData->Data[0])==0)
{
// 弊繁 捞抚 绝绢~~
msg.Protocol = MP_CHEAT_BLOCKCHARACTER_NACK;
}
else
{
msg.Protocol = MP_CHEAT_BLOCKCHARACTER_ACK;
// 诀单捞飘 己傍~~
}
g_Network.Send2User( pUserInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
void RGM_Login(LPQUERY pData, LPDBMESSAGE pMessage)
{
DWORD count = pMessage->dwResult;
DWORD dwConnectionIndex = pMessage->dwID;
if( count == 0 ) // 捞惑 坷幅
{
MSG_BYTE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_GM_LOGIN_NACK;
msg.bData = 0;
g_Network.Send2User( dwConnectionIndex, (char*)&msg, sizeof(msg) );
return;
}
/*
enum eOperInfo
{
eOI_ErroCode = 0, eOI_OperIdx, eOI_OperID, eOI_OperName, eOI_OperPwd, eOI_OperPower, eOI_Date, eOI_Time,
eOI_IPIdx, eOI_IPAdress, eOI_IPDate, eOI_IPTime,
};
*/
WORD check = atoi((char*)pData[0].Data[0]);
if( check != 0 ) // 立加 阂啊
{
MSG_BYTE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_GM_LOGIN_NACK;
msg.bData = 1;
g_Network.Send2User( dwConnectionIndex, (char*)&msg, sizeof(msg) );
return;
}
int nPower = atoi((char*)pData[0].Data[5]);
if( nPower < 0 || nPower >= eGM_POWER_MAX )
{
MSG_BYTE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_GM_LOGIN_NACK;
msg.bData = 2;
g_Network.Send2User( dwConnectionIndex, (char*)&msg, sizeof(msg) );
return;
}
GMINFO->AddGMList( dwConnectionIndex, nPower );
MSG_DWORD Msg;
Msg.Category = MP_CHEAT;
Msg.Protocol = MP_CHEAT_GM_LOGIN_ACK;
Msg.dwData = nPower;
g_Network.Send2User( dwConnectionIndex, (char*)&Msg, sizeof(Msg) );
}
void RGM_GetGMPowerList(LPQUERY pData, LPDBMESSAGE pMessage)
{
/*
DWORD count = pMessage->dwResult;
WORD tempIdx = HIWORD(pMessage->dwID);
WORD connectIdx = LOWORD(pMessage->dwID);
if( count )
{
DWORD dwFlag = atoi((char*)pData[0].Data[0]);
if( dwFlag == 0 )
GMINFO->Release();
GM_POWER pw;
DWORD startIdx = 0;
for( DWORD i = 0; i < count; ++i )
{
startIdx = atoi((char*)pData[i].Data[1]);
SafeStrCpy( pw.GM_ID, (char*)pData[i].Data[2], MAX_NAME_LENGTH+1 );
pw.dwUserID = 0;
pw.nPower = atoi((char*)pData[i].Data[5]);
GMINFO->AddGMList( &pw );
}
if( count >= 100 )
GM_GetGMPowerList( startIdx, count );
}
*/
}
/* --; 鞘夸绝摆尺. 肋给楼蝶.
void RGM_MoveToCharacter(LPQUERY pData, LPDBMESSAGE pMessage)
{
DWORD count = pMessage->dwResult;
if(!count)
{
}
else
{
//(DWORD)atoi((char*)pData->Data[1]) : 茫篮 objectID
//(char*)pData->Data[0] : 焊辰荤恩 捞抚
USERINFO* pSenderInfo = g_pUserTableForObjectID->FindUser( pMessage->dwID );
if( !pSenderInfo ) return;
int nError = atoi((char*)pData->Data[0]);
if( nError == CHATERR_NO_NAME || nError == CHATERR_NOT_CONNECTED )
{
MSG_BYTE msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_MOVETOCHAR_NACK;
msg.dwObjectID = pMessage->dwID;
msg.bData = nError;
g_Network.Send2User( pSenderInfo->dwConnectionIndex, (char*)&msg, sizeof(msg) );
}
else
{
DWORD dwTargetID = (DWORD)atoi((char*)pData->Data[1]);
USERINFO* pTargetInfo = g_pUserTableForObjectID->FindUser( (DWORD)atoi((char*)pData->Data[1]) );
//捞辑滚俊 乐唱?
if( pTargetInfo )
{
//---唱吝俊 gm疙飞篮 促弗单肺....
//obejctid甫 甘辑滚肺 焊郴磊!
}
else
{
}
}
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -