本文整理汇总了C++中CChatChannel::KickAll方法的典型用法代码示例。如果您正苦于以下问题:C++ CChatChannel::KickAll方法的具体用法?C++ CChatChannel::KickAll怎么用?C++ CChatChannel::KickAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CChatChannel
的用法示例。
在下文中一共展示了CChatChannel::KickAll方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: KillChannels
void CChat::KillChannels()
{
ADDTOCALLSTACK("CChat::KillChannels");
CChatChannel * pChannel = GetFirstChannel();
// First /kick everyone
for ( ; pChannel != NULL; pChannel = pChannel->GetNext())
pChannel->KickAll();
m_Channels.Empty();
}
示例2: DoCommand
void CChat::DoCommand(CChatChanMember * pBy, LPCTSTR szMsg)
{
ADDTOCALLSTACK("CChat::DoCommand");
static LPCTSTR const sm_szCmd_Chat[] =
{
"ALLKICK",
"BC",
"BCALL",
"CHATSOK",
"CLEARIGNORE",
"KILLCHATS",
"NOCHATS",
"SYSMSG",
"WHEREIS"
};
ASSERT(pBy != NULL);
ASSERT(szMsg != NULL);
TCHAR buffer[2048];
ASSERT(strlen(szMsg) < COUNTOF(buffer));
strcpy(buffer, szMsg);
TCHAR * pszCommand = buffer;
TCHAR * pszText = NULL;
size_t iCommandLength = strlen(pszCommand);
for (size_t i = 0; i < iCommandLength; i++)
{
ASSERT( i<COUNTOF(buffer));
if (pszCommand[i] == ' ')
{
pszCommand[i] = 0;
pszText = pszCommand + i + 1;
}
}
CGString sFrom;
CChatChannel * pChannel = pBy->GetChannel();
CClient * pByClient = pBy->GetClient();
ASSERT(pByClient != NULL);
switch ( FindTableSorted( pszCommand, sm_szCmd_Chat, COUNTOF(sm_szCmd_Chat)))
{
case 0: // "ALLKICK"
{
if (pChannel == NULL)
{
pBy->SendChatMsg(CHATMSG_MustBeInAConference);
return;
}
if (!pChannel->IsModerator(pBy->GetChatName()))
{
pBy->SendChatMsg(CHATMSG_MustHaveOps);
return;
}
pChannel->KickAll(pBy);
DecorateName(sFrom, NULL, true);
pBy->SendChatMsg(CHATMSG_PlayerTalk, sFrom, "All members have been kicked!", "");
return;
}
case 1: // "BC"
{
if ( ! pByClient->IsPriv( PRIV_GM ))
{
need_gm_privs:
DecorateName(sFrom, NULL, true);
pBy->SendChatMsg(CHATMSG_PlayerTalk, sFrom, "You need to have GM privs to use this command.");
return;
}
Broadcast(pBy, pszText);
return;
}
case 2: // "BCALL"
{
if ( ! pByClient->IsPriv( PRIV_GM ))
goto need_gm_privs;
Broadcast(pBy, pszText, "", true);
return;
}
case 3: // "CHATSOK"
{
if ( ! pByClient->IsPriv( PRIV_GM ))
goto need_gm_privs;
if (!m_fChatsOK)
{
m_fChatsOK = true;
Broadcast(NULL, "Conference creation is enabled.");
}
return;
}
case 4: // "CLEARIGNORE"
{
pBy->ClearIgnoreList();
return;
}
//.........这里部分代码省略.........