本文整理汇总了C++中CGuild::GetTotalMember方法的典型用法代码示例。如果您正苦于以下问题:C++ CGuild::GetTotalMember方法的具体用法?C++ CGuild::GetTotalMember怎么用?C++ CGuild::GetTotalMember使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGuild
的用法示例。
在下文中一共展示了CGuild::GetTotalMember方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: NetworkMsgParse
void cSkillManager::NetworkMsgParse( BYTE Protocol, void* pMsg )
{
switch(Protocol)
{
case MP_SKILL_START_SYN:
{
MSG_SKILL_START_SYN* pmsg = ( MSG_SKILL_START_SYN* )pMsg;
CObject* object = g_pUserTable->FindUser( pmsg->Operator );
if( ! object )
{
break;
}
// 080904 LYW --- SkillManager : 공성전 중 사용할 수 없는 스킬 체크.
if( SIEGEWARFAREMGR->Is_CastleMap() == FALSE &&
SIEGEWARFAREMGR->IsSiegeWarfareZone() &&
SIEGEWARFAREMGR->GetState() > eSiegeWarfare_State_Before )
{
if( SIEGEWARFAREMGR->IsFobiddenSkill(pmsg->SkillIdx) ) return ;
}
SKILL_RESULT result = SKILL_FAIL_ETC;
if( object->GetObjectKind() == eObjectKind_Player )
result = OnSkillStartSyn( pmsg );
else if( object->GetObjectKind() == eObjectKind_Pet )
result = OnPetSkillStartSyn( pmsg );
// 080610 LUJ, 스킬 실패 시 메시지를 반환하도록 함
if( result != SKILL_SUCCESS )
{
CObject* object = g_pUserTable->FindUser( pmsg->Operator );
if( ! object )
{
break;
}
MSG_DWORD2 message;
ZeroMemory( &message, sizeof( message ) );
message.Category = MP_SKILL;
message.Protocol = MP_SKILL_START_NACK;
message.dwData1 = pmsg->SkillIdx;
message.dwData2 = result;
object->SendMsg( &message, sizeof( message ) );
}
}
break;
// 080602 LUJ, 전서버 대상 스킬이 전파됨
case MP_SKILL_START_TO_MAP:
{
const MSG_ITEM_SKILL_START_TO_MAP* const receivedMessage = (MSG_ITEM_SKILL_START_TO_MAP*)pMsg;
const cActiveSkillInfo* const skillInfo = GetActiveInfo( receivedMessage->mSkill.wSkillIdx );
if(0 == skillInfo ||
TARGET_KIND_WORLD != skillInfo->GetInfo().Area)
{
break;
}
typedef std::set< DWORD > ObjectIndexSet;
ObjectIndexSet objectIndexSet;
switch(skillInfo->GetInfo().AreaTarget)
{
case eSkillAreaTargetGuild:
{
GUILDMEMBERINFO memberInfo[ MAX_GUILD_MEMBER ] = { 0 };
CGuild* guild = GUILDMGR->GetGuild( receivedMessage->dwObjectID );
if( ! guild )
{
break;
}
guild->GetTotalMember( memberInfo );
for(
DWORD size = sizeof( memberInfo ) / sizeof( *memberInfo );
size--; )
{
objectIndexSet.insert( memberInfo[ size ].MemberIdx );
}
break;
}
case eSkillAreaTargetFamily:
{
const DWORD familyIndex = receivedMessage->dwObjectID;
// 080602 LUJ, 패밀리는 맵 서버에 데이타가 없고, 에이전트에 있다. 번거롭지만
// DB에 회원 목록을 쿼리해서 버프를 적용하도록 하자.
// 081012 LUJ, 일부 로컬은 프로시저 호출 시 대소문자까지 일치해야 한다. 단, dbo는 소문자로 해야함. 이에 모든 프로시저 이름을 수정함
g_DB.FreeMiddleQuery(
RSkillAddToFamily,
skillInfo->GetIndex(),
"EXEC dbo.MP_FAMILY_MEMBER_LOADINFO %d",
familyIndex );
//.........这里部分代码省略.........