本文整理汇总了C++中UpdateChannelInDB函数的典型用法代码示例。如果您正苦于以下问题:C++ UpdateChannelInDB函数的具体用法?C++ UpdateChannelInDB怎么用?C++ UpdateChannelInDB使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了UpdateChannelInDB函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MakeNotMember
void Channel::Announce(uint64 p)
{
uint32 sec = 0;
Player *player = ObjectAccessor::FindPlayer(p);
if (player)
sec = player->GetSession()->GetSecurity();
if (!IsOn(p))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, p);
}
else if (!players[p].IsModerator() && !AccountMgr::IsGMAccount(sec))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, p);
}
else
{
m_announce = !m_announce;
WorldPacket data;
if (m_announce)
MakeAnnouncementsOn(&data, p);
else
MakeAnnouncementsOff(&data, p);
SendToAll(&data);
UpdateChannelInDB();
}
}
示例2: MakeNotMember
void Channel::Announce(uint64 p)
{
uint32 sec = 0;
Player *plr = sObjectMgr->GetPlayer(p);
if (plr)
sec = plr->GetSession()->GetSecurity();
if (!IsOn(p))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, p);
}
else if (!players[p].IsModerator() && sec < SEC_GAMEMASTER)
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, p);
}
else
{
m_announce = !m_announce;
WorldPacket data;
if (m_announce)
MakeAnnouncementsOn(&data, p);
else
MakeAnnouncementsOff(&data, p);
SendToAll(&data);
UpdateChannelInDB();
}
}
示例3: MakeNotMember
void Channel::Announce(Player const* player)
{
uint64 guid = player->GetGUID();
if (!IsOn(guid))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, guid);
return;
}
if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, guid);
return;
}
_announce = !_announce;
WorldPacket data;
if (_announce)
MakeAnnouncementsOn(&data, guid);
else
MakeAnnouncementsOff(&data, guid);
SendToAll(&data);
UpdateChannelInDB();
}
示例4: GetPlayerFlags
void Channel::SetOwner(ObjectGuid const& guid, bool exclaim)
{
if (!_ownerGuid.IsEmpty())
{
// [] will re-add player after it possible removed
auto itr = _playersStore.find(_ownerGuid);
if (itr != _playersStore.end())
itr->second.SetOwner(false);
}
_ownerGuid = guid;
if (!_ownerGuid.IsEmpty())
{
uint8 oldFlag = GetPlayerFlags(_ownerGuid);
auto itr = _playersStore.find(_ownerGuid);
if (itr == _playersStore.end())
return;
itr->second.SetModerator(true);
itr->second.SetOwner(true);
ModeChangeAppend appender(_ownerGuid, oldFlag, GetPlayerFlags(_ownerGuid));
ChannelNameBuilder<ModeChangeAppend> builder(this, appender);
SendToAll(builder);
if (exclaim)
{
OwnerChangedAppend ownerChangedAppender(_ownerGuid);
ChannelNameBuilder<OwnerChangedAppend> ownerChangedBuilder(this, ownerChangedAppender);
SendToAll(ownerChangedBuilder);
}
UpdateChannelInDB();
}
}
示例5: chat
void Channel::Password(Player const* player, std::string const& pass)
{
uint64 guid = player->GetGUID();
ChatHandler chat(player->GetSession());
if (!IsOn(guid))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, guid);
return;
}
if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, guid);
return;
}
_password = pass;
WorldPacket data;
MakePasswordChanged(&data, guid);
SendToAll(&data);
UpdateChannelInDB();
}
示例6: builder
void Channel::Password(Player const* player, std::string const& pass)
{
ObjectGuid const& guid = player->GetGUID();
if (!IsOn(guid))
{
NotMemberAppend appender;
ChannelNameBuilder<NotMemberAppend> builder(this, appender);
SendToOne(builder, guid);
return;
}
PlayerInfo& info = _playersStore.at(guid);
if (!info.IsModerator() && !player->GetSession()->HasPermission(rbac::RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
NotModeratorAppend appender;
ChannelNameBuilder<NotModeratorAppend> builder(this, appender);
SendToOne(builder, guid);
return;
}
_channelPassword = pass;
PasswordChangedAppend appender(guid);
ChannelNameBuilder<PasswordChangedAppend> builder(this, appender);
SendToAll(builder);
UpdateChannelInDB();
}
示例7: GetPlayerFlags
void Channel::SetOwner(uint64 guid, bool exclaim)
{
if (m_ownerGUID)
{
// [] will re-add player after it possible removed
PlayerList::iterator p_itr = players.find(m_ownerGUID);
if (p_itr != players.end())
p_itr->second.SetOwner(false);
}
m_ownerGUID = guid;
if (m_ownerGUID)
{
uint8 oldFlag = GetPlayerFlags(m_ownerGUID);
players[m_ownerGUID].SetModerator(true);
players[m_ownerGUID].SetOwner(true);
WorldPacket data;
MakeModeChange(&data, m_ownerGUID, oldFlag);
SendToAll(&data);
if (exclaim)
{
MakeOwnerChanged(&data, m_ownerGUID);
SendToAll(&data);
}
UpdateChannelInDB();
}
}
示例8: chat
void Channel::Password(uint64 p, const char *pass)
{
std::string plName;
uint32 sec = 0;
Player *plr = sObjectMgr->GetPlayer(p);
if (plr)
sec = plr->GetSession()->GetSecurity();
ChatHandler chat(plr);
if (!IsOn(p))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, p);
}
else if (!players[p].IsModerator() && sec < SEC_GAMEMASTER)
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, p);
}
else
{
m_password = pass;
WorldPacket data;
MakePasswordChanged(&data, p);
SendToAll(&data);
UpdateChannelInDB();
}
}
示例9: MakeModeChange
void Channel::SetOwner(ObjectGuid const& guid, bool exclaim)
{
if (!_ownerGUID.IsEmpty())
{
// [] will re-add player after it possible removed
PlayerContainer::iterator itr = _playersStore.find(_ownerGUID);
if (itr != _playersStore.end())
itr->second.SetOwner(false);
}
_ownerGUID = guid;
if (!_ownerGUID.IsEmpty())
{
uint8 oldFlag = _playersStore[_ownerGUID].GetFlags();
_playersStore[_ownerGUID].SetModerator(true);
_playersStore[_ownerGUID].SetOwner(true);
WorldPackets::Channel::ChannelNotify notify;
MakeModeChange(notify, _ownerGUID, oldFlag, _playersStore[_ownerGUID].GetFlags());
SendToAll(notify.Write());
if (exclaim)
{
MakeOwnerChanged(notify, _ownerGUID);
SendToAll(notify.Write());
}
UpdateChannelInDB();
}
}
示例10: MakeNotMember
void Channel::Announce(Player const* player)
{
ObjectGuid const& guid = player->GetGUID();
if (!IsOn(guid))
{
WorldPackets::Channel::ChannelNotify notify;
MakeNotMember(notify);
player->SendDirectMessage(notify.Write());
return;
}
if (!_playersStore[guid].IsModerator() && !player->GetSession()->HasPermission(rbac::RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPackets::Channel::ChannelNotify notify;
MakeNotModerator(notify);
player->SendDirectMessage(notify.Write());
return;
}
_announce = !_announce;
WorldPackets::Channel::ChannelNotify notify;
if (_announce)
MakeAnnouncementsOn(notify, guid);
else
MakeAnnouncementsOff(notify, guid);
SendToAll(notify.Write());
UpdateChannelInDB();
}
示例11: chat
void Channel::Password(uint64 p, const char *pass)
{
uint32 sec = 0;
Player *player = ObjectAccessor::FindPlayer(p);
if (player)
sec = player->GetSession()->GetSecurity();
ChatHandler chat(player);
if (!IsOn(p))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, p);
}
else if (!players[p].IsModerator() && !AccountMgr::IsGMAccount(sec))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, p);
}
else
{
m_password = pass;
WorldPacket data;
MakePasswordChanged(&data, p);
SendToAll(&data);
UpdateChannelInDB();
}
}
示例12: MakeNotMember
void Channel::UnBan(uint64 good, const char *badname)
{
uint32 sec = 0;
Player *gplr = sObjectMgr->GetPlayer(good);
if (gplr)
sec = gplr->GetSession()->GetSecurity();
if (!IsOn(good))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, good);
}
else if (!players[good].IsModerator() && sec < SEC_GAMEMASTER)
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, good);
}
else
{
Player *bad = sObjectMgr->GetPlayer(badname);
if (bad == NULL || !IsBanned(bad->GetGUID()))
{
WorldPacket data;
MakePlayerNotFound(&data, badname);
SendToOne(&data, good);
}
else
{
banned.erase(bad->GetGUID());
WorldPacket data;
MakePlayerUnbanned(&data, bad->GetGUID(), good);
SendToAll(&data);
UpdateChannelInDB();
}
}
}
示例13: MakeNotMember
void Channel::UnBan(Player const* player, std::string const& badname)
{
uint32 sec = player->GetSession()->GetSecurity();
uint64 good = player->GetGUID();
if (!IsOn(good))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, good);
return;
}
if (!playersStore[good].IsModerator() && !AccountMgr::IsGMAccount(sec))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, good);
return;
}
Player* bad = sObjectAccessor->FindPlayerByName(badname);
uint64 victim = bad ? bad->GetGUID(): 0;
if (!victim || !IsBanned(victim))
{
WorldPacket data;
MakePlayerNotFound(&data, badname);
SendToOne(&data, good);
return;
}
bannedStore.erase(victim);
WorldPacket data;
MakePlayerUnbanned(&data, victim, good);
SendToAll(&data);
UpdateChannelInDB();
}
示例14: MakeNotMember
void Channel::Announce(Player const* player)
{
uint64 guid = player->GetGUID();
uint32 sec = player->GetSession()->GetSecurity();
if (!IsOn(guid))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, guid);
return;
}
if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(sec))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, guid);
return;
}
if (_channelRights.flags & (CHANNEL_RIGHT_FORCE_NO_ANNOUNCEMENTS|CHANNEL_RIGHT_FORCE_ANNOUNCEMENTS))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, guid);
return;
}
_announce = !_announce;
WorldPacket data;
if (_announce)
MakeAnnouncementsOn(&data, guid);
else
MakeAnnouncementsOff(&data, guid);
SendToAll(&data);
UpdateChannelInDB();
}
示例15: MakeNotMember
void Channel::UnBan(Player const* player, std::string const& badname)
{
uint64 good = player->GetGUID();
if (!IsOn(good))
{
WorldPacket data;
MakeNotMember(&data);
SendToOne(&data, good);
return;
}
if (!playersStore[good].IsModerator() && !player->GetSession()->HasPermission(rbac::RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPacket data;
MakeNotModerator(&data);
SendToOne(&data, good);
return;
}
Player* bad = sObjectAccessor->FindPlayerByName(badname);
uint64 victim = bad ? bad->GetGUID(): 0;
if (!victim || !IsBanned(victim))
{
WorldPacket data;
MakePlayerNotFound(&data, badname);
SendToOne(&data, good);
return;
}
bannedStore.erase(victim);
WorldPacket data;
MakePlayerUnbanned(&data, victim, good);
SendToAll(&data);
UpdateChannelInDB();
}