📄 cudpsocket.cpp
字号:
////////////////////////////////////////////////////////////////////////////////////////
// World Server俊辑 八祸 荤侩磊 沥焊甫 掘澜
//
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_Rep_FindPlayer(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
if( !lpUdpPacket->pSocketFD ) return;
_LPZC_FINDPLAYER_REP p = (_LPZC_FINDPLAYER_REP)lpUdpPacket->strPacket;
switch( p->nOP )
{
// --------------------------------------------------------------------------------
// 老馆 蓖加富 荤侩磊 茫扁
// --------------------------------------------------------------------------------
case 0:
{
MessagePrint("Player FD(%d) (%s) (%d/%d)", lpUdpPacket->pSocketFD, p->strPlayerID,p->wX,p->wY) ;
g_pServer->PacketSend_FindPlayer( (_LPSOCKET_FD)lpUdpPacket->pSocketFD , p->strPlayerID, p->nResult );
}
break;
// --------------------------------------------------------------------------------
// GM 荤侩磊 困摹 免仿
// --------------------------------------------------------------------------------
case GM_CMD_FINDPLAYER:
{
// 秦寸 荤侩磊甫 茫瘤 给茄 版快
if( !p->nResult )
{
g_pServer->PacketSend_WarningMsg
(
(_LPSOCKET_FD) lpUdpPacket->pSocketFD,
MSG_GM_DONTFINDPLAYER_GAMEWORLD
);
}
// 秦寸 荤侩磊甫 茫篮 版快
else
{
g_pServer->PacketSend_WarningMsg
(
(_LPSOCKET_FD) lpUdpPacket->pSocketFD ,
MSG_GM_PLAYERFIND_REMOTELOCALMAP ,
p->strPlayerID, p->dwMapID, p->wX, p->wY
);
}
}
break;
// --------------------------------------------------------------------------------
// 102 : GM捞 荤侩磊 困摹肺 捞悼
// --------------------------------------------------------------------------------
case GM_CMD_TELEPORTPLAYER:
{
// --------------------------------------------------------------------
// 秦寸 荤侩磊甫 茫瘤 给茄 版快
// --------------------------------------------------------------------
if( !p->nResult )
{
g_pServer->PacketSend_WarningMsg(
(_LPSOCKET_FD) lpUdpPacket->pSocketFD,
MSG_GM_DONTFINDPLAYER_GAMEWORLD );
}
// --------------------------------------------------------------------
// 秦寸 荤侩磊甫 茫篮 版快 - 秦寸 甘 困摹肺 捞悼
//
// - 眠饶 包访 风凭阑 埃家拳 矫糯
// --------------------------------------------------------------------
else
{
_LPZEMIPACKET lpSendPacket = g_pServerMem->ZemiPacket_Pop();
_LPZG_MOVEMAP_ASK pMoveMap = (_LPZG_MOVEMAP_ASK)lpSendPacket->strPacket;
memcpy( pMoveMap->strPlayerID, p->strPlayerID, sizeof( pMoveMap->strPlayerID ) );
pMoveMap->dwMapID = p->dwMapID;
pMoveMap->nX = p->wX;
pMoveMap->nY = p->wY;
PacketGM_MoveMap(g_pServer, (_LPSOCKET_FD) lpUdpPacket->pSocketFD, lpSendPacket );
g_pServerMem->ZemiPacket_Push( lpSendPacket );
}
}
break;
default : break;
}
}
////////////////////////////////////////////////////////////////////////////////////////
//
//
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_Rep_ChatWhisper(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
_LPZC_CHATWHISPER_REP p = (_LPZC_CHATWHISPER_REP)(lpUdpPacket->strPacket);
if (p->nResult == 0)
{
g_pServer->PacketSend_WarningMsg((_LPSOCKET_FD) lpUdpPacket->pSocketFD , MSG_CHAT_DONTFINDPLAYER );
}
else
{
g_pServer->PacketSend_WarningMsg((_LPSOCKET_FD) lpUdpPacket->pSocketFD , MSG_CHAT_CHATREFUSE );
}
}
////////////////////////////////////////////////////////////////////////////////////////
//
//
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_Ask_ChatWhisper(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
_LPZP_CHATWHISPER_ASK p = (_LPZP_CHATWHISPER_ASK)(lpUdpPacket->strPacket);
// 庇富 惑措甫 茫澜
_LPSOCKET_FD pToSocket = g_pMap->Find_Player( p->strToPlayerID );
if (pToSocket)
{
// 庇加富 汲沥捞 登绢 乐栏搁
if(pToSocket->pPlayer->m_bOptionWhisper )
{
#ifdef DEF_CHATWHISPER
p->nResult = 1;
#endif
g_pServer->PacketSend_ChatWhisperMsg( pToSocket, p ); // 庇富 措惑磊 俊霸 Message傈价
}
else
{
// 庇加富 汲沥捞 登绢 乐瘤 臼栏搁 庇加富 芭何 惑怕扼绊 舅妨霖促.
_LPUDPPACKET lpPacket = (_LPUDPPACKET) lpUdpSocket->m_pUDPIOPool->Alloc() ;
memcpy(lpPacket , lpUdpPacket ,sizeof(_UDPPACKET)) ;
_LPZP_CHATWHISPER_REP lpSendPacket = (_LPZP_CHATWHISPER_REP) lpPacket->strPacket ;
lpSendPacket->nResult = 2 ;
lpPacket->dwCommand = ZC_CHATWHISPER_REP ;
lpUdpSocket->SendtoWorldServer(lpPacket) ;
}
}
}
////////////////////////////////////////////////////////////////////////////////////////
//
//
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_Ask_PartyChat(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
_LPZW_PARTYCHAT_ASK p = (_LPZW_PARTYCHAT_ASK)lpUdpPacket->strPacket;
// 秦寸 颇萍甫 茫澜
CParty *pParty = g_pMap->Find_Party( p->dwPartyHandle );
if( !pParty ) return; // 坷幅 贸府 风凭阑眠啊 矫糯
pParty->Send_ChatMsg_World( p ); // 颇萍 眉泼 皋矫瘤 傈价
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_Notice(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
_LPZW_NOTICEMSG pNotice = (_LPZW_NOTICEMSG)(lpUdpPacket->strPacket);
_LPZEMIPACKET lpSendPacket = g_pServerMem->ZemiPacket_Pop();
lpSendPacket->dwCommand = ZP_LOGMSG_REP;
lpSendPacket->dwSize = sizeof( _ZP_LOGMSG_REP );
_LPZP_LOGMSG_REP p = (_LPZP_LOGMSG_REP)(lpSendPacket->strPacket);
p->dwPlayerHandle = 0;
p->nType = 102; // 傍瘤 Type
memcpy( p->strMsg, pNotice->strMsg , 100 ); // Message 郴侩
g_pServer->Send_Multi( lpSendPacket );
g_pServerMem->ZemiPacket_Push( lpSendPacket );
}
////////////////////////////////////////////////////////////////////////////////////////
// 傍瘤 MSG傈价
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_GuildNoticeMsg(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
g_pServer->PacketSend_GuildNoticeMsg((_LPZW_GUILDNOTICEMSG)lpUdpPacket->strPacket);
}
////////////////////////////////////////////////////////////////////////////////////////
// SERVER 疙飞绢 贸府
//
// - SERVER包访 EVENT疙飞绢
////////////////////////////////////////////////////////////////////////////////////////
#ifdef DEF_EVENTCHANGE
void UDPPacket_ServerCommand(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
_LPZC_SERVERCOMMAND p = (_LPZC_SERVERCOMMAND)lpUdpPacket->strPacket ;
switch(p->nCOMMAND )
{
case DEF_GMCMD_DISABLEEVENT :
_Module.GMEventClear() ;
break;
case DEF_GMCMD_USERLOG:
{
//漂沥 某腐磐甫 茫酒 肺弊甫 巢变促.
_LPSOCKET_FD pFindPlayer = g_pMap->Find_Player(p->strPlayerID);
if(pFindPlayer)
{
pFindPlayer->bLog = p->bOnOff;
//Jason Added
_LPSOCKET_FD pGM = g_pMap->Find_Player(p->strOperator);
if(pGM)
{
if(p->bOnOff)
{
g_pServer->PacketSend_WarningMsg( pGM, MSG_GM_USERLOG_ON, p->strPlayerID );
}
else
{
g_pServer->PacketSend_WarningMsg( pGM, MSG_GM_USERLOG_OFF, p->strPlayerID );
}
}
}
else //Jason Added
{
_LPSOCKET_FD pGM = g_pMap->Find_Player(p->strOperator);
if(pGM)
{
g_pServer->PacketSend_WarningMsg( pGM, MSG_GM_USERLOG_NOPLAYER, p->strPlayerID );
}
}
}
break;
default:
_Module.SetGMEvent(p->nCOMMAND, p->bOnOff );
break;
}
return ;
}
#else // #ifdef DEF_EVENTCHANGE
////////////////////////////////////////////////////////////////////////////////////////
// GM EVENT 疙飞阑 World Server UDP傈价窃
//
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_ServerCommand(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
_LPZC_SERVERCOMMAND p = (_LPZC_SERVERCOMMAND)lpUdpPacket->strPacket ;
switch(p->nCOMMAND )
{
case DEF_GMCMD_DROPLUCKYBAG : _Module.SetGMEvent(DEF_GMCMD_DROPLUCKYBAG, p->bOnOff ); break; // 汗林赣聪 捞亥飘
case DEF_GMCMD_DROPGIFTBOX : _Module.SetGMEvent(DEF_GMCMD_DROPGIFTBOX, p->bOnOff ); break; // 急拱惑磊 捞亥飘
case DEF_GMCMD_DROPRICECAKE : _Module.SetGMEvent(DEF_GMCMD_DROPRICECAKE, p->bOnOff ); break;
case DEF_GMCMD_DROPITEMONRMORE : _Module.SetGMEvent(DEF_GMCMD_DROPITEMONRMORE, p->bOnOff ); break;
case DEF_GMCMD_MONSTERSTRIKEBACK : _Module.SetGMEvent(DEF_GMCMD_MONSTERSTRIKEBACK, p->bOnOff ); break;
case DEF_GMCMD_RAREMONSTERSPAWN : _Module.SetGMEvent(DEF_GMCMD_RAREMONSTERSPAWN, p->bOnOff ); break;
case DEF_GMCMD_RAREMONSTERSTRIKEBACK: _Module.SetGMEvent(DEF_GMCMD_RAREMONSTERSTRIKEBACK, p->bOnOff ); break;
case DEF_GMCMD_UPGRADESCROLL : _Module.SetGMEvent(DEF_GMCMD_UPGRADESCROLL, p->bOnOff ); break;
case DEF_GMCMD_JACKPOT : _Module.SetGMEvent(DEF_GMCMD_JACKPOT, p->bOnOff ); break;
case DEF_GMCMD_LEVELUP : _Module.SetGMEvent(DEF_GMCMD_LEVELUP, p->bOnOff ); break;
case DEF_GMCMD_DISABLEEVENT :
_Module.GMEventClear() ;
break;
case DEF_GMCMD_USERLOG:
{
//漂沥 某腐磐甫 茫酒 肺弊甫 巢变促.
_LPSOCKET_FD pFindPlayer = g_pMap->Find_Player(p->strPlayerID);
if(pFindPlayer)
{
pFindPlayer->bLog = p->bOnOff;
if(p->bOnOff)
{
g_pServer->PacketSend_WarningMsg( pFindPlayer, MSG_GM_USERLOG_ON, p->strPlayerID );
}
else
{
g_pServer->PacketSend_WarningMsg( pFindPlayer, MSG_GM_USERLOG_OFF, p->strPlayerID );
}
}
}
break;
//Jason 2004-08-26-china
case DEF_GMCMD_BOMB:
{
g_pServer->ShutdownServer();
}
break;
}
return ;
}
#endif // #ifdef DEF_EVENTCHANGE
////////////////////////////////////////////////////////////////////////////////////////
// 肋给等 皋技瘤啊 柯 版快甫 措厚秦辑 父电 窃荐
////////////////////////////////////////////////////////////////////////////////////////
void UDPPacket_Nothing(_LPUDPSOCKET lpUdpSocket ,_LPUDPPACKET lpUdpPacket)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -