Крек как-то писал, что на офе завершил квест, пролетая на маунте над точкой, где кто-то выполнил тот же квест, так что на офе есть комплит квеста независимо от нахождения в группе.
В данном случае я проверять буду именно игроков из группы, если такая есть.
Проверять надо дистанцию до пета, а не до игрока.
Например, радиус спелла 20, 2 игрока попадают, третий в радиусе 21 нет, хотя его пет в радиусе 19.
При этом у первого игрока пет в радиусе 21, хотя сам игрок в радиусе 19.
Поэтому писал о необходимости искать именно петов, чтобы отсеять ошибки.
НФ писал про ScriptedAI::GetPlayerAtMinimumRange, но данная функция может выбрать игрока неправильно, если нпц был убит с дальней дистанции, а рядом находился игрок, например, из другой группы.
Перебирать m_creature->GetMap()->GetPlayers(), как мне кажется, будет тяжелым по ресурсам вариантом, точно не могу сказать.
Есть примеры поиска игроков или петов, не сильно тяжелые по ресурсам?
|