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

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

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

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

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

示例1: OnPlayerLogin

void RandomPlayerbotMgr::OnPlayerLogin(Player* player){    for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)    {        Player* const bot = it->second;        if (player == bot || player->GetPlayerbotAI())            continue;        Group* group = bot->GetGroup();        if (!group)            continue;        for (GroupReference *gref = group->GetFirstMember(); gref; gref = gref->next())        {            Player* member = gref->getSource();            PlayerbotAI* ai = bot->GetPlayerbotAI();            if (member == player && (!ai->GetMaster() || ai->GetMaster()->GetPlayerbotAI()))            {                ai->SetMaster(player);                ai->ResetStrategies();                ai->TellMaster("Hello");                break;            }        }    }    if (!player->GetPlayerbotAI())        players.push_back(player);}
开发者ID:billy1arm,项目名称:serverZero,代码行数:29,


示例2: PlayerbotAI

void PlayerbotMgr::OnBotLogin(Player * const bot){    // give the bot some AI, object is owned by the player class    PlayerbotAI* ai = new PlayerbotAI(this, bot);    bot->SetPlayerbotAI(ai);    // tell the world session that they now manage this new bot    m_playerBots[bot->GetObjectGuid()] = bot;    // if bot is in a group and master is not in group then    // have bot leave their group    if (bot->GetGroup() &&        (m_master->GetGroup() == nullptr ||        m_master->GetGroup()->IsMember(bot->GetObjectGuid()) == false))        bot->RemoveFromGroup();    // sometimes master can lose leadership, pass leadership to master check    const ObjectGuid masterGuid = m_master->GetObjectGuid();    if (m_master->GetGroup() &&        !m_master->GetGroup()->IsLeader(masterGuid))        // But only do so if one of the master's bots is leader        for (PlayerBotMap::const_iterator itr = GetPlayerBotsBegin(); itr != GetPlayerBotsEnd(); itr++)        {            Player* bot = itr->second;            if (m_master->GetGroup()->IsLeader(bot->GetObjectGuid()))            {                m_master->GetGroup()->ChangeLeader(masterGuid);                break;            }        }}
开发者ID:YggDrazil,项目名称:FrozenWoW-AiBot,代码行数:31,


示例3: Stay

void PlayerbotMgr::Stay(){    for (PlayerBotMap::const_iterator itr = GetPlayerBotsBegin(); itr != GetPlayerBotsEnd(); ++itr)    {        Player* bot = itr->second;        bot->GetMotionMaster()->Clear();    }}
开发者ID:cmangos,项目名称:mangos-tbc,代码行数:8,


示例4: HandleCommand

void RandomPlayerbotMgr::HandleCommand(uint32 type, const string& text, Player& fromPlayer){    for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)    {        Player* const bot = it->second;        bot->GetPlayerbotAI()->HandleCommand(type, text, fromPlayer);    }}
开发者ID:billy1arm,项目名称:serverZero,代码行数:8,


示例5: RemoveAllBotsFromGroup

void PlayerbotMgr::RemoveAllBotsFromGroup(){    for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); m_master->GetGroup() && it != GetPlayerBotsEnd(); ++it)    {        Player* const bot = it->second;        if (bot->IsInGroup(m_master))            m_master->GetGroup()->RemoveMember(bot->GetObjectGuid(), 0);    }}
开发者ID:cmangos,项目名称:mangos-tbc,代码行数:9,


示例6: while

void PlayerbotMgr::LogoutAllBots(){    while (true)    {        PlayerBotMap::const_iterator itr = GetPlayerBotsBegin();        if (itr == GetPlayerBotsEnd()) break;        Player* bot= itr->second;        LogoutPlayerBot(bot->GetGUID());    }}
开发者ID:mbb1978,项目名称:mangos,代码行数:10,


示例7: while

void PlayerbotMgr::LogoutAllBots(){    while (true)    {        PlayerBotMap::const_iterator itr = GetPlayerBotsBegin();        if (itr == GetPlayerBotsEnd()) break;        Player* bot = itr->second;        LogoutPlayerBot(bot->GetObjectGuid());    }    RemoveAllBotsFromGroup();}
开发者ID:cmangos,项目名称:mangos-tbc,代码行数:11,


示例8: OnMasterLevelUp

void PlayerbotMgr::OnMasterLevelUp() {	// give all bots the same level as the master so they stay current	for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)	{		Player* const bot = it->second;		if (bot->getLevel() < m_master->getLevel())		{			bot->GiveLevel(m_master->getLevel());			bot->GetPlayerbotAI()->Levelup();		}	}}
开发者ID:natedahl32,项目名称:portalclassic,代码行数:13,


示例9: while

void PlayerbotMgr::LogoutAllBots(){    while (true)    {        PlayerBotMap::const_iterator itr = GetPlayerBotsBegin();        if (itr == GetPlayerBotsEnd()) break;        if (Player* bot = itr->second)        {            LogoutPlayerBot(bot->GetObjectGuid());            m_botCount--;        }    }    RemoveAllBotsFromGroup();                   ///-> If bot are logging out remove them group}
开发者ID:Jojo2323,项目名称:mangos3,代码行数:14,


示例10: WorldPacket

void PlayerbotMgr::OnBotLogin(Player* const bot){    // simulate client taking control    WorldPacket* const pCMSG_SET_ACTIVE_MOVER = new WorldPacket(CMSG_SET_ACTIVE_MOVER, 8);    *pCMSG_SET_ACTIVE_MOVER << bot->GetObjectGuid();    bot->GetSession()->QueuePacket(std::move(std::unique_ptr<WorldPacket>(pCMSG_SET_ACTIVE_MOVER)));    WorldPacket* const pMSG_MOVE_FALL_LAND = new WorldPacket(MSG_MOVE_FALL_LAND, 28);    *pMSG_MOVE_FALL_LAND << bot->GetMover()->m_movementInfo;    bot->GetSession()->QueuePacket(std::move(std::unique_ptr<WorldPacket>(pMSG_MOVE_FALL_LAND)));    // give the bot some AI, object is owned by the player class    PlayerbotAI* ai = new PlayerbotAI(this, bot);    bot->SetPlayerbotAI(ai);    // tell the world session that they now manage this new bot    m_playerBots[bot->GetObjectGuid()] = bot;    // if bot is in a group and master is not in group then    // have bot leave their group    if (bot->GetGroup() &&            (m_master->GetGroup() == nullptr ||             m_master->GetGroup()->IsMember(bot->GetObjectGuid()) == false))        bot->RemoveFromGroup();    // sometimes master can lose leadership, pass leadership to master check    const ObjectGuid masterGuid = m_master->GetObjectGuid();    if (m_master->GetGroup() &&            !m_master->GetGroup()->IsLeader(masterGuid))    {        // But only do so if one of the master's bots is leader        for (PlayerBotMap::const_iterator itr = GetPlayerBotsBegin(); itr != GetPlayerBotsEnd(); itr++)        {            Player* bot = itr->second;            if (m_master->GetGroup()->IsLeader(bot->GetObjectGuid()))            {                m_master->GetGroup()->ChangeLeader(masterGuid);                break;            }        }    }}
开发者ID:cmangos,项目名称:mangos-tbc,代码行数:42,


示例11: OnPlayerLogout

void RandomPlayerbotMgr::OnPlayerLogout(Player* player){    for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)    {        Player* const bot = it->second;        PlayerbotAI* ai = bot->GetPlayerbotAI();        if (player == ai->GetMaster())        {            ai->SetMaster(NULL);            ai->ResetStrategies();        }    }    if (!player->GetPlayerbotAI())    {        vector<Player*>::iterator i = find(players.begin(), players.end(), player);        if (i != players.end())            players.erase(i);    }}
开发者ID:billy1arm,项目名称:serverZero,代码行数:20,


示例12: switch

void PlayerbotMgr::HandleMasterIncomingPacket(const WorldPacket& packet){    switch (packet.GetOpcode())    {        case CMSG_OFFER_PETITION:        {            WorldPacket p(packet);            p.rpos(0);    // reset reader            ObjectGuid petitionGuid;            ObjectGuid playerGuid;            uint32 junk;            p >> junk;                                      // this is not petition type!            p >> petitionGuid;                              // petition guid            p >> playerGuid;                                // player guid            Player* player = ObjectAccessor::FindPlayer(playerGuid);            if (!player)                return;            uint32 petitionLowGuid = petitionGuid.GetCounter();            QueryResult* result = CharacterDatabase.PQuery("SELECT * FROM petition_sign WHERE playerguid = '%u' AND petitionguid = '%u'", player->GetGUIDLow(), petitionLowGuid);            if (result)            {                ChatHandler(m_master).PSendSysMessage("%s has already signed the petition", player->GetName());                delete result;                return;            }            CharacterDatabase.PExecute("INSERT INTO petition_sign (ownerguid,petitionguid, playerguid, player_account) VALUES ('%u', '%u', '%u','%u')",                                       GetMaster()->GetGUIDLow(), petitionLowGuid, player->GetGUIDLow(), GetMaster()->GetSession()->GetAccountId());            p.Initialize(SMSG_PETITION_SIGN_RESULTS, (8 + 8 + 4));            p << ObjectGuid(petitionGuid);            p << ObjectGuid(playerGuid);            p << uint32(PETITION_SIGN_OK);            // close at signer side            GetMaster()->GetSession()->SendPacket(p);            return;        }        case CMSG_ACTIVATETAXI:        {            WorldPacket p(packet);            p.rpos(0); // reset reader            ObjectGuid guid;            std::vector<uint32> nodes;            nodes.resize(2);            uint8 delay = 9;            p >> guid >> nodes[0] >> nodes[1];            // DEBUG_LOG ("[PlayerbotMgr]: HandleMasterIncomingPacket - Received CMSG_ACTIVATETAXI from %d to %d", nodes[0], nodes[1]);            for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)            {                delay = delay + 3;                Player* const bot = it->second;                if (!bot)                    return;                Group* group = bot->GetGroup();                if (!group)                    continue;                Unit* target = ObjectAccessor::GetUnit(*bot, guid);                bot->GetPlayerbotAI()->SetIgnoreUpdateTime(delay);                bot->GetMotionMaster()->Clear(true);                bot->GetMotionMaster()->MoveFollow(target, INTERACTION_DISTANCE, bot->GetOrientation());                bot->GetPlayerbotAI()->GetTaxi(guid, nodes);            }            return;        }        case CMSG_ACTIVATETAXIEXPRESS:        {            WorldPacket p(packet);            p.rpos(0); // reset reader            ObjectGuid guid;            uint32 node_count;            uint8 delay = 9;            p >> guid;            p.read_skip<uint32>();            p >> node_count;            std::vector<uint32> nodes;            for (uint32 i = 0; i < node_count; ++i)            {                uint32 node;                p >> node;                nodes.push_back(node);//.........这里部分代码省略.........
开发者ID:cmangos,项目名称:mangos-tbc,代码行数:101,


示例13: UpdateTimeOutTime

//.........这里部分代码省略.........                            // not expected _player or must checked in packet hanlder                            (this->*opHandle.handler)(*packet);                            if (sLog.IsOutDebug() && packet->rpos() < packet->wpos())                                LogUnprocessedTail(packet);                        }                        break;                    case STATUS_TRANSFER:                        if (!_player)                            LogUnexpectedOpcode(packet, "the player has not logged in yet");                        else if (_player->IsInWorld())                            LogUnexpectedOpcode(packet, "the player is still in world");                        else                        {                            (this->*opHandle.handler)(*packet);                            if (sLog.IsOutDebug() && packet->rpos() < packet->wpos())                                LogUnprocessedTail(packet);                        }                        break;                    case STATUS_AUTHED:                        // prevent cheating with skip queue wait                        if (m_inQueue)                        {                            LogUnexpectedOpcode(packet, "the player not pass queue yet");                            break;                        }                        // single from authed time opcodes send in to after logout time                        // and before other STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT opcodes.                        if (packet->GetOpcode() != CMSG_SET_ACTIVE_VOICE_CHANNEL)                            m_playerRecentlyLogout = false;                        (this->*opHandle.handler)(*packet);                        if (sLog.IsOutDebug() && packet->rpos() < packet->wpos())                            LogUnprocessedTail(packet);                        break;                    case STATUS_NEVER:                        /*                        sLog.outError("SESSION: received not allowed opcode %s (0x%.4X)",                            LookupOpcodeName(packet->GetOpcode()),                            packet->GetOpcode());                        */                        break;                }            }            catch(ByteBufferException &)            {                sLog.outError("WorldSession::Update ByteBufferException occured while parsing a packet (opcode: %u) from client %s, accountid=%i. Skipped packet.",                        packet->GetOpcode(), GetRemoteAddress().c_str(), GetAccountId());                if (sLog.IsOutDebug())                {                    sLog.outDebug("Dumping error causing packet:");                    packet->hexlike();                }            }        }        delete packet;    }    time_t currTime = time(NULL);    ///- If necessary, log the player out    if (ShouldLogOut(currTime) && !m_playerLoading)        LogoutPlayer(true);	//PlayerBot mod - Process player bot packets	//The PlayerbotAI class adds to the packet queue to simulate a real player	//since Playerbots are known to the World obj only its master's	//WorldSession object we need to process all master's bot's packets.	for(PlayerBotMap::const_iterator itr = GetPlayerBotsBegin(); itr != GetPlayerBotsEnd(); ++itr)	{		Player *const botPlayer = itr->second;		WorldSession *const pBotWorldSession = botPlayer->GetSession();		if(botPlayer->IsBeingTeleportedFar())		{			pBotWorldSession->HandleMoveWorldportAckOpcode();		} 		else if(botPlayer->IsInWorld())		{			WorldPacket *packet;			while(pBotWorldSession->_recvQueue.next(packet))			{				OpcodeHandler &opHandle = opcodeTable[packet->GetOpcode()];				(pBotWorldSession->*opHandle.handler)(*packet);				delete packet;			}		}	}    ///- Cleanup socket pointer if need    if (m_Socket && m_Socket->IsClosed())    {        m_Socket->RemoveReference();        m_Socket = NULL;    }    if (!m_Socket)        return false;                                       //Will remove this session from the world session map    return true;}
开发者ID:Mferrill,项目名称:BotCore,代码行数:101,


示例14: LogoutPlayer

/// %Log the player outvoid WorldSession::LogoutPlayer(bool Save){	if (!_player) return;	if (_player->IsMounted()) _player->Unmount();	// PlayerBot mod: log out all playerbots owned by this character	//while(!m_playerBots.empty())	//	LogoutPlayerBot(m_playerBots.begin()->first, Save);	PlayerBotMap m_pBots;	uint8 m_botCount = 0;	for(PlayerBotMap::const_iterator itr = GetPlayerBotsBegin(); itr != GetPlayerBotsEnd(); ++itr)	{		Player *bot = itr->second;		(m_pBots)[itr->first] = bot;		++m_botCount;	}	// Create a solo bind for player if player is currently in group in instance with all bots	Group *m_Group = _player->GetGroup();	bool rebound = false;	if(m_botCount > 0 && m_Group && m_botCount == m_Group->GetMembersCount()-1)		if (InstanceSave *save = sInstanceSaveManager.GetInstanceSave(_player->GetInstanceId()))		{			_player->BindToInstance(save, false);			save->SetCanReset(false);			rebound = true;		}	for(PlayerBotMap::const_iterator itr2 = m_pBots.begin(); itr2 != m_pBots.end(); ++itr2)	{		Player *botPlayer = itr2->second;		if (!botPlayer) continue;		LogoutPlayerBot(botPlayer->GetGUID(), Save);	}	if (rebound)		_player->m_InstanceValid = true;    // finish pending transfers before starting the logout    while (_player && _player->IsBeingTeleportedFar())        HandleMoveWorldportAckOpcode();    m_playerLogout = true;    m_playerSave = Save;    if (_player)    {        sLFGMgr.Leave(_player);        GetPlayer()->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_REMOVED_FROM_QUEUE);        GetPlayer()->GetSession()->SendLfgUpdatePlayer(LFG_UPDATETYPE_REMOVED_FROM_QUEUE);        GetPlayer()->GetSession()->SendLfgUpdateSearch(false);        if (uint64 lguid = GetPlayer()->GetLootGUID())            DoLootRelease(lguid);        ///- If the player just died before logging out, make him appear as a ghost        //FIXME: logout must be delayed in case lost connection with client in time of combat        if (_player->GetDeathTimer())        {            _player->getHostileRefManager().deleteReferences();            _player->BuildPlayerRepop();            _player->RepopAtGraveyard();        }        else if (!_player->getAttackers().empty())        {            _player->CombatStop();            _player->getHostileRefManager().setOnlineOfflineState(false);            _player->RemoveAllAurasOnDeath();            // build set of player who attack _player or who have pet attacking of _player            std::set<Player*> aset;            for (Unit::AttackerSet::const_iterator itr = _player->getAttackers().begin(); itr != _player->getAttackers().end(); ++itr)            {                Unit* owner = (*itr)->GetOwner();           // including player controlled case                if (owner)                {                    if (owner->GetTypeId() == TYPEID_PLAYER)              aset.insert(owner->ToPlayer());                }                else                if ((*itr)->GetTypeId() == TYPEID_PLAYER)                    aset.insert((Player*)(*itr));            }            _player->SetPvPDeath(!aset.empty());            _player->KillPlayer();            _player->BuildPlayerRepop();            _player->RepopAtGraveyard();            // give honor to all attackers from set like group case            for (std::set<Player*>::const_iterator itr = aset.begin(); itr != aset.end(); ++itr)                (*itr)->RewardHonor(_player,aset.size());            // give bg rewards and update counters like kill by first from attackers            // this can't be called for all attackers.            if (!aset.empty())                if (BattleGround *bg = _player->GetBattleGround())//.........这里部分代码省略.........
开发者ID:Mferrill,项目名称:BotCore,代码行数:101,


示例15: switch

void PlayerbotMgr::HandleMasterIncomingPacket(const WorldPacket& packet){    switch (packet.GetOpcode())    {        // if master is logging out, log out all bots        case CMSG_LOGOUT_REQUEST:        {            LogoutAllBots();            return;        }        // If master inspects one of his bots, give the master useful info in chat window        // such as inventory that can be equipped        case CMSG_INSPECT:        {            WorldPacket p(packet);            p.rpos(0); // reset reader            uint64 guid;            p >> guid;            Player* const bot = GetPlayerBot(guid);            if (bot) bot->GetPlayerbotAI()->SendNotEquipList(*bot);            return;        }        // handle emotes from the master        //case CMSG_EMOTE:        case CMSG_TEXT_EMOTE:        {            WorldPacket p(packet);            p.rpos(0); // reset reader            uint32 emoteNum;            p >> emoteNum;            /* std::ostringstream out;            out << "emote is: " << emoteNum;            ChatHandler ch(m_master);            ch.SendSysMessage(out.str().c_str()); */            switch (emoteNum)            {                case TEXTEMOTE_BOW:                {                    // Buff anyone who bows before me. Useful for players not in bot's group                    // How do I get correct target???                    //Player* const pPlayer = GetPlayerBot(m_master->GetSelection());                    //if (pPlayer->GetPlayerbotAI()->GetClassAI())                    //    pPlayer->GetPlayerbotAI()->GetClassAI()->BuffPlayer(pPlayer);                    return;                }                /*                case TEXTEMOTE_BONK:                {                    Player* const pPlayer = GetPlayerBot(m_master->GetSelection());                    if (!pPlayer || !pPlayer->GetPlayerbotAI())                        return;                    PlayerbotAI* const pBot = pPlayer->GetPlayerbotAI();                    ChatHandler ch(m_master);                    {                        std::ostringstream out;                        out << "time(0): " << time(0)                            << " m_ignoreAIUpdatesUntilTime: " << pBot->m_ignoreAIUpdatesUntilTime;                        ch.SendSysMessage(out.str().c_str());                    }                    {                        std::ostringstream out;                        out << "m_TimeDoneEating: " << pBot->m_TimeDoneEating                            << " m_TimeDoneDrinking: " << pBot->m_TimeDoneDrinking;                        ch.SendSysMessage(out.str().c_str());                    }                    {                        std::ostringstream out;                        out << "m_CurrentlyCastingSpellId: " << pBot->m_CurrentlyCastingSpellId;                        ch.SendSysMessage(out.str().c_str());                    }                    {                        std::ostringstream out;                        out << "IsBeingTeleported() " << pBot->GetPlayer()->IsBeingTeleported();                        ch.SendSysMessage(out.str().c_str());                    }                    {                        std::ostringstream out;                        bool tradeActive = (pBot->GetPlayer()->GetTrader()) ? true : false;                        out << "tradeActive: " << tradeActive;                        ch.SendSysMessage(out.str().c_str());                    }                    {                        std::ostringstream out;                        out << "IsCharmed() " << pBot->getPlayer()->isCharmed();                        ch.SendSysMessage(out.str().c_str());                    }                    return;                }                */                case TEXTEMOTE_EAT:                case TEXTEMOTE_DRINK:                {                    for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)                    {//.........这里部分代码省略.........
开发者ID:mbb1978,项目名称:mangos,代码行数:101,


示例16: switch

void PlayerbotMgr::HandleMasterIncomingPacket(const WorldPacket& packet){    switch (packet.GetOpcode())    {        case CMSG_ACTIVATETAXI:        {            WorldPacket p(packet);            p.rpos(0); // reset reader            ObjectGuid guid;            std::vector<uint32> nodes;            nodes.resize(2);            uint8 delay = 9;            p >> guid >> nodes[0] >> nodes[1];            DEBUG_LOG ("[PlayerbotMgr]: HandleMasterIncomingPacket - Received CMSG_ACTIVATETAXI from %d to %d", nodes[0], nodes[1]);            for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)            {                delay = delay + 3;                Player* const bot = it->second;                if (!bot)                    return;                Group* group = bot->GetGroup();                if (!group)                    continue;                Unit *target = ObjectAccessor::GetUnit(*bot, guid);                bot->GetPlayerbotAI()->SetIgnoreUpdateTime(delay);                bot->GetMotionMaster()->Clear(true);                bot->GetMotionMaster()->MoveFollow(target, INTERACTION_DISTANCE, bot->GetOrientation());                bot->GetPlayerbotAI()->GetTaxi(guid, nodes);            }            return;        }        case CMSG_ACTIVATETAXIEXPRESS:        {            WorldPacket p(packet);            p.rpos(0); // reset reader            ObjectGuid guid;            uint32 node_count;            uint8 delay = 9;            p >> guid;            p.read_skip<uint32>();            p >> node_count;            std::vector<uint32> nodes;            for (uint32 i = 0; i < node_count; ++i)            {                uint32 node;                p >> node;                nodes.push_back(node);            }            if (nodes.empty())                return;            DEBUG_LOG ("[PlayerbotMgr]: HandleMasterIncomingPacket - Received CMSG_ACTIVATETAXIEXPRESS from %d to %d", nodes.front(), nodes.back());            for (PlayerBotMap::const_iterator it = GetPlayerBotsBegin(); it != GetPlayerBotsEnd(); ++it)            {                delay = delay + 3;                Player* const bot = it->second;                if (!bot)                    return;                Group* group = bot->GetGroup();                if (!group)                    continue;                Unit *target = ObjectAccessor::GetUnit(*bot, guid);                bot->GetPlayerbotAI()->SetIgnoreUpdateTime(delay);                bot->GetMotionMaster()->Clear(true);                bot->GetMotionMaster()->MoveFollow(target, INTERACTION_DISTANCE, bot->GetOrientation());                bot->GetPlayerbotAI()->GetTaxi(guid, nodes);            }            return;        }        case CMSG_MOVE_SPLINE_DONE:        {            DEBUG_LOG ("[PlayerbotMgr]: HandleMasterIncomingPacket - Received CMSG_MOVE_SPLINE_DONE");            WorldPacket p(packet);            p.rpos(0); // reset reader            ObjectGuid guid;                                        // used only for proper packet read//.........这里部分代码省略.........
开发者ID:natedahl32,项目名称:portalclassic,代码行数:101,



注:本文中的GetPlayerBotsBegin函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetPlayerFlags函数代码示例
C++ GetPlayerBot函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。