📄 dbsocket.cpp
字号:
it = pSocketFD->pPlayer->m_MapGuildSkill.Begin();
itEnd = pSocketFD->pPlayer->m_MapGuildSkill.End();
while(true)
{
wNum = 0 ;
memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
cp = lpSendPacket->strPacket;
// 酒捞袍狼 肮荐甫 历厘窍绰 厘家捞促.
pTmpCount = cp ;
cp += sizeof(wNum) ;
for (; it != itEnd; ++it)
{
CGuildSkill *pGuildSkill = (CGuildSkill *)it->second;
pGuildSkill->GetGuildSkill( (_LPZP_GUILDSKILL_REP)cp );
cp += sizeof(_ZP_GUILDSKILL_REP) ;
++wNum;
///////////////////////////////////////////////
// 20 究 胶懦 沥焊甫 焊晨
///////////////////////////////////////////////
if(wNum == 20)
{
++it;
break ;
}
}
memcpy (pTmpCount, &wNum,sizeof(wNum) ) ;
lpSendPacket->dwSize = cp - lpSendPacket->strPacket ;
lpSendPacket->dwCommand = ZP_GUILDSKILLLIST_REP ;
// 胶懦捞 乐绰 版快父 焊辰促.
if(wNum != 0 )
g_pServer->Send_Single( pSocketFD , lpSendPacket);
if(it == itEnd) break ;
}
// --------------------------------------------------------------------------------
// SKILL沥焊甫 傈价窃
// --------------------------------------------------------------------------------
memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
cp = lpSendPacket->strPacket;
wNum = 0 ;
wSize = 0 ;
it = pSocketFD->pPlayer->m_MapSkill.Begin();
itEnd = pSocketFD->pPlayer->m_MapSkill.End();
while(true)
{
wNum = 0 ;
memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
cp = lpSendPacket->strPacket;
// 酒捞袍狼 肮荐甫 历厘窍绰 厘家捞促.
pTmpCount = cp ;
cp += sizeof(wNum) ;
for (; it != itEnd; ++it)
{
CEnchant *pSkill = (CEnchant *)it->second;
pSkill->GetPlayerSkill( (_LPZP_PLAYERSKILL_REP)cp );
cp += sizeof(_ZP_PLAYERSKILL_REP) ;
++wNum;
///////////////////////////////////////////////
// 5俺究 胶懦 沥焊甫 焊晨
///////////////////////////////////////////////
if(wNum == 5)
{
++it;
break ;
}
}
memcpy (pTmpCount, &wNum,sizeof(wNum) ) ;
lpSendPacket->dwSize = cp - lpSendPacket->strPacket ;
lpSendPacket->dwCommand = ZP_PLAYERSKILL_REP ;
g_pServer->Send_Single( pSocketFD , lpSendPacket);
if(it == itEnd) break ;
}
LeaveCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
// --------------------------------------------------------------------------------
// Quest沥焊 傈价
// --------------------------------------------------------------------------------
memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
cp = lpSendPacket->strPacket;
wNum = 0 ;
wSize = 0 ;
it = pSocketFD->pPlayer->m_ActiveQuest.Begin();
itEnd = pSocketFD->pPlayer->m_ActiveQuest.End();
while(true)
{
wNum = 0 ;
memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
cp = lpSendPacket->strPacket;
// 酒捞袍狼 肮荐甫 历厘窍绰 厘家捞促.
pTmpCount = cp ;
cp += sizeof(wNum) ;
for (; it != itEnd; ++it)
{
CActiveQuest *pActiveQuest = (CActiveQuest *)it->second;
pActiveQuest->GetQuestInfo( _LPZP_QUESTACTIVELIST_REP(cp) );
_LPZP_QUESTACTIVELIST_REP p = (_LPZP_QUESTACTIVELIST_REP)cp;
cp += sizeof(_ZP_QUESTACTIVELIST_REP) ;
++wNum;
// ------------------------------------------------------------------------
// 2俺究 胶懦 沥焊甫 焊晨
// ------------------------------------------------------------------------
if(wNum == 2)
{
++it;
break ;
}
}
memcpy (pTmpCount, &wNum,sizeof(wNum) ) ;
lpSendPacket->dwSize = cp - lpSendPacket->strPacket ;
lpSendPacket->dwCommand = ZP_QUESTACTIVELIST_REP ;
g_pServer->Send_Single( pSocketFD , lpSendPacket);
if(it == itEnd) break ;
}
g_pServerMem->ZemiPacket_Push( lpSendPacket );
ErrorMsg( "LOGIN - Receve Skill [%s]", pSocketFD->pPlayer->m_strPlayerID );
//
// 霸烙 包访 单捞鸥甫 傈价窃
//
pSocketFD->pPlayer->Init_Game();
}
////////////////////////////////////////////////////////////////////////////////////////
// WORLD SERVER -> ITEM SLOT
//
// Jason 2004-06-01
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_ItemSlot(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET pDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)pDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return; // SOCKET 八荤
char * lpReadData = pDBPacket->strPacket;
WORD wReadNum = *((WORD *)lpReadData );
lpReadData += sizeof(WORD) ;
if(wReadNum == 0)
return;
EnterCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
for(int i=0; i<wReadNum; i++)
{
_LPZW_ITEMSLOTUPDATELIST pSlot = (_LPZW_ITEMSLOTUPDATELIST)lpReadData;
if(pSlot)
{
// --------------------------------------------------------------------------------
// Base Item俊 单捞鸥甫 茫澜
// --------------------------------------------------------------------------------
_BASE_ITEM_ *pBaseItem = (_BASE_ITEM_ *)g_Base.m_BaseItem.Find( pSlot->wItemIndex );
if( pBaseItem )
{
pSocketFD->pPlayer->SetItemSlot(pSlot->m_nDBOP, pSlot->nSLOT, pSlot->wItemIndex, pBaseItem->nTYPE);
}
}
lpReadData += sizeof(_ZW_ITEMSLOTUPDATELIST);
}
LeaveCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
}
////////////////////////////////////////////////////////////////////////////////////////
// WORLD SERVER -> ITEM SLOT
//
// Jason 2004-06-01
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildSkill(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET pDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)pDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return; // SOCKET 八荤
char * lpReadData = pDBPacket->strPacket;
int iReadNum = *((WORD *)lpReadData );
lpReadData += sizeof(WORD) ;
if(iReadNum == 0) return;
EnterCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
while ((iReadNum)-- > 0 )
{
_LPZW_GUILDSKILL_REP lpGuildSkill = (_LPZW_GUILDSKILL_REP ) lpReadData ;
pSocketFD->pPlayer->Init_GuildSkill(lpGuildSkill) ;
lpReadData += sizeof( _ZW_GUILDSKILL_REP) ;
}
LeaveCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
}
////////////////////////////////////////////////////////////////////////////////////////
// PLYAER LOGOUT DB历厘 贸府 肯丰等 版快
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_PlayerOut(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
g_pServer->World_PlayerOut_Rep( (_LPDBPACKET)lpIOContext->buf) ;
}
////////////////////////////////////////////////////////////////////////////////////////
// PLYAER MAP OUT (鞍篮 肺流栏肺 贸府窃)
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_PlayerMapOut(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
g_pServer->World_PlayerMapOut_Rep( (_LPDBPACKET)lpIOContext->buf) ;
}
////////////////////////////////////////////////////////////////////////////////////////
// NOTIC Msg
//
// - UDP Packet栏肺 函版 咯何 Checking
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_NoticeMsg( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPZW_NOTICEMSG p = (_LPZW_NOTICEMSG)lpDBPacket->strPacket;
g_pServer->PacketSend_NoticeMsg( p->strMsg ); // 傍瘤 MSG傈价
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildCreate( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->GuildCreate((_LPZP_CREATEGUILD_REP) lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildJoin( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->GuildJoin((_LPZP_JOINGUILD_ASK) lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_LeaveGuild( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->GuildLeave((_LPZP_GUILDOP) lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_KickMember( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->KickMember((_LPZP_GUILDOP) lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
// 辨靛 桂农 沥焊甫 傈价窃
//
// - 辨靛 牢亥配府 沥焊 傈价
// - 辨靛 芒绊 沥焊 傈价
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildInfor( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->GuildInfor(lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
// 秦寸 辨靛 沥焊 诀单捞飘
//
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildInforServer( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
g_pServer->Packet_GuildInforServer((_LPDBPACKET)lpIOContext->buf) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildMember( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->GuildMember(lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildChangeExp( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
g_pServer->Packet_GuildChangeExp((_LPDBPACKET)lpIOContext->buf) ;
}
void WorldPacket_GuildNoticeSet( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidity( pSocketFD ) ) return;
pSocketFD->pPlayer->GuildNoticeSet((_LPZP_GUILDNOTICESET_REP )lpDBPacket->strPacket) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildInforChange( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
g_pServer->Packet_GuildInforChange((_LPDBPACKET)lpIOContext->buf) ;
}
////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildDisband( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
_LPDBPACKET lpDBPacket = (_LPDBPACKET)lpIOContext->buf;
_LPSOCKET_FD pSocketFD = (_LPSOCKET_FD)lpDBPacket->pSocketFD;
if( !IsSocketValidit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -