Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи

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

Патчи Если кто-то хочет выложить не свой готовый патч - не забудьте указать автора и источник.

Если кто-то хочет задать вопрос по патчу - велкам.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.08.2010, 11:42   #1
Astellar
Гость
 
Сообщений: n/a
По умолчанию [FIX] NearestCreatureEntryWithLiveStateInObjectRangeChec k.

Тьфу, ну и название, ей Богу.

Суть проблемы. Если источником поиска (i_obj) выступает моб с той же самой entry, что и требуется найти, то найдет вся эта штука самого себя. А это не есть хорошо.

Код:
diff --git a/src/game/GridNotifiers.h b/src/game/GridNotifiers.h
index 8696051..3cf018b 100644
--- a/src/game/GridNotifiers.h
+++ b/src/game/GridNotifiers.h
@@ -1016,7 +1016,8 @@ namespace MaNGOS
 
             bool operator()(Creature* u)
             {
-                if(u->GetEntry() == i_entry && u->isAlive()==i_alive && i_obj.IsWithinDistInMap(u, i_range))
+                if(u->GetGUID() != i_obj.GetGUID() && u->GetEntry() == i_entry &&
+                    u->isAlive()==i_alive && i_obj.IsWithinDistInMap(u, i_range))
                 {
                     i_range = i_obj.GetDistance(u);         // use found unit range as new range limit for next check
                     return true;
Тривиально в общем-то. Где это может пригодиться? Ну например в скриптах.
  Ответить с цитированием
6 пользователя(ей) сказали cпасибо:
Burned (25.08.2010), Den (09.01.2011), KiriX (25.08.2010), Konctantin (25.08.2010), Vinolentus (25.08.2010)
Ответ


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

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



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


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