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

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

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

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

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

示例1: id

void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket & recv_data){    uint64 guid;    uint32 bgTypeId_;    uint32 instanceId;    uint8 joinAsGroup;    bool isPremade = false;    Group * grp = NULL;    recv_data >> guid;                                      // battlemaster guid    recv_data >> bgTypeId_;                                 // battleground type id (DBC id)    recv_data >> instanceId;                                // instance id, 0 if First Available selected    recv_data >> joinAsGroup;                               // join as group    if (!sBattlemasterListStore.LookupEntry(bgTypeId_))    {        sLog->outError("Battleground: invalid bgtype (%u) received. possible cheater? player guid %u",bgTypeId_,_player->GetGUIDLow());        return;    }    if (sDisableMgr->IsDisabledFor(DISABLE_TYPE_BATTLEGROUND, bgTypeId_, NULL))    {        ChatHandler(this).PSendSysMessage(LANG_BG_DISABLED);        return;    }    BattlegroundTypeId bgTypeId = BattlegroundTypeId(bgTypeId_);    sLog->outDebug("WORLD: Recvd CMSG_BATTLEMASTER_JOIN Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));    // can do this, since it's battleground, not arena    BattlegroundQueueTypeId bgQueueTypeId = BattlegroundMgr::BGQueueTypeId(bgTypeId, 0);    BattlegroundQueueTypeId bgQueueTypeIdRandom = BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_RB, 0);    // ignore if player is already in BG    if (_player->InBattleground())        return;    // get bg instance or bg template if instance not found    Battleground *bg = NULL;    if (instanceId)        bg = sBattlegroundMgr->GetBattlegroundThroughClientInstance(instanceId, bgTypeId);    if (!bg)        bg = sBattlegroundMgr->GetBattlegroundTemplate(bgTypeId);    if (!bg)        return;    // expected bracket entry    PvPDifficultyEntry const* bracketEntry = GetBattlegroundBracketByLevel(bg->GetMapId(),_player->getLevel());    if (!bracketEntry)        return;    GroupJoinBattlegroundResult err;    // check queue conditions    if (!joinAsGroup)    {        if (GetPlayer()->isUsingLfg())        {            // player is using dungeon finder or raid finder            WorldPacket data;            sBattlegroundMgr->BuildGroupJoinedBattlegroundPacket(&data, ERR_LFG_CANT_USE_BATTLEGROUND);            GetPlayer()->GetSession()->SendPacket(&data);            return;        }        // check Deserter debuff        if (!_player->CanJoinToBattleground())        {            WorldPacket data;            sBattlegroundMgr->BuildGroupJoinedBattlegroundPacket(&data, ERR_GROUP_JOIN_BATTLEGROUND_DESERTERS);            _player->GetSession()->SendPacket(&data);            return;        }        if (_player->GetBattlegroundQueueIndex(bgQueueTypeIdRandom) < PLAYER_MAX_BATTLEGROUND_QUEUES)        {            //player is already in random queue            WorldPacket data;            sBattlegroundMgr->BuildGroupJoinedBattlegroundPacket(&data, ERR_IN_RANDOM_BG);            _player->GetSession()->SendPacket(&data);            return;        }        if (_player->InBattlegroundQueue() && bgTypeId == BATTLEGROUND_RB)        {            //player is already in queue, can't start random queue            WorldPacket data;            sBattlegroundMgr->BuildGroupJoinedBattlegroundPacket(&data, ERR_IN_NON_RANDOM_BG);            _player->GetSession()->SendPacket(&data);            return;        }        // check if already in queue        if (_player->GetBattlegroundQueueIndex(bgQueueTypeId) < PLAYER_MAX_BATTLEGROUND_QUEUES)            //player is already in this queue            return;        // check if has free queue slots//.........这里部分代码省略.........
开发者ID:Raiden22,项目名称:TrioraCore,代码行数:101,


示例2: TC_LOG_INFO

void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket& recvData){    uint64 guid;    recvData >> guid;    uint32 questStatus = DIALOG_STATUS_NONE;    Object* questGiver = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);    if (!questGiver)    {        TC_LOG_INFO("network", "Error in CMSG_QUESTGIVER_STATUS_QUERY, called for non-existing questgiver (Typeid: %u GUID: %u)", GuidHigh2TypeId(GUID_HIPART(guid)), GUID_LOPART(guid));        return;    }    switch (questGiver->GetTypeId())    {        case TYPEID_UNIT:        {            TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc, guid = %u", questGiver->GetGUIDLow());            if (!questGiver->ToCreature()->IsHostileTo(_player)) // do not show quest status to enemies                questStatus = _player->GetQuestDialogStatus(questGiver);            break;        }        case TYPEID_GAMEOBJECT:        {            TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u", questGiver->GetGUIDLow());            questStatus = _player->GetQuestDialogStatus(questGiver);            break;        }        default:            TC_LOG_ERROR("network", "QuestGiver called for unexpected type %u", questGiver->GetTypeId());            break;    }    //inform client about status of quest    _player->PlayerTalkClass->SendQuestGiverStatus(questStatus, guid);}
开发者ID:Myst,项目名称:ElunaTrinityCata,代码行数:36,


示例3: from

void WorldSession::HandleBattlemasterHelloOpcode(WorldPacket & recv_data){    uint64 guid;    recv_data >> guid;    sLog->outDebug("WORLD: Recvd CMSG_BATTLEMASTER_HELLO Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid),GuidHigh2TypeId(GUID_HIPART(guid)));    Creature *unit = GetPlayer()->GetMap()->GetCreature(guid);    if (!unit)        return;    if (!unit->isBattleMaster())                             // it's not battlemaster        return;    // Stop the npc if moving    unit->StopMoving();    BattlegroundTypeId bgTypeId = sBattlegroundMgr->GetBattleMasterBG(unit->GetEntry());    if (!_player->GetBGAccessByLevel(bgTypeId))    {                                                            // temp, must be gossip message...        SendNotification(LANG_YOUR_BG_LEVEL_REQ_ERROR);        return;    }    SendBattlegGroundList(guid, bgTypeId);}
开发者ID:Raiden22,项目名称:TrioraCore,代码行数:27,


示例4: SF_LOG_DEBUG

void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket& recvData){    SF_LOG_DEBUG("network", "MSG_INSPECT_ARENA_TEAMS");    uint64 guid;    recvData >> guid;    SF_LOG_DEBUG("network", "Inspect Arena stats (GUID: %u TypeId: %u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));    if (Player* player = ObjectAccessor::FindPlayer(guid))    {        for (uint8 i = 0; i < MAX_ARENA_SLOT; ++i)        {            if (uint32 a_id = player->GetArenaTeamId(i))            {                if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(a_id))                    arenaTeam->Inspect(this, player->GetGUID());            }        }    }}
开发者ID:ChipLeo,项目名称:SkyFire_5xx,代码行数:20,


示例5: from

void WorldSession::HandleBattlemasterHelloOpcode(WorldPacket & recv_data){    uint64 guid;    recv_data >> guid;    sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_BATTLEMASTER_HELLO Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));    Creature *unit = GetPlayer()->GetMap()->GetCreature(guid);    if (!unit)        return;    if (!unit->isBattleMaster())                             // it's not battlemaster        return;    // Stop the npc if moving    unit->StopMoving();    SendBattlegGroundList(guid);}
开发者ID:Neroo,项目名称:StarGateEmu-Projekt,代码行数:18,


示例6: stats

void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData){    sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_INSPECT_ARENA_TEAMS");    uint64 guid;    recvData >> guid;    sLog->outDebug(LOG_FILTER_NETWORKIO, "Inspect Arena stats (GUID: %u TypeId: %u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));    if (Player* player = sObjectMgr->GetPlayer(guid))    {        for (uint8 i = 0; i < MAX_ARENA_SLOT; ++i)        {            if (uint32 a_id = player->GetArenaTeamId(i))            {                if (ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(a_id))                    arenaTeam->Inspect(this, player->GetGUID());            }        }    }}
开发者ID:Neroo,项目名称:StarGateEmu-Projekt,代码行数:20,


示例7: CHECK_PACKET_SIZE

void WorldSession::HandleAttackSwingOpcode( WorldPacket & recv_data ){    CHECK_PACKET_SIZE(recv_data,8);    uint64 guid;    recv_data >> guid;    DEBUG_LOG( "WORLD: Recvd CMSG_ATTACKSWING Message guidlow:%u guidhigh:%u", GUID_LOPART(guid), GUID_HIPART(guid) );    Unit *pEnemy = ObjectAccessor::GetUnit(*_player, guid);    if(!pEnemy)    {        if(!IS_UNIT_GUID(guid))            sLog.outError("WORLD: Object %u (TypeID: %u) isn't player, pet or creature",GUID_LOPART(guid),GuidHigh2TypeId(GUID_HIPART(guid)));        else            sLog.outError( "WORLD: Enemy %s %u not found",GetLogNameForGuid(guid),GUID_LOPART(guid));        // stop attack state at client        SendAttackStop(NULL);        return;    }    if(_player->IsFriendlyTo(pEnemy) || pEnemy->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE))    {        sLog.outError( "WORLD: Enemy %s %u is friendly",(IS_PLAYER_GUID(guid) ? "player" : "creature"),GUID_LOPART(guid));        // stop attack state at client        SendAttackStop(pEnemy);        return;    }    if(!pEnemy->isAlive())    {        // client can generate swing to known dead target if autoswitch between autoshot and autohit is enabled in client options        // stop attack state at client        SendAttackStop(pEnemy);        return;    }    _player->Attack(pEnemy,true);}
开发者ID:Artea,项目名称:mangos-svn,代码行数:42,


示例8: id

void WorldSession::HandleBattlemasterJoinOpcode( WorldPacket & recv_data ){    uint64 guid;    uint32 bgTypeId_;    uint32 instanceId;    uint8 joinAsGroup;    bool isPremade = false;    Group * grp;    recv_data >> guid;                                      // battlemaster guid    recv_data >> bgTypeId_;                                 // battleground type id (DBC id)    recv_data >> instanceId;                                // instance id, 0 if First Available selected    recv_data >> joinAsGroup;                               // join as group    if (!sBattlemasterListStore.LookupEntry(bgTypeId_))    {        sLog.outError("Battleground: invalid bgtype (%u) received. possible cheater? player guid %u",bgTypeId_,_player->GetGUIDLow());        return;    }    BattleGroundTypeId bgTypeId = BattleGroundTypeId(bgTypeId_);    sLog.outDebug( "WORLD: Recvd CMSG_BATTLEMASTER_JOIN Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));    // can do this, since it's battleground, not arena    BattleGroundQueueTypeId bgQueueTypeId = BattleGroundMgr::BGQueueTypeId(bgTypeId, 0);    // ignore if player is already in BG    if (_player->InBattleGround())        return;    // get bg instance or bg template if instance not found    BattleGround *bg = NULL;    if (instanceId)        bg = sBattleGroundMgr.GetBattleGroundThroughClientInstance(instanceId, bgTypeId);    if (!bg && !(bg = sBattleGroundMgr.GetBattleGroundTemplate(bgTypeId)))    {        sLog.outError("Battleground: no available bg / template found");        return;    }    // expected bracket entry    PvPDifficultyEntry const* bracketEntry = GetBattlegroundBracketByLevel(bg->GetMapId(),_player->getLevel());    if (!bracketEntry)        return;    // check queueing conditions    if (!joinAsGroup)    {        // check Deserter debuff        if (!_player->CanJoinToBattleground())        {            WorldPacket data(SMSG_GROUP_JOINED_BATTLEGROUND, 4);            data << uint32(0xFFFFFFFE);            _player->GetSession()->SendPacket(&data);            return;        }        // check if already in queue        if (_player->GetBattleGroundQueueIndex(bgQueueTypeId) < PLAYER_MAX_BATTLEGROUND_QUEUES)            //player is already in this queue            return;        // check if has free queue slots        if (!_player->HasFreeBattleGroundQueueId())            return;    }    else    {        grp = _player->GetGroup();        // no group found, error        if (!grp)            return;        uint32 err = grp->CanJoinBattleGroundQueue(bg, bgQueueTypeId, 0, bg->GetMaxPlayersPerTeam(), false, 0);        isPremade = (grp->GetMembersCount() >= bg->GetMinPlayersPerTeam());        if (err != BG_JOIN_ERR_OK)        {            SendBattleGroundOrArenaJoinError(err);            return;        }    }    // if we're here, then the conditions to join a bg are met. We can proceed in joining.    // _player->GetGroup() was already checked, grp is already initialized    BattleGroundQueue& bgQueue = sBattleGroundMgr.m_BattleGroundQueues[bgQueueTypeId];    if (joinAsGroup /* && _player->GetGroup()*/)    {        sLog.outDebug("Battleground: the following players are joining as group:");        GroupQueueInfo * ginfo = bgQueue.AddGroup(_player, grp, bgTypeId, bracketEntry, 0, false, isPremade, 0);        uint32 avgTime = bgQueue.GetAverageQueueWaitTime(ginfo, bracketEntry->GetBracketId());        for(GroupReference *itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())        {            Player *member = itr->getSource();            if(!member) continue;   // this should never happen            uint32 queueSlot = member->AddBattleGroundQueueId(bgQueueTypeId);           // add to queue            WorldPacket data;            // send status packet (in queue)            sBattleGroundMgr.BuildBattleGroundStatusPacket(&data, bg, queueSlot, STATUS_WAIT_QUEUE, avgTime, 0, ginfo->ArenaType);            member->GetSession()->SendPacket(&data);//.........这里部分代码省略.........
开发者ID:naonaoyh,项目名称:mangos,代码行数:101,


示例9: DEBUG_LOG

void WorldSession::HandleAttackSwingOpcode( WorldPacket & recv_data ){    uint64 guid;    recv_data >> guid;    DEBUG_LOG( "WORLD: Recvd CMSG_ATTACKSWING Message guidlow:%u guidhigh:%u", GUID_LOPART(guid), GUID_HIPART(guid) );    Unit *pEnemy = ObjectAccessor::GetUnit(*_player, guid);    if(!pEnemy)    {        if(!IS_UNIT_GUID(guid))            sLog.outError("WORLD: Object %u (TypeID: %u) isn't player, pet or creature",GUID_LOPART(guid),GuidHigh2TypeId(GUID_HIPART(guid)));        else            sLog.outError( "WORLD: Enemy %s %u not found",GetLogNameForGuid(guid),GUID_LOPART(guid));        // stop attack state at client        SendAttackStop(NULL);        return;    }    if(!_player->canAttack(pEnemy))    {        sLog.outError( "WORLD: Enemy %s %u is friendly",(IS_PLAYER_GUID(guid) ? "player" : "creature"),GUID_LOPART(guid));        // stop attack state at client        SendAttackStop(pEnemy);        return;    }    _player->Attack(pEnemy,true);}
开发者ID:LordVoldemort,项目名称:Shindorei,代码行数:32,


示例10: id

void WorldSession::HandleBattleGroundJoinOpcode(WorldPacket& recv_data){    uint64 guid;    uint32 bgTypeId;    uint32 instanceId;    uint8 joinAsGroup;    Group * grp;    recv_data >> guid;                                      // battlemaster guid    recv_data >> bgTypeId;                                  // battleground type id (DBC id)    recv_data >> instanceId;                                // instance id, 0 if First Available selected    recv_data >> joinAsGroup;                               // join as group    if (bgTypeId >= MAX_BATTLEGROUND_TYPES)    {        sLog.outError("Battleground: invalid bgtype received. possible cheater? player guid %u",_player->GetGUIDLow());        return;    }    sLog.outDebug("WORLD: Recvd CMSG_BATTLEMASTER_JOIN Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid),GuidHigh2TypeId(GUID_HIPART(guid)));    // can do this, since it's battleground, not arena    uint32 bgQueueTypeId = sBattleGroundMgr.BGQueueTypeId(bgTypeId, 0);    // ignore if player is already in BG    if (_player->InBattleGround())        return;    Creature *unit = GetPlayer()->GetMap()->GetCreature(guid);    if (!unit)        return;    if (!unit->isBattleMaster())                             // it's not battlemaster        return;    // get bg instance or bg template if instance not found    BattleGround *bg = NULL;    if (instanceId)        bg = sBattleGroundMgr.GetBattleGround(instanceId);    if (!bg && !(bg = sBattleGroundMgr.GetBattleGroundTemplate(bgTypeId)))    {        sLog.outError("Battleground: no available bg / template found");        return;    }    // check queueing conditions    if (!joinAsGroup)    {        // check Deserter debuff        if (!_player->CanJoinToBattleground())        {            WorldPacket data(SMSG_GROUP_JOINED_BATTLEGROUND, 4);            data << (uint32) 0xFFFFFFFE;            _player->GetSession()->SendPacket(&data);            return;        }        // check if already in queue        if (_player->GetBattleGroundQueueIndex(bgQueueTypeId) < PLAYER_MAX_BATTLEGROUND_QUEUES)            //player is already in this queue            return;        // check if has free queue slots        if (!_player->HasFreeBattleGroundQueueId())            return;    }    else    {        grp = _player->GetGroup();        // no group found, error        if (!grp)            return;        uint32 err = grp->CanJoinBattleGroundQueue(bgTypeId, bgQueueTypeId, 0, bg->GetMaxPlayersPerTeam(), false, 0);        if (err != BG_JOIN_ERR_OK)        {            SendBattleGroundOrArenaJoinError(err);            return;        }    }    // if we're here, then the conditions to join a bg are met. We can proceed in joining.    // _player->GetGroup() was already checked, grp is already initialized    if (joinAsGroup /* && _player->GetGroup()*/)    {        sLog.outDebug("Battleground: the following players are joining as group:");        GroupQueueInfo * ginfo = sBattleGroundMgr.m_BattleGroundQueues[bgQueueTypeId].AddGroup(_player, bgTypeId, 0, false, 0);        for (GroupReference *itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())        {            Player *member = itr->getSource();            if (!member) continue;   // this should never happen            uint32 queueSlot = member->AddBattleGroundQueueId(bgQueueTypeId);           // add to queue            // store entry point coords (same as leader entry point)            if (!sWorld.getConfig(CONFIG_BATTLEGROUND_WRATH_LEAVE_MODE))                member->SetBattleGroundEntryPoint(member->GetMapId(), member->GetPositionX(), member->GetPositionY(), member->GetPositionZ(), member->GetOrientation());            WorldPacket data;                                                            // send status packet (in queue)            sBattleGroundMgr.BuildBattleGroundStatusPacket(&data, bg, member->GetTeam(), queueSlot, STATUS_WAIT_QUEUE, 0, 0);            member->GetSession()->SendPacket(&data);//.........这里部分代码省略.........
开发者ID:Nemesis2012,项目名称:blizzlikecore,代码行数:101,


示例11: CHECK_PACKET_SIZE

void WorldSession::HandleAttackSwingOpcode( WorldPacket & recv_data ){    CHECK_PACKET_SIZE(recv_data,8);    uint64 guid;    recv_data >> guid;    DEBUG_LOG( "WORLD: Recvd CMSG_ATTACKSWING Message guidlow:%u guidhigh:%u", GUID_LOPART(guid), GUID_HIPART(guid) );    Unit *pEnemy = ObjectAccessor::GetUnit(*_player, guid);    if(!pEnemy)    {        if(GUID_HIPART(guid)!=HIGHGUID_PLAYER && GUID_HIPART(guid)!=HIGHGUID_UNIT)            sLog.outError("WORLD: Object %u (TypeID: %u) isn't player or creature",GUID_LOPART(guid),GuidHigh2TypeId(GUID_HIPART(guid)));        else            sLog.outError( "WORLD: Enemy %s %u not found",(GUID_HIPART(guid)==HIGHGUID_PLAYER ? "player" : "creature"),GUID_LOPART(guid));        // stop attack state at client        WorldPacket data( SMSG_ATTACKSTOP, (4+20) );        // we guess size        data.append(GetPlayer()->GetPackGUID());        data << uint8(0x00);                                // must be packed guid        data << uint32(0);                                  // unk, can be 1 also        SendPacket(&data);        return;    }    if(_player->IsFriendlyTo(pEnemy) || pEnemy->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE))    {        sLog.outError( "WORLD: Enemy %s %u is friendly",(GUID_HIPART(guid)==HIGHGUID_PLAYER ? "player" : "creature"),GUID_LOPART(guid));        // stop attack state at client        WorldPacket data( SMSG_ATTACKSTOP, (4+20) );        // we guess size        data.append(GetPlayer()->GetPackGUID());        data.append(pEnemy->GetPackGUID());                 // must be packed guid        data << uint32(0);                                  // unk, can be 1 also        SendPacket(&data);        return;    }    _player->Attack(pEnemy,true);}
开发者ID:Artea,项目名称:mangos-svn,代码行数:42,


示例12: defined

void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData){#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)    sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_INSPECT_ARENA_TEAMS");#endif    uint64 guid;    recvData >> guid;#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)    sLog->outDebug(LOG_FILTER_NETWORKIO, "Inspect Arena stats (GUID: %u TypeId: %u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));#endif    if (Player* player = ObjectAccessor::FindPlayer(guid))    {        for (uint8 i = 0; i < MAX_ARENA_SLOT; ++i)        {            if (uint32 a_id = player->GetArenaTeamId(i))            {                if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(a_id))                    arenaTeam->Inspect(this, player->GetGUID());            }        }    }}
开发者ID:Helias,项目名称:azerothcore-wotlk,代码行数:24,


示例13: TC_LOG_INFO

void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket& recvData){    ObjectGuid guid;    guid[4] = recvData.ReadBit();    guid[3] = recvData.ReadBit();    guid[2] = recvData.ReadBit();    guid[1] = recvData.ReadBit();    guid[0] = recvData.ReadBit();    guid[5] = recvData.ReadBit();    guid[7] = recvData.ReadBit();    guid[6] = recvData.ReadBit();    recvData.ReadByteSeq(guid[5]);    recvData.ReadByteSeq(guid[7]);    recvData.ReadByteSeq(guid[4]);    recvData.ReadByteSeq(guid[0]);    recvData.ReadByteSeq(guid[2]);    recvData.ReadByteSeq(guid[1]);    recvData.ReadByteSeq(guid[6]);    recvData.ReadByteSeq(guid[3]);    uint32 questStatus = DIALOG_STATUS_NONE;    uint32 defstatus = DIALOG_STATUS_NONE;    Object* questgiver = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT);    if (!questgiver)    {        TC_LOG_INFO("network", "Error in CMSG_QUESTGIVER_STATUS_QUERY, called for non-existing questgiver (Typeid: %u GUID: %u)", GuidHigh2TypeId(GUID_HIPART(guid)), GUID_LOPART(guid));        return;    }    switch (questgiver->GetTypeId())    {    case TYPEID_UNIT:        {            TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc, guid = %u", uint32(GUID_LOPART(guid)));            Creature* cr_questgiver=questgiver->ToCreature();            if (!cr_questgiver->IsHostileTo(_player))       // do not show quest status to enemies            {                questStatus = sScriptMgr->GetDialogStatus(_player, cr_questgiver);                if (questStatus > 6)                    questStatus = getDialogStatus(_player, cr_questgiver, defstatus);            }            break;        }    case TYPEID_GAMEOBJECT:        {            TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u", uint32(GUID_LOPART(guid)));            GameObject* go_questgiver=(GameObject*)questgiver;            questStatus = sScriptMgr->GetDialogStatus(_player, go_questgiver);            if (questStatus > 6)                questStatus = getDialogStatus(_player, go_questgiver, defstatus);            break;        }    default:        TC_LOG_ERROR("network", "QuestGiver called for unexpected type %u", questgiver->GetTypeId());        break;    }    //inform client about status of quest    _player->PlayerTalkClass->SendQuestGiverStatus(questStatus, guid);}
开发者ID:Sonyc1987,项目名称:SkyFire_5xx,代码行数:63,



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


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