Показать сообщение отдельно
Старый 19.02.2015, 00:09   #1
Ulduar
Ученый
 
Регистрация: 23.11.2012
Сообщений: 196
Сказал(а) спасибо: 69
Поблагодарили 16 раз(а) в 16 сообщениях
Ulduar На верном пути
По умолчанию Защитник и Тюремщик Аркатраца.

http://ru.wowhead.com/npc=20857
http://ru.wowhead.com/npc=20859
Завязаны на стартовом эвенте.
Код:
// intro event related
    NPC_PROTEAN_NIGHTMARE           = 20864,
    NPC_PROTEAN_HORROR              = 20865,
    NPC_ARCATRAZ_WARDEN             = 20859,
    NPC_ARCATRAZ_DEFENDER           = 20857,
Воюют с ночным кошмаром и ужасом.
Код:
    MAX_WARDENS                     = 7,
Код:
void instance_arcatraz::OnCreatureDeath(Creature* pCreature)
{
    if (pCreature->GetEntry() == NPC_ARCATRAZ_WARDEN || pCreature->GetEntry() == NPC_ARCATRAZ_DEFENDER)
    {
        ++m_uiKilledWardens;

        // Stop the intro spawns when the wardens are killed
        if (m_uiKilledWardens == MAX_WARDENS)
        {
            SetData(TYPE_ENTRANCE, DONE);
            m_uiEntranceEventTimer = 0;
        }
    }
}
Пока не убьёшь 7 тюремщиков (Почему скриптовики выставили 7 я не знаю)
Нужно добавлять или скриптовикам объяснять, иначе будет бесконечный спавн:
Код:
NPC_PROTEAN_NIGHTMARE           = 20864,
    NPC_PROTEAN_HORROR              = 20865,

void instance_arcatraz::Update(uint32 uiDiff)
if (m_uiEntranceEventTimer)
    {
        if (m_uiEntranceEventTimer <= uiDiff)
        {
            Player* pPlayer = GetPlayerInMap();
            if (!pPlayer)
                return;

            uint32 uiEntry = urand(0, 10) ? NPC_PROTEAN_HORROR : NPC_PROTEAN_NIGHTMARE;

            // Summon and move the intro creatures into combat positions
            if (Creature* pTemp = pPlayer->SummonCreature(uiEntry, aEntranceSpawnLoc[0], aEntranceSpawnLoc[1], aEntranceSpawnLoc[2], aEntranceSpawnLoc[3], TEMPSUMMON_TIMED_OOC_OR_DEAD_DESPAWN, 30000))
            {
                pTemp->SetWalk(false);
                pTemp->GetMotionMaster()->MovePoint(0, aEntranceMoveLoc[0], aEntranceMoveLoc[1], aEntranceMoveLoc[2]);
            }
            m_uiEntranceEventTimer = urand(0, 10) ? urand(2000, 3500) : urand(5000, 7000);
        }
        else
            m_uiEntranceEventTimer -= uiDiff;
    }
}
__________________
Ты кто? Зёбра! Ктооооооо?!
Ulduar вне форума   Ответить с цитированием