Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Новичкам (http://mangos.ytdb.ru/forumdisplay.php?f=40)
-   -   GAMEOBJECT_TYPE_TRAP = 6 (активация) (http://mangos.ytdb.ru/showthread.php?t=8049)

virusav 31.05.2014 23:49

GAMEOBJECT_TYPE_TRAP = 6 (активация)
 
1. Дано:
ГО1: entry=29784, type=8.
ГО2: entry=31442, type=6.
При приближении к ГО2 на игрока должен происходить каст 7353.

На чистом ядре каста 7353 не происходит.
Точнее эффекта от каста нет, в логе пусто, хотя телодвижения в ядре делаются.

В текущем варианте не работает (чистое ядро):
Код:

void GameObject::Use(Unit* user)
...
            // FIXME: when GO casting will be implemented trap must cast spell to target
            if (goInfo->trap.spellId)
                                caster->CastSpell(user, goInfo->trap.spellId, true, NULL, NULL, GetObjectGuid());

Если заменить каст на:
Код:

caster->CastSpell(user, goInfo->trap.spellId, true, NULL, NULL, user->GetObjectGuid());
Тут возникают вопросы: зачем передается гуид в последнем параметре, если каст всегда идет от имени юнита, и нужны ли тут последние 3 параметра вообще?

2. Меняю кусок выше, чтобы каст 7353 засчитывался.
Спелл 818 должен спавнить 2 го:
ГО1: entry=29784, type=8.
ГО2: entry=31442, type=6.

На чистом ядре в мире появляются оба го, но каста 7353 не происходит.

Если в void GameObject::SummonLinkedTrapIfAny() после GetMap()->Add(linkedGO); добавить строку linkedGO->Use(GetOwner()); (проверку на существование владельца не делал, т.к. это тест), то каст спелла 818 отрабатывает, как полагается.

Вопросы: правильно использовать ловушку при добавлении в мир или го, который эту ловушку спавнит?

3. После каста 818 отменяем баф, отходим от ГО2 и подходим к нему снова, но эффекта 0.

Вопросы: ГО2 должен активироваться всегда, как только юнит попадает в радиус действия, или это должен делать ГО1 (в данном случае спеллфокус)?
Если ГО1, то в данном случае как другие игроки получат баф, если игрока-кастера с навыком кулинарии нет рядом?

Vladimir 04.06.2014 00:48

Не могу к сожалению подсказать по более конкретным вопросам, но
Цитата:

Тут возникают вопросы: зачем передается гуид в последнем параметре, если каст всегда идет от имени юнита, и нужны ли тут последние 3 параметра вообще?
Чисто со стилистической точки зрения - использование API должно основываться минимально на знании особенностей реализации в конкретных случаях. Т.е. есть соглашение что где передается - так и передавать игнорируя частности использования или неиспользования значений параметров.
Это позволяет при сменах реализации делать их безболезненно без неожиданных спецэффектов для таких частных случаях. Только исходя из этого и передаем.

virusav 04.06.2014 08:46

Где можно задавать вопросы, чтобы получить на них ответы, на каком форуме?
cmangos.net выдает "Заблокировано Роскомнадзором".

Где сейчас обитают разработчики смангоса?
То же интересует по СД2, т.к. http://www.scriptdev2.com/index.php практически мертв, последняя активность в 2013 году.

Vladimir 04.06.2014 10:42

Цитата:

Где можно задавать вопросы, чтобы получить на них ответы, на каком форуме?
cmangos.net выдает "Заблокировано Роскомнадзором".
У меня из Ростова-на-Дону открывается прекрасно. Это ваш местный провайдер наверное глючит.

virusav 04.06.2014 11:03

С работы заблокирован, из московской терминалки работает.

Допустим, что с форумом ядра понятно, а как дела с СД2?

Vladimir 04.06.2014 23:01

Не в курсе.

xex 06.06.2014 08:14

http://cmangos.net/ прекрасно открывается при включенном режиме турбо в Опере или Яндекс браузере. Ну и миллион других путей зайти с иностраннного IP адреса.

Заблочили все сайты на этом IP из-за сайта торгующего курительными смесями. дибилы...


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

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