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

📄 handler_gz_guild.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 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 + -