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

Крек как-то писал, что на офе завершил квест, пролетая на маунте над точкой, где кто-то выполнил тот же квест, так что на офе есть комплит квеста независимо от нахождения в группе.

В данном случае я проверять буду именно игроков из группы, если такая есть.

Проверять надо дистанцию до пета, а не до игрока.
Например, радиус спелла 20, 2 игрока попадают, третий в радиусе 21 нет, хотя его пет в радиусе 19.
При этом у первого игрока пет в радиусе 21, хотя сам игрок в радиусе 19.
Поэтому писал о необходимости искать именно петов, чтобы отсеять ошибки.

НФ писал про ScriptedAI::GetPlayerAtMinimumRange, но данная функция может выбрать игрока неправильно, если нпц был убит с дальней дистанции, а рядом находился игрок, например, из другой группы.

Перебирать m_creature->GetMap()->GetPlayers(), как мне кажется, будет тяжелым по ресурсам вариантом, точно не могу сказать.

Есть примеры поиска игроков или петов, не сильно тяжелые по ресурсам?
virusav вне форума   Ответить с цитированием