本文整理汇总了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);
}
示例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() );
}
示例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);
}