PDA

Просмотр полной версии : [FIX] NearestCreatureEntryWithLiveStateInObjectRangeChec k.


Astellar
25.08.2010, 11:42
Тьфу, ну и название, ей Богу.

Суть проблемы. Если источником поиска (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;Тривиально в общем-то. Где это может пригодиться? Ну например в скриптах.