Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Новичкам (http://mangos.ytdb.ru/forumdisplay.php?f=40)
-   -   Реакция нпц на смерть другого нпц (http://mangos.ytdb.ru/showthread.php?t=197)

virusav 09.03.2010 22:28

Реакция нпц на смерть другого нпц
 
Есть моменты, когда один нпц должен реагировать на смерть другого, например, тотемы, собирающие души.

Есть (Player* pPlayer, Creature* pCreature) для будущего скрипта СД2.
Как я понимаю, pCreature - это и есть нпц со скриптом.

Нашел pCreature->IsWithinDistInMap(ХХХ,10)), но надо еще найти нужного нпц, чтобы вставить его вместо ХХХ.

Как найти в определенном радиусе нпц с определенным кодом: перебором или конкретной функцией?

LordJZ 09.03.2010 22:33

Тотемы такие накладывают на всех вокруг ауру, которая прокает спелл на тотем при смерти моба.

virusav 09.03.2010 22:39

Нашел один такой квест, у тотема периодическая аура.
В этом случае сразу видно, что тотем сканирует местность.

Но не у всех тотемов видно сканирование местности на офе.

Как в таком случае найти периодическую ауру, например, у http://ru.wowhead.com/?npc=21071?

И все-таки ответы на поставленные вопросы пригодятся в дальнейшем.:)

KiriX 10.03.2010 12:50

Цитата:

Сообщение от LordJZ (Сообщение 1051)
Тотемы такие накладывают на всех вокруг ауру, которая прокает спелл на тотем при смерти моба.

Не видел поста Фога, но тоже подумал о спелле у тотема, который "сканит" область. Если у твоего тотема ауры нет - значит её просто нужно найти. Скорее всего она невидима...

virusav 10.03.2010 15:56

Давно пришел к выводу, что у тотемов должна быть аура, только не мог найти.

И все-таки: как найти в определенном радиусе нпц с определенным кодом: перебором или конкретной функцией?

Viste 10.03.2010 16:27

Цитата:

Сообщение от virusav (Сообщение 1169)
Давно пришел к выводу, что у тотемов должна быть аура, только не мог найти.

И все-таки: как найти в определенном радиусе нпц с определенным кодом: перебором или конкретной функцией?

Есть функция GetClosestCreatureWithEntry

MaS0n 10.03.2010 18:25

Действительно должна быть аура, но пока чет такой не вижу, надо перелопатить все спеллы со словами "Souls", "collect", "Enraged"
А в скрипте можно сделать так, пишешь скрипт на этих элемов, ф-цию смерти(JustDied), а там указываешь что-то вроде
Код:

if (Creature * totem = GetClosestCreatureWithEntry(m_creature, (здесь ентри тотема), 10.0f(радиус)))
{
if (Player * plr = Unit::GetUnit((*m_creature), totem->GetOwnerGUID()))
plr->CastSpell(plr, spell of kill credit, true);
}

Еще как вариант, раз есть pVictim - киллер элементаля, то собсно он по идее является и кастующим спелла на килл кредит, но все-таки лучше проверять по создателю тотема

virusav 10.03.2010 22:33

Просмотрел "collect", "Enraged" и почти все "Souls", но пока не нашел нужных аур.
Собираюсь просмотреть все спеллы, где указаны Apply Aura: Periodic Trigger.
Может, повезет.:)

За примеры спасибо.

virusav 15.03.2010 13:39

Насчет аур: один и тот же нпц (тотем) может выдаваться для разных квестов, где надо убить разных мобов.
В этом случае аура разруливает, кого и когда засчитывать?

zevgen 15.03.2010 14:06

Давайте на примерах

virusav 15.03.2010 14:11

Пример нпц я приводил:
http://ru.wowhead.com/?npc=21071

Вот итем суммона:
http://ru.wowhead.com/?item=30094

Внизу в списке указаны квесты, для которых он используется.

virusav 24.03.2010 09:13

Пока поиск спеллов по текстам и наличию периодических аур не дал желаемых результатов.

Может, все-таки скрипт нужен?

По идее, реагировать должен тотем, в этом случае аура с периодическим эффектом необходима, только пока не находится.:)

Теоретически можно повесить скрипт на нпц, чьи смерти должны засчитываться.
В момент смерти нпц ищет в радиусе тотем и игрока и засчитывает последнему +1.
Или это будет хак?

virusav 24.03.2010 20:52

Пошел другим путем и получил следующие данные:
Код:

q10458:
Earth
http://ru.wowhead.com/?spell=36025
http://ru.wowhead.com/?spell=36108

Fire
http://ru.wowhead.com/?spell=36115
http://ru.wowhead.com/?spell=36117

q10480:
Water
http://ru.wowhead.com/?spell=36170
http://ru.wowhead.com/?spell=36171

q10481:
Air:
http://ru.wowhead.com/?spell=36181
http://ru.wowhead.com/?spell=36182

Каким образом тогда тотем должен реагировать на смерть нпц через ауру, чтобы все эти спеллы были задействованы и при этом игрок получал +1 за нужного нпц?


Текущее время: 11:45. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS