📄 handler_gz_guild.cpp
字号:
#include "StdAfx.h"
#include ".\handler_gz_guild.h"
#include <PacketStruct_GZ.h>
#include <PacketStruct_CG.h>
#include <PacketStruct_AG.h>
#include ".\GameGuildManager.h"
#include ".\GameGuild.h"
#include ".\Player.h"
Handler_GZ_GUILD_IMPL(GZ_GUILD_INFO_BRD)
{
MSG_GZ_GUILD_INFO_BRD * pMsg = (MSG_GZ_GUILD_INFO_BRD *)pRecvMsg;
g_GameGuildManager.OnAddGuild( pMsg->m_GuildInfo, pMsg->m_MemberInfo, pMsg->m_Count );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_DESTROY_BRD)
{
MSG_GZ_GUILD_DESTROY_BRD * pMsg = (MSG_GZ_GUILD_DESTROY_BRD *)pRecvMsg;
g_GameGuildManager.OnDestroyGuild( pMsg->m_GuildGuid );
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
pPlayer->SCPlayer::GetCharInfo()->m_GuildGuid = 0;
pPlayer->SCPlayer::GetCharInfo()->m_GuildPosition = 0;
MSG_AG_GUILD_DESTROY_ACK msg;
pPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_DESTROY_BRD bmsg;
bmsg.m_MasterPlayerKey = pPlayer->GetObjectKey();
pPlayer->SendPacketAround( &bmsg, sizeof(bmsg), FALSE );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_JOIN_BRD)
{
MSG_GZ_GUILD_JOIN_BRD * pMsg = (MSG_GZ_GUILD_JOIN_BRD *)pRecvMsg;
g_GameGuildManager.OnJoinGuild( pMsg->m_GuildGuid, pMsg->m_Info );
Player * pReceiver = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pReceiver ) return ;
GameGuild * pGuild = g_GameGuildManager.FindGuild( pMsg->m_GuildGuid );
ASSERT( pGuild );
pReceiver->SCPlayer::GetCharInfo()->m_GuildGuid = pMsg->m_GuildGuid;
pReceiver->SCPlayer::GetCharInfo()->m_GuildPosition = eGUILD_TEMPORARYSOLDIER;
if( pGuild) memcpy( pReceiver->SCPlayer::GetCharInfo()->m_tszGuildName, pGuild->GetGuildName(), sizeof(TCHAR)*MAX_GUILDNAME_LENGTH );
// GuildServer肺 何磐 ack甫 罐篮饶 ack焊晨
MSG_AG_GUILD_JOIN_SUCCESS_CMD msg;
pReceiver->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_JOIN_SUCCESS_BRD bmsg;
bmsg.m_PlayerKey = pReceiver->GetObjectKey();
memcpy( bmsg.m_tszGuildName, pReceiver->SCPlayer::GetCharInfo()->m_tszGuildName, MAX_GUILDNAME_LENGTH*sizeof(TCHAR) );
pReceiver->SendPacketAround( &bmsg, sizeof(bmsg), FALSE );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_WITHDRAW_BRD)
{
MSG_GZ_GUILD_WITHDRAW_BRD * pMsg = (MSG_GZ_GUILD_WITHDRAW_BRD *)pRecvMsg;
g_GameGuildManager.OnWithdrawGuild( pMsg->m_GuildGuid, pMsg->m_CharGuid );
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
pPlayer->SCPlayer::GetCharInfo()->m_GuildGuid = 0;
pPlayer->SCPlayer::GetCharInfo()->m_GuildPosition = 0;
MSG_AG_GUILD_WITHDRAW_ACK msg;
pPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_WITHDRAW_BRD bmsg;
bmsg.m_PlayerKey = pPlayer->GetObjectKey();
pPlayer->SendPacketAround( &bmsg, sizeof(bmsg), FALSE );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_CREATE_ACK)
{
MSG_GZ_GUILD_CREATE_ACK * pMsg = (MSG_GZ_GUILD_CREATE_ACK *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
// ack啊 坷扁傈俊 唱啊搁???绢痘霸 登瘤?? 捣 家厚 绝捞 积己.
// 固府 捣 瞒皑 矫糯
//
GameGuild * pGuild = g_GameGuildManager.FindGuild( pMsg->m_GuildGuid );
ASSERT( pGuild );
pPlayer->SCPlayer::GetCharInfo()->m_GuildGuid = pMsg->m_GuildGuid;
pPlayer->SCPlayer::GetCharInfo()->m_GuildPosition = eGUILD_MATSER;
if( pGuild) memcpy( pPlayer->SCPlayer::GetCharInfo()->m_tszGuildName, pGuild->GetGuildName(), sizeof(TCHAR)*MAX_GUILDNAME_LENGTH );
// 俊捞傈飘肺
MSG_AG_GUILD_CREATE_ACK msg;
msg.m_GuildGuid = pMsg->m_GuildGuid;
pPlayer->SendPacket( &msg, sizeof(msg) );
MSG_CG_GUILD_CREATE_BRD bmsg;
bmsg.m_MasterPlayerKey = pPlayer->GetObjectKey();
memcpy( bmsg.m_tszGuildName, pPlayer->SCPlayer::GetCharInfo()->m_tszGuildName, MAX_GUILDNAME_LENGTH*sizeof(TCHAR) );
pPlayer->SendPacketAround( &bmsg, sizeof(bmsg), FALSE );
}
// 捞固 辨靛沥焊甫 罐酒柯 惑怕捞扁 锭巩俊
// 辨靛 沥焊甫 孽府窍咯 努扼捞攫飘俊霸 傈崔窍搁 等促.
Handler_GZ_GUILD_IMPL(GZ_GUILD_SELECT_ACK)
{
MSG_GZ_GUILD_SELECT_ACK * pMsg = (MSG_GZ_GUILD_SELECT_ACK *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
GameGuild * pGuild = g_GameGuildManager.FindGuild( pMsg->m_GuildGuid );
ASSERT( pGuild ); if( !pGuild ) return;
MSG_CG_GUILD_SELECT_ACK msg;
pGuild->SelectInfo( msg.m_GuildInfo );
pPlayer->SendPacket( &msg, sizeof(msg) );
}
//------------------------------------------------------------------------------------------------------
// NAK
//------------------------------------------------------------------------------------------------------
// 辨靛辑滚俊辑 官肺 辨靛 沥焊甫 罐酒 坷瘤 给沁促.
// 努扼捞攫飘绰 利例茄 皋技瘤甫 免仿茄促.
Handler_GZ_GUILD_IMPL(GZ_GUILD_SELECT_NAK)
{
MSG_GZ_GUILD_SELECT_NAK * pMsg = (MSG_GZ_GUILD_SELECT_NAK *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
MSG_CG_GUILD_SELECT_NAK msg;
pMsg->m_byErrorCode = pMsg->m_byErrorCode;
pPlayer->SendPacket( &msg, sizeof(msg) );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_CREATE_NAK)
{
MSG_GZ_GUILD_CREATE_NAK * pMsg = (MSG_GZ_GUILD_CREATE_NAK *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
pPlayer->PlusMoney( CREATE_GUILD_LIMIT_MONEY );
MSG_CG_GUILD_CREATE_NAK msg;
msg.m_byErrorCode = pMsg->m_byErrorCode;
pPlayer->SendPacket( &msg, sizeof(msg) );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_DESTROY_NAK)
{
MSG_GZ_GUILD_DESTROY_NAK * pMsg = (MSG_GZ_GUILD_DESTROY_NAK *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
MSG_CG_GUILD_DESTROY_NAK msg;
msg.m_byErrorCode = pMsg->m_byErrorCode;
pPlayer->SendPacket( &msg, sizeof(msg) );
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_JOIN_NAK)
{
MSG_GZ_GUILD_JOIN_NAK * pMsg = (MSG_GZ_GUILD_JOIN_NAK *)pRecvMsg;
Player * pReceiver = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pReceiver ) return ;
MSG_CG_GUILD_JOIN_FAILED_CMD amsg;
pReceiver->SendPacket(&amsg,sizeof(amsg));
}
Handler_GZ_GUILD_IMPL(GZ_GUILD_WITHDRAW_NAK)
{
MSG_GZ_GUILD_WITHDRAW_NAK * pMsg = (MSG_GZ_GUILD_WITHDRAW_NAK *)pRecvMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pMsg->m_dwKey );
if( !pPlayer ) return ;
MSG_CG_GUILD_WITHDRAW_NAK msg;
msg.m_byErrorCode = pMsg->m_byErrorCode;
pPlayer->SendPacket( &msg, sizeof(msg) );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -