Тема: ВойдЗона
Показать сообщение отдельно
Старый 14.10.2011, 14:33   #5
MaxXx2021
Ученый
 
Аватар для MaxXx2021
 
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
MaxXx2021 Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
вообще-то мой код ICC опубликован полтора года назад и там именно это есть. из него уже только ленивый свою версию не сделал... TC вон довольно неплохо допилили. скоро некоторые мангосдевы перебьют с BSW на тупые SD2 таймеры и объявят результат великой победой SD2 team ))
Однако лучший пример войдзон - это именно войдзоны из моего же кода RS, тоже полуторагодичной давности (спеллы 74562 и 74792 со всей обвеской). coldflame - довольно специфический моб, он кроме стандартных фич войдзоны еще много чего должен уметь.
Как смешно... Там помимо таймеров, можно все скрипты на помойку целиком выкинуть. Если кто то реализовывает не думайте, что он берет все от вас.

По теме:
Все очень просто. Берем создает скрипт на невидимого нпц и в Reset() прописываем ему каст ауры, с определенным радиусом действия и дамагом.
Код:
struct MANGOS_DLL_DECL npc_void_stalkerAI : public ScriptedAI
{
    npc_void_stalkerAI(Creature* pCreature) : ScriptedAI(pCreature)
    {
        Reset();
    }

    void Reset()
    {
        m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
        m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
        m_creature->SetRespawnDelay(DAY);
        DoCastSpellIfCan(m_creature, SPELL_VOID_AURA);
    }

    void AttackStart(Unit* pVictim) {}

    void EnterEvadeMode() {}

    void UpdateAI(const uint32 uiDiff) {}
};
MaxXx2021 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
ExDragon (14.10.2011)