Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

Важная информация

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.11.2010, 23:08   #1
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию Проверка нахождения нпц в мире

Проблема: если у спелла цель можно задать в `spell_script_target` + целью является мертвый нпц, то кастовать можно не только на труп, но и в этой же точке после деспавна нпц.

Пробовал исправить, изменив условие в SpellCastResult Spell::CheckCast(bool strict) на:
Код:
if (creatureScriptTarget && creatureScriptTarget->IsInWorld())
Номер не прокатил, дебагер выдал, что нпц находится в мире, хотя труп исчез, т.е. деспавнился.

Есть ли у нпц метод, которым можно определить, находится ли нпц в заспавненном состоянии независимо от m_deathState?
virusav вне форума   Ответить с цитированием
Старый 07.11.2010, 23:39   #2
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

А.. надо еще смотреть deadstate == CORPSE

Hint: Creature::RemoveCorpse()
{
...
SetDeathState(DEAD);
...
}

Как потестите я могу добавть патч как представите
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Старый 07.11.2010, 23:52   #3
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Цель может быть любого типа (живой или мертвый нпц), но обязательно находиться в мире.
virusav вне форума   Ответить с цитированием
Старый 08.11.2010, 00:08   #4
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Сделал:
http://ru-mangos.ru/showthread.php?t=2856
virusav вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка возможности каста virusav Новичкам 17 11.11.2010 23:39
[micro] Проверка ScriptDev2 скриптов LordJZ Tools 22 06.08.2010 23:55
Проверка браузера selector Новичкам 8 05.06.2010 18:42
Поиск всех нпц в радиусе + проверка актуальности цели virusav Новичкам 14 15.03.2010 12:47


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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot