当前位置: 首页>>代码示例>>C++>>正文


C++ PlayerPointer::GetGuildInvitersGuid方法代码示例

本文整理汇总了C++中PlayerPointer::GetGuildInvitersGuid方法的典型用法代码示例。如果您正苦于以下问题:C++ PlayerPointer::GetGuildInvitersGuid方法的具体用法?C++ PlayerPointer::GetGuildInvitersGuid怎么用?C++ PlayerPointer::GetGuildInvitersGuid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PlayerPointer的用法示例。


在下文中一共展示了PlayerPointer::GetGuildInvitersGuid方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: HandleGuildAccept

void WorldSession::HandleGuildAccept(WorldPacket & recv_data)
{
	PlayerPointer plyr = GetPlayer();

	if(!plyr)
		return;

	PlayerPointer inviter = objmgr.GetPlayer( plyr->GetGuildInvitersGuid() );
	plyr->UnSetGuildInvitersGuid();

	if(!inviter)
	{
		return;
	}

	Guild *pGuild = inviter->m_playerInfo->guild;
	if(!pGuild)
	{
		return;
	}

	if(pGuild->GetNumMembers() >= MAX_GUILD_MEMBERS)
	{
		return;
	}

	pGuild->AddGuildMember(plyr->m_playerInfo, NULL);
}
开发者ID:CadeLaRen,项目名称:Xeon-MMORPG-Emulator,代码行数:28,代码来源:GuildHandler.cpp

示例2: HandleInviteToGuild

void WorldSession::HandleInviteToGuild(WorldPacket & recv_data)
{
	CHECK_PACKET_SIZE(recv_data, 1);

	std::string inviteeName;
	recv_data >> inviteeName;

	PlayerPointer plyr = objmgr.GetPlayer( inviteeName.c_str() , false);
	Guild *pGuild = _player->m_playerInfo->guild;
	
	if(!plyr)
	{
		Guild::SendGuildCommandResult(this, GUILD_INVITE_S,inviteeName.c_str(),GUILD_PLAYER_NOT_FOUND);
		return;
	}
	else if(!pGuild)
	{
		Guild::SendGuildCommandResult(this, GUILD_CREATE_S,"",GUILD_PLAYER_NOT_IN_GUILD);
		return;
	}

	if( plyr->GetGuildId() )
	{
		Guild::SendGuildCommandResult(this, GUILD_INVITE_S,plyr->GetName(),ALREADY_IN_GUILD);
		return;
	}
	else if( plyr->GetGuildInvitersGuid())
	{
		Guild::SendGuildCommandResult(this, GUILD_INVITE_S,plyr->GetName(),ALREADY_INVITED_TO_GUILD);
		return;
	}
	else if(!_player->m_playerInfo->guildRank->CanPerformCommand(GR_RIGHT_INVITE))
	{
		Guild::SendGuildCommandResult(this, GUILD_INVITE_S,"",GUILD_PERMISSIONS);
		return;
	}
	else if(plyr->GetTeam()!=_player->GetTeam() && _player->GetSession()->GetPermissionCount() == 0 && !sWorld.cross_faction_world)
	{
		Guild::SendGuildCommandResult(this, GUILD_INVITE_S,"",GUILD_NOT_ALLIED);
		return;
	}
	else if(pGuild->GetNumMembers() >= MAX_GUILD_MEMBERS)
	{
		// We can't handle >= 500 members, or WoW will #132. I don't have the proper error code, so just throw the internal one.
		Guild::SendGuildCommandResult(this, GUILD_INVITE_S,"",GUILD_INTERNAL);
		return;
	}
	Guild::SendGuildCommandResult(this, GUILD_INVITE_S,inviteeName.c_str(),GUILD_U_HAVE_INVITED);
	//41
  
	WorldPacket data(SMSG_GUILD_INVITE, 100);
	data << _player->GetName();
	data << pGuild->GetGuildName();
	plyr->GetSession()->SendPacket(&data);

	plyr->SetGuildInvitersGuid( _player->GetLowGUID() );	
}
开发者ID:CadeLaRen,项目名称:Xeon-MMORPG-Emulator,代码行数:57,代码来源:GuildHandler.cpp

示例3: HandleGuildDecline

void WorldSession::HandleGuildDecline(WorldPacket & recv_data)
{
	WorldPacket data;

	PlayerPointer plyr = GetPlayer();

	if(!plyr)
		return;

	PlayerPointer inviter = objmgr.GetPlayer( plyr->GetGuildInvitersGuid() );
	plyr->UnSetGuildInvitersGuid(); 

	if(!inviter)
		return;

	data.Initialize(SMSG_GUILD_DECLINE);
	data << plyr->GetName();
	inviter->GetSession()->SendPacket(&data);
}
开发者ID:CadeLaRen,项目名称:Xeon-MMORPG-Emulator,代码行数:19,代码来源:GuildHandler.cpp


注:本文中的PlayerPointer::GetGuildInvitersGuid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。