您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AccountTypes函数代码示例

51自学网 2021-06-01 19:39:19
  C++
这篇教程C++ AccountTypes函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AccountTypes函数的典型用法代码示例。如果您正苦于以下问题:C++ AccountTypes函数的具体用法?C++ AccountTypes怎么用?C++ AccountTypes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

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

示例1: HandleGMListIngameCommand

    static bool HandleGMListIngameCommand(ChatHandler* handler, char const* /*args*/)    {        bool first = true;        bool footer = false;        TRINITY_READ_GUARD(HashMapHolder<Player>::LockType, *HashMapHolder<Player>::GetLock());        HashMapHolder<Player>::MapType const& m = sObjectAccessor->GetPlayers();        for (HashMapHolder<Player>::MapType::const_iterator itr = m.begin(); itr != m.end(); ++itr)        {            AccountTypes itrSec = itr->second->GetSession()->GetSecurity();            if ((itr->second->isGameMaster() || (itrSec > SEC_MODERATOR && itrSec <= AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_GM_LIST)))) &&                (!handler->GetSession() || itr->second->IsVisibleGloballyFor(handler->GetSession()->GetPlayer())))            {                if (first)                {                    first = false;                    footer = true;                    handler->SendSysMessage(LANG_GMS_ON_SRV);                    handler->SendSysMessage("========================");                }                char const* name = itr->second->GetName();                uint8 security = itrSec;                if (security == 0)                    continue;                uint8 max = ((16 - strlen(name)) / 2);                uint8 max2 = max;                if ((max + max2 + strlen(name)) == 16)                    max2 = max - 1;                if (handler->GetSession())                    handler->PSendSysMessage("|    %s GMLevel %u", name, security);                else                    handler->PSendSysMessage("|%*s%s%*s|   %u  |", max, " ", name, max2, " ", security);            }        }        if (footer)            handler->SendSysMessage("========================");        if (first)            handler->SendSysMessage(LANG_GMS_NOT_LOGGED);        return true;    }
开发者ID:Blackn7g,项目名称:Voodoo,代码行数:40,


示例2: AccountTypes

void SocialMgr::GetFriendInfo(Player *player, uint32 friendGUID, FriendInfo &friendInfo){    if (!player)        return;    friendInfo.Status = FRIEND_STATUS_OFFLINE;    friendInfo.Area = 0;    friendInfo.Level = 0;    friendInfo.Class = 0;    Player *pFriend = ObjectAccessor::FindPlayer(friendGUID);    if (!pFriend)        return;    uint32 team = player->GetTeam();    AccountTypes security = player->GetSession()->GetSecurity();    bool allowTwoSideWhoList = sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_WHO_LIST);    AccountTypes gmLevelInWhoList = AccountTypes (sWorld.getConfig(CONFIG_GM_LEVEL_IN_WHO_LIST));    PlayerSocialMap::iterator itr = player->GetSocial()->m_playerSocialMap.find(friendGUID);    if (itr != player->GetSocial()->m_playerSocialMap.end())        friendInfo.Note = itr->second.Note;    // PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters    // MODERATOR, GAME MASTER, ADMINISTRATOR can see all    if (pFriend && pFriend->GetName() &&        (security > SEC_PLAYER ||        ((pFriend->GetTeam() == team || allowTwoSideWhoList) && (pFriend->GetSession()->GetSecurity() <= gmLevelInWhoList))) &&        pFriend->IsVisibleGloballyFor(player))    {        friendInfo.Status = FRIEND_STATUS_ONLINE;        if (pFriend->isAFK())            friendInfo.Status = FRIEND_STATUS_AFK;        if (pFriend->isDND())            friendInfo.Status = FRIEND_STATUS_DND;        friendInfo.Area = pFriend->GetZoneId();        friendInfo.Level = pFriend->getLevel();        friendInfo.Class = pFriend->getClass();    }}
开发者ID:GameOn,项目名称:gameon,代码行数:40,


示例3: builder

void Channel::List(Player const* player){    ObjectGuid const& guid = player->GetGUID();    if (!IsOn(guid))    {        NotMemberAppend appender;        ChannelNameBuilder<NotMemberAppend> builder(this, appender);        SendToOne(builder, guid);        return;    }    std::string channelName = GetName(player->GetSession()->GetSessionDbcLocale());    TC_LOG_DEBUG("chat.system", "SMSG_CHANNEL_LIST %s Channel: %s",        player->GetSession()->GetPlayerInfo().c_str(), channelName.c_str());    WorldPackets::Channel::ChannelListResponse list;    list._Display = true; /// always true?    list._Channel = channelName;    list._ChannelFlags = GetFlags();    uint32 gmLevelInWhoList = sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST);    list._Members.reserve(_playersStore.size());    for (PlayerContainer::value_type const& i : _playersStore)    {        Player* member = ObjectAccessor::FindConnectedPlayer(i.first);        // PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters        // MODERATOR, GAME MASTER, ADMINISTRATOR can see all        if (member &&            (player->GetSession()->HasPermission(rbac::RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS) ||             member->GetSession()->GetSecurity() <= AccountTypes(gmLevelInWhoList)) &&            member->IsVisibleGloballyFor(player))        {            list._Members.emplace_back(i.first, GetVirtualRealmAddress(), i.second.GetFlags());        }    }    player->SendDirectMessage(list.Write());}
开发者ID:Lyill,项目名称:TrinityCore,代码行数:40,


示例4: UpdateRealm

void RealmList::UpdateRealms(bool init) {	sLog->outDetail("Updating Realm List...");	PreparedStatement *stmt = LoginDatabase.GetPreparedStatement(			LOGIN_GET_REALMLIST);	PreparedQueryResult result = LoginDatabase.Query(stmt);	// Circle through results and add them to the realm map	if (result) {		do {			Field *fields = result->Fetch();			uint32 realmId = fields[0].GetUInt32();			const std::string& name = fields[1].GetString();			const std::string& address = fields[2].GetString();			uint32 port = fields[3].GetUInt32();			uint8 icon = fields[4].GetUInt8();			uint8 color = fields[5].GetUInt8();			uint8 timezone = fields[6].GetUInt8();			uint8 allowedSecurityLevel = fields[7].GetUInt8();			float pop = fields[8].GetFloat();			uint32 build = fields[9].GetUInt32();			UpdateRealm(					realmId,					name,					address,					port,					icon,					color,					timezone,					(allowedSecurityLevel <= SEC_ADMINISTRATOR ?							AccountTypes(allowedSecurityLevel) :							SEC_ADMINISTRATOR), pop, build);			if (init)				sLog->outString("Added realm /"%s/".", fields[1].GetCString());		} while (result->NextRow());	}}
开发者ID:rexy,项目名称:ArkCORE,代码行数:39,


示例5: time_t

void PlayerBot::InitializeSession(uint32 accountId){    QueryResult* result =        LoginDatabase.PQuery("SELECT "            "gmlevel, "                 //1            "expansion, "               //7            "mutetime, "                //8            "locale "                   //9            "FROM account "            "WHERE id = '%u'",            accountId);    // Stop if the account is not found    if (!result)    {        return;    }    Field* fields = result->Fetch();    uint32 security = fields[0].GetUInt16();    uint8 expansion = fields[1].GetUInt8();    time_t mutetime = time_t(fields[2].GetUInt64());    LocaleConstant locale = LocaleConstant(fields[3].GetUInt8());    WorldSocket* sock = nullptr;    WorldSession* session = new WorldSession(accountId, sock, AccountTypes(security), expansion, mutetime, locale);    if (!session)    {        return;    }    session->SetPlayerBot(true);    session->SetPlayerBotActive(true);    sWorld.AddSession(session);    m_session = session;}
开发者ID:AlexHjelm,项目名称:Core,代码行数:37,


示例6: switch

bool ChatHandler::isAvailable(ChatCommand const& cmd) const{    uint32 permission = 0;    ///@Workaround:: Fast adaptation to RBAC system till all commands are moved to permissions    switch (AccountTypes(cmd.SecurityLevel))    {        case SEC_ADMINISTRATOR:            permission = RBAC_PERM_ADMINISTRATOR_COMMANDS;            break;        case SEC_GAMEMASTER:            permission = RBAC_PERM_GAMEMASTER_COMMANDS;            break;        case SEC_MODERATOR:            permission = RBAC_PERM_MODERATOR_COMMANDS;            break;        case SEC_PLAYER:        default:            permission = RBAC_PERM_PLAYER_COMMANDS;            break;    }    return m_session->HasPermission(permission);}
开发者ID:MiranaStarlight,项目名称:TrinityCore,代码行数:24,


示例7: MakeNotMember

void Channel::List(Player* player){    uint64 p = player->GetGUID();    if (!IsOn(p))    {        WorldPacket data;        MakeNotMember(&data);        SendToOne(&data, p);    }    else    {        WorldPacket data(SMSG_CHANNEL_LIST, 1+(GetName().size()+1)+1+4+players.size()*(8+1));        data << uint8(1);                                   // channel type?        data << GetName();                                  // channel name        data << uint8(GetFlags());                          // channel flags?        size_t pos = data.wpos();        data << uint32(0);                                  // size of list, placeholder        uint32 gmLevelInWhoList = sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST);        uint32 count  = 0;        for (PlayerList::const_iterator i = players.begin(); i != players.end(); ++i)        {            Player *plr = sObjectMgr->GetPlayer(i->first);            // PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters            // MODERATOR, GAME MASTER, ADMINISTRATOR can see all            if (plr && (player->GetSession()->GetSecurity() > SEC_PLAYER || plr->GetSession()->GetSecurity() <= AccountTypes(gmLevelInWhoList)) &&                plr->IsVisibleGloballyFor(player))            {                data << uint64(i->first);                data << uint8(i->second.flags);             // flags seems to be changed...                ++count;            }        }        data.put<uint32>(pos, count);        SendToOne(&data, p);    }}
开发者ID:Alluring,项目名称:TrinityCore,代码行数:43,


示例8: socket

// Reconnect Challenge command handlerbool AuthSocket::_HandleReconnectChallenge(){    sLog->outDebug(LOG_FILTER_AUTHSERVER, "Entering _HandleReconnectChallenge");    if (socket().recv_len() < sizeof(sAuthLogonChallenge_C))        return false;    // Read the first 4 bytes (header) to get the length of the remaining of the packet    std::vector<uint8> buf;    buf.resize(4);    socket().recv((char *)&buf[0], 4);#if TRINITY_ENDIAN == TRINITY_BIGENDIAN    EndianConvert(*((uint16*)(buf[0])));#endif    uint16 remaining = ((sAuthLogonChallenge_C *)&buf[0])->size;    sLog->outDebug(LOG_FILTER_AUTHSERVER, "[ReconnectChallenge] got header, body is %#04x bytes", remaining);    if ((remaining < sizeof(sAuthLogonChallenge_C) - buf.size()) || (socket().recv_len() < remaining))        return false;    // No big fear of memory outage (size is int16, i.e. < 65536)    buf.resize(remaining + buf.size() + 1);    buf[buf.size() - 1] = 0;    sAuthLogonChallenge_C *ch = (sAuthLogonChallenge_C*)&buf[0];    // Read the remaining of the packet    socket().recv((char *)&buf[4], remaining);    sLog->outDebug(LOG_FILTER_AUTHSERVER, "[ReconnectChallenge] got full packet, %#04x bytes", ch->size);    sLog->outDebug(LOG_FILTER_AUTHSERVER, "[ReconnectChallenge] name(%d): '%s'", ch->I_len, ch->I);    _login = (const char*)ch->I;    PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_SESSIONKEY);    stmt->setString(0, _login);    PreparedQueryResult result = LoginDatabase.Query(stmt);    // Stop if the account is not found    if (!result)    {        sLog->outError(LOG_FILTER_AUTHSERVER, "'%s:%d' [ERROR] user %s tried to login and we cannot find his session key in the database.", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str());        socket().shutdown();        return false;    }    // Reinitialize build, expansion and the account securitylevel    _build = ch->build;    _os = (const char*)ch->os;    if (_os.size() > 4)        return false;    // Restore string order as its byte order is reversed    std::reverse(_os.begin(), _os.end());    Field* fields = result->Fetch();    uint8 secLevel = fields[2].GetUInt8();    _accountSecurityLevel = secLevel <= SEC_ADMINISTRATOR ? AccountTypes(secLevel) : SEC_ADMINISTRATOR;    K.SetHexStr ((*result)[0].GetCString());    // Sending response    ByteBuffer pkt;    pkt << uint8(AUTH_RECONNECT_CHALLENGE);    pkt << uint8(0x00);    _reconnectProof.SetRand(16 * 8);    pkt.append(_reconnectProof.AsByteArray(16), 16);        // 16 bytes random    pkt << uint64(0x00) << uint64(0x00);                    // 16 bytes zeros    socket().send((char const*)pkt.contents(), pkt.size());    return true;}
开发者ID:Cailiaock,项目名称:5.4.7-Wow-source,代码行数:73,


示例9: AccountTypes

bool ChatHandler::isAvailable(ChatCommand const& cmd) const{    // check security level only for simple  command (without child commands)    return m_session->GetSecurity() >= AccountTypes(cmd.SecurityLevel);}
开发者ID:Caydan,项目名称:JadeCore548,代码行数:5,


示例10: socket

// Reconnect Challenge command handlerbool AuthSocket::_HandleReconnectChallenge(){    sLog->outStaticDebug("Entering _HandleReconnectChallenge");    if (socket().recv_len() < sizeof(sAuthLogonChallenge_C))        return false;    // Read the first 4 bytes (header) to get the length of the remaining of the packet    std::vector<uint8> buf;    buf.resize(4);    socket().recv((char *)&buf[0], 4);#if STRAWBERRY_ENDIAN == STRAWBERRY_BIGENDIAN    EndianConvert(*((uint16*)(buf[0])));#endif    uint16 remaining = ((sAuthLogonChallenge_C *)&buf[0])->size;    sLog->outStaticDebug("[ReconnectChallenge] got header, body is %#04x bytes", remaining);    if ((remaining < sizeof(sAuthLogonChallenge_C) - buf.size()) || (socket().recv_len() < remaining))        return false;    // No big fear of memory outage (size is int16, i.e. < 65536)    buf.resize(remaining + buf.size() + 1);    buf[buf.size() - 1] = 0;    sAuthLogonChallenge_C *ch = (sAuthLogonChallenge_C*)&buf[0];    // Read the remaining of the packet    socket().recv((char *)&buf[4], remaining);    sLog->outStaticDebug("[ReconnectChallenge] got full packet, %#04x bytes", ch->size);    sLog->outStaticDebug("[ReconnectChallenge] name(%d): '%s'", ch->I_len, ch->I);    _login = (const char*)ch->I;    PreparedStatement* stmt = RealmDB.GetPreparedStatement(LOGIN_GET_SESSIONKEY);    stmt->setString(0, _login);    PreparedQueryResult result = RealmDB.Query(stmt);    // Stop if the account is not found    if (!result)    {        sLog->outError("[ERROR] user %s tried to login and we cannot find his session key in the database.", _login.c_str());        socket().shutdown();        return false;    }    // Reinitialize build, expansion and the account securitylevel    _build = ch->build;    _expversion = (AuthHelper::GetAcceptedClientBuilds(_build) ? LK_EXPANSION_FLAG : CL_EXPANSION_FLAG) | (AuthHelper::GetAcceptedClientBuilds(_build) ? BC_EXPANSION_FLAG : CL_EXPANSION_FLAG);    Field* fields = result->Fetch();    uint8 secLevel = fields[2].GetUInt8();    _accountSecurityLevel = secLevel <= SEC_ADMINISTRATOR ? AccountTypes(secLevel) : SEC_ADMINISTRATOR;    K.SetHexStr ((*result)[0].GetCString());    // Sending response    ByteBuffer pkt;    pkt << (uint8)AUTH_RECONNECT_CHALLENGE;    pkt << (uint8)0x00;    _reconnectProof.SetRand(16 * 8);    pkt.append(_reconnectProof.AsByteArray(16), 16);        // 16 bytes random    pkt << (uint64)0x00 << (uint64)0x00;                    // 16 bytes zeros    socket().send((char const*)pkt.contents(), pkt.size());    return true;}
开发者ID:sacel,项目名称:StrawberryEMU,代码行数:67,


示例11: TC_LOG_INFO

void RealmList::UpdateRealms(bool init){    TC_LOG_INFO("server.authserver", "Updating Realm List...");    PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_REALMLIST);    PreparedQueryResult result = LoginDatabase.Query(stmt);    // Circle through results and add them to the realm map    if (result)    {        do        {            try            {                boost::asio::ip::tcp::resolver::iterator end;                Field* fields = result->Fetch();                uint32 realmId = fields[0].GetUInt32();                std::string name = fields[1].GetString();                boost::asio::ip::tcp::resolver::query externalAddressQuery(ip::tcp::v4(), fields[2].GetString(), "");                boost::system::error_code ec;                boost::asio::ip::tcp::resolver::iterator endPoint = _resolver->resolve(externalAddressQuery, ec);                if (endPoint == end || ec)                {                    TC_LOG_ERROR("server.authserver", "Could not resolve address %s", fields[2].GetString().c_str());                    return;                }                ip::address externalAddress = (*endPoint).endpoint().address();                boost::asio::ip::tcp::resolver::query localAddressQuery(ip::tcp::v4(), fields[3].GetString(), "");                endPoint = _resolver->resolve(localAddressQuery, ec);                if (endPoint == end || ec)                {                    TC_LOG_ERROR("server.authserver", "Could not resolve address %s", fields[3].GetString().c_str());                    return;                }                ip::address localAddress = (*endPoint).endpoint().address();                boost::asio::ip::tcp::resolver::query localSubmaskQuery(ip::tcp::v4(), fields[4].GetString(), "");                endPoint = _resolver->resolve(localSubmaskQuery, ec);                if (endPoint == end || ec)                {                    TC_LOG_ERROR("server.authserver", "Could not resolve address %s", fields[4].GetString().c_str());                    return;                }                ip::address localSubmask = (*endPoint).endpoint().address();                uint16 port = fields[5].GetUInt16();                uint8 icon = fields[6].GetUInt8();                RealmFlags flag = RealmFlags(fields[7].GetUInt8());                uint8 timezone = fields[8].GetUInt8();                uint8 allowedSecurityLevel = fields[9].GetUInt8();                float pop = fields[10].GetFloat();                uint32 build = fields[11].GetUInt32();                UpdateRealm(realmId, name, externalAddress, localAddress, localSubmask, port, icon, flag, timezone,                    (allowedSecurityLevel <= SEC_ADMINISTRATOR ? AccountTypes(allowedSecurityLevel) : SEC_ADMINISTRATOR), pop, build);                if (init)                    TC_LOG_INFO("server.authserver", "Added realm /"%s/" at %s:%u.", name.c_str(), m_realms[name].ExternalAddress.to_string().c_str(), port);            }            catch (std::exception& ex)            {                TC_LOG_ERROR("server.authserver", "Realmlist::UpdateRealms has thrown an exception: %s", ex.what());                ASSERT(false);            }        }        while (result->NextRow());    }}
开发者ID:mysql1,项目名称:TournamentCore,代码行数:74,


示例12: DEBUG_LOG

//.........这里部分代码省略.........                ///- If the account is banned, reject the logon attempt                QueryResult* banresult = LoginDatabase.PQuery("SELECT bandate,unbandate FROM account_banned WHERE "                    "id = %u AND active = 1 AND (unbandate > UNIX_TIMESTAMP() OR unbandate = bandate)", accountId);                if (banresult)                {                    if ((*banresult)[0].GetUInt64() == (*banresult)[1].GetUInt64())                    {                        result = WOW_FAIL_BANNED;                        BASIC_LOG("[AuthChallenge] Banned account %s (Id: %u) tries to login!", _login.c_str(), accountId);                    }                    else                    {                        result = WOW_FAIL_SUSPENDED;                        BASIC_LOG("[AuthChallenge] Temporarily banned account %s (Id: %u) tries to login!",_login.c_str(), accountId);                    }                    delete banresult;                }                else                {                    DEBUG_LOG("database authentication values: v='%s' s='%s'", databaseV.c_str(), databaseS.c_str());                    // multiply with 2, bytes are stored as hexstring                    if (databaseV.size() != s_BYTE_SIZE*2 || databaseS.size() != s_BYTE_SIZE*2)                        _SetVSFields(rI);                    else                    {                        s.SetHexStr(databaseS.c_str());                        v.SetHexStr(databaseV.c_str());                    }                    result = WOW_SUCCESS;                    _accountSecurityLevel = secLevel <= SEC_ADMINISTRATOR ? AccountTypes(secLevel) : SEC_ADMINISTRATOR;                    _localizationName.resize(4);                    for (int i = 0; i < 4; ++i)                        _localizationName[i] = ch->country[4-i-1];                    BASIC_LOG("[AuthChallenge] account %s (Id: %u) is using '%c%c%c%c' locale (%u)", _login.c_str (), accountId, ch->country[3], ch->country[2], ch->country[1], ch->country[0], GetLocaleByName(_localizationName));                }            }            delete qresult;        }        else if (sConfig.GetBoolDefault("AutoRegistration", false))        {            if (_safelogin.find_first_of("/t/v/b/f/a/n/r///"/'/? <>[](){}_=+-|/[email
C++ AcpiDbSetOutputDestination函数代码示例
C++ Accept函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。