creature_ai_scripts
Столкнулся тут с квестом... http://ru.wowhead.com/quest=11169
Решил проверить, работает или нет. В YTDB есть спец. скрипт для этого квеста, однако у меня почему-то не работает. На НПС в creature_template_addon висит аура http://ru.wowhead.com/spell=42464. Она прокает спелл. Однако, помню как проходил этот кв на оффе. Тотем прокает спелл вовсе не раз в 2 секунды. Он прокает таким образом, что на цели висит бафф положенных 3 секунды, какое-то время цель без баффа и потом тотем снова прокает нужный спелл. С добавлением ауры мы имеем то, что тотем прокает спелл каждые 2 секунды, обновляя ауру на цели, т.о. бафф на цели будет висеть почти постоянно (хотя и с этом есть глюки). Решил сделать немного иначе - написать скрипт creature_ai_scripts для тотема, чтобы он просто повесил на себя ауру при спавне (без записи в creature_template_addon). выяснилось, однако, что EventAI для вызываемых спеллом НПС не работает (если поставить суммонящегося НПС в мире - скрипт пашет как надо). Почему так, имеет ли смысл лделать поддержку EventAI скриптов для призываемых НПС? |
А что тебе мешает поставить через 1 секунду не в бою чтобы кастил не повторяя, тогда будет как надо
|
Напиши обычный скрипт а не EventAI. Это еще и проще и памяти ест меньше.
|
Цитата:
Хотя, думаю проще поправить в ядре триггер спелла. Т.е. если на цели есть уже аура от триггера - return; или там щас вроде fasle; Но дело в том, что см. первое предложение. Цитата:
|
Хм... Очень интересно...
EventAI для мобов призванных в скриптах типа gossip_scripts работает нормально. Значит надо копать вызов таких НПС, смотреть где у них добавляется загрузка скрипта и добавлять такую же загрузку скрипта при вызове моба посредством спелл-эффекта... |
Всё ясно, разобрался...
Квест из первого поста. Там дают тотем, итем, при юзе которого вызывается собственно тотем. На данный момент мангос полагает, что тотем не может иметь EventAI, поэтому при суммоне тотема инициализации EventAI не происходит. Хотя такое вполне может быть, т.к. бывает призыв квестовых тотемов. Вот так должно поправится нормально (сам ещё не тестировал): PHP код:
|
Когда протестируете, я думаю стоит предложить патч у нас и на getmangos.com.
|
TotemAI не подойдет?
|
Код:
Spell::DoSummonTotem |
Цитата:
А во втором случае, как я понимаю AIM инициализируется для "хозяина" - (Unit* owner). |
AIM_Initialize(); в функции вызывается для тотема...
|
Возможно вы правы в том что имеются отличия AIM_Initialize(); вызове - для тотема с temporarySummon от вызывается после добавления на карту. Это я поправлю.
НО. Описываемый старый вариант - это конечно через... конкретно. НО Вами планируемый вариант не менее хаковский Цитата:
Так как пассивные тотемы кастуют при призыве на себя спелл из m_spells[0] Т.е почему бы просто не добавить в creature_template.spell1 необходимый спелл.. Проверил добавил - кастает - зачем надо было городить все выше обсуждаемое... По мне так раз тотем то первым делом и надо смотреть как сделать его как тотем... [added] Порялок инициализации поправлен в [10444] хотя он и неимеет отношение к данному случаю как выяснилось.. |
Столкнулся с проблемой, что не правильно работает спелл, который должен кастовать тотем, решил хаком сделать через EventAI чтобы соответствовало действительности и вот натолкнулся на то, что EventAI для тотемов не пашет.
В первом посту я объяснял, что квестовые тотемы (или тотемы НПС) могут иметь уникальное поведение, да и в любом случае нормальная инициализация EventAI для них точно не помешает... |
Текущее время: 17:38. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS