当前位置: 首页>>代码示例>>C++>>正文


C++ GameObject::GetFlags方法代码示例

本文整理汇总了C++中GameObject::GetFlags方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObject::GetFlags方法的具体用法?C++ GameObject::GetFlags怎么用?C++ GameObject::GetFlags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GameObject的用法示例。


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

示例1: HandleGOActivate

bool ChatHandler::HandleGOActivate(const char* args, WorldSession *m_session)
{
    GameObject* GObj = NULLGOB;

    GObj = m_session->GetPlayer()->m_GM_SelectedGO;
    if( !GObj )
    {
        RedSystemMessage(m_session, "No selected GameObject...");
        return true;
    }

    if(GObj->GetState() == 1)
    {
        // Close/Deactivate
        GObj->SetState(0);
        GObj->SetFlags(GObj->GetFlags()-1);
    }
    else
    {
        // Open/Activate
        GObj->SetState(1);
        GObj->SetFlags(GObj->GetFlags()+1);
    }
    BlueSystemMessage(m_session, "Gameobject opened/closed.");
    return true;
}
开发者ID:Refuge89,项目名称:Hearthstone,代码行数:26,代码来源:Level2.cpp

示例2: HandleGOInfo

bool ChatHandler::HandleGOInfo(const char *args, WorldSession *m_session)
{
    std::stringstream sstext;
    GameObject *GObj = NULL;

    GObj = m_session->GetPlayer()->m_GM_SelectedGO;
    if( !GObj )
    {
        RedSystemMessage(m_session, "No selected GameObject...");
        return true;
    }

    WhiteSystemMessage(m_session, "Information:");
    if(GObj->m_spawn)
        GreenSystemMessage(m_session, "SpawnID: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->m_spawn->id);
    GreenSystemMessage(m_session, "Entry: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetEntry());
    GreenSystemMessage(m_session, "Model: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetDisplayId());
    GreenSystemMessage(m_session, "State: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetState());
    GreenSystemMessage(m_session, "flags: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetFlags());
    GreenSystemMessage(m_session, "dynflags: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_DYNAMIC));
    GreenSystemMessage(m_session, "faction: %s%u|r", MSG_COLOR_LIGHTBLUE, GObj->GetUInt32Value(GAMEOBJECT_FACTION));

    std::stringstream gottext;
    uint8 type = GObj->GetByte(GAMEOBJECT_BYTES_1, GAMEOBJECT_BYTES_TYPE_ID);
    switch(type)
    {
    case GAMEOBJECT_TYPE_DOOR:
        gottext << "Door";
        break;
    case GAMEOBJECT_TYPE_BUTTON:
        gottext << "Button";
        break;
    case GAMEOBJECT_TYPE_QUESTGIVER:
        gottext << "Quest Giver";
        break;
    case GAMEOBJECT_TYPE_CHEST:
        gottext << "Chest";
        break;
    case GAMEOBJECT_TYPE_BINDER:
        gottext << "Binder";
        break;
    case GAMEOBJECT_TYPE_GENERIC:
        gottext << "Generic";
        break;
    case GAMEOBJECT_TYPE_TRAP:
        gottext << "Trap";
        break;
    case GAMEOBJECT_TYPE_CHAIR:
        gottext << "Chair";
        break;
    case GAMEOBJECT_TYPE_SPELL_FOCUS:
        gottext << "Spell Focus";
        break;
    case GAMEOBJECT_TYPE_TEXT:
        gottext << "Text";
        break;
    case GAMEOBJECT_TYPE_GOOBER:
        gottext << "Goober";
        break;
    case GAMEOBJECT_TYPE_TRANSPORT:
        gottext << "Transport";
        break;
    case GAMEOBJECT_TYPE_AREADAMAGE:
        gottext << "Area Damage";
        break;
    case GAMEOBJECT_TYPE_CAMERA:
        gottext << "Camera";
        break;
    case GAMEOBJECT_TYPE_MAP_OBJECT:
        gottext << "Map Object";
        break;
    case GAMEOBJECT_TYPE_MO_TRANSPORT:
        gottext << "Mo Transport";
        break;
    case GAMEOBJECT_TYPE_DUEL_ARBITER:
        gottext << "Duel Arbiter";
        break;
    case GAMEOBJECT_TYPE_FISHINGNODE:
        gottext << "Fishing Node";
        break;
    case GAMEOBJECT_TYPE_RITUAL:
        gottext << "Ritual";
        break;
    case GAMEOBJECT_TYPE_MAILBOX:
        gottext << "Mailbox";
        break;
    case GAMEOBJECT_TYPE_AUCTIONHOUSE:
        gottext << "Auction House";
        break;
    case GAMEOBJECT_TYPE_GUARDPOST:
        gottext << "Guard Post";
        break;
    case GAMEOBJECT_TYPE_SPELLCASTER:
        gottext << "Spell Caster";
        break;
    case GAMEOBJECT_TYPE_MEETINGSTONE:
        gottext << "Meeting Stone";
        break;
    case GAMEOBJECT_TYPE_FLAGSTAND:
        gottext << "Flag Stand";
//.........这里部分代码省略.........
开发者ID:Refuge89,项目名称:Hearthstone,代码行数:101,代码来源:Level2.cpp

示例3: OnActivate

        void OnActivate(Player* pPlayer)
        {
            QuestLogEntry* pQuest = pPlayer->GetQuestLogForEntry(10895);
            if(pQuest != NULL)
            {
                // M4ksiu - WTF IS THIS FOR? :|
                float SSX = pPlayer->GetPositionX();
                float SSY = pPlayer->GetPositionY();
                float SSZ = pPlayer->GetPositionZ();

                GameObject* pBeacon = pPlayer->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(SSX, SSY, SSZ, 184661);
                if(pBeacon != NULL && pBeacon->GetFlags() > 0)
                {
                    pBeacon->SetFlags((pBeacon->GetFlags() - 1));
                }

                // Northern Zeth'Gor Tower
                if(pQuest->GetMobCount(0) < pQuest->GetQuest()->required_mobcount[0])
                {
                    GameObject* pNorthern = pPlayer->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(-820.0f, 2029.0f, 55.0f, 300150);
                    if(pNorthern != NULL && pPlayer->CalcDistance(pPlayer, pNorthern) < 40)      // if reduced the server will crash when out of range
                    {
                        pQuest->SetMobCount(0, pQuest->GetMobCount(0) + 1);
                        pQuest->SendUpdateAddKill(0);
                        pQuest->UpdatePlayerFields();

                        GameObject* pGameobject = sEAS.SpawnGameobject(pPlayer, 183816, -819.77f, 2029.09f, 55.6082f, 0, 4, 0, 0, 0, 0);
                        if(pGameobject != NULL)
                        {
                            sEAS.GameobjectDelete(pGameobject, 1 * 60 * 1000);
                        }

                        return;
                    }
                }

                // Southern Zeth'Gor Tower
                if(pQuest->GetMobCount(1) < pQuest->GetQuest()->required_mobcount[1])
                {
                    GameObject* pSouthern = pPlayer->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(-1150.0f, 2110.0f, 84.0f, 300150);
                    if(pSouthern != NULL && pPlayer->CalcDistance(pPlayer, pSouthern) < 40)
                    {
                        pQuest->SetMobCount(1, pQuest->GetMobCount(1) + 1);
                        pQuest->SendUpdateAddKill(1);
                        pQuest->UpdatePlayerFields();

                        GameObject* pGameobject = sEAS.SpawnGameobject(pPlayer, 183816, -1150.53f, 2109.92f, 84.4204f, 0, 4, 0, 0, 0, 0);
                        if(pGameobject != NULL)
                        {
                            sEAS.GameobjectDelete(pGameobject, 1 * 60 * 1000);
                        }

                        return;
                    }
                }

                // Forge Zeth'Gor Tower
                if(pQuest->GetMobCount(2) < pQuest->GetQuest()->required_mobcount[2])
                {
                    GameObject* pForge = pPlayer->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(-893.0f, 1919.0f, 82.0f, 300150);
                    if(pForge != NULL && pPlayer->CalcDistance(pPlayer, pForge) < 40)
                    {
                        pQuest->SetMobCount(2, pQuest->GetMobCount(2) + 1);
                        pQuest->SendUpdateAddKill(2);
                        pQuest->UpdatePlayerFields();

                        GameObject* pGameobject = sEAS.SpawnGameobject(pPlayer, 183816, -893.499f, 1919.27f, 81.6449f, 0, 4, 0, 0, 0, 0);
                        if(pGameobject != NULL)
                        {
                            sEAS.GameobjectDelete(pGameobject, 1 * 60 * 1000);
                        }

                        return;
                    }
                }

                // Foothill Zeth'Gor Tower
                if(pQuest->GetMobCount(3) < pQuest->GetQuest()->required_mobcount[3])
                {
                    GameObject* pFoothill = pPlayer->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(-978.0f, 1879.0f, 111.0f, 300150);
                    if(pFoothill != NULL && pPlayer->CalcDistance(pPlayer, pFoothill) < 40)
                    {
                        pQuest->SetMobCount(3, pQuest->GetMobCount(3) + 1);
                        pQuest->SendUpdateAddKill(3);
                        pQuest->UpdatePlayerFields();

                        GameObject* pGameobject = sEAS.SpawnGameobject(pPlayer, 183816, -977.713f, 1879.500f, 110.892f, 0, 4, 0, 0, 0, 0);
                        if(pGameobject != NULL)
                        {
                            sEAS.GameobjectDelete(pGameobject, 1 * 60 * 1000);
                        }

                        return;
                    }
                }
                else
                {
                    pPlayer->BroadcastMessage("You are to far away!");
                }

//.........这里部分代码省略.........
开发者ID:lev1976g,项目名称:AscEmu,代码行数:101,代码来源:Quest_Hellfire_Peninsula.cpp


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