• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » [TrinityCore] Help » мобы друг в друге
мобы друг в друге
zhwyn
Скаут
пасаны выручайте, никак не догоню как исправить
когда агриш много мобов они все могут встать в одно место
в итоге за тобой бежит 10 мобов а смотриться как 1

выручайте очень надо исправить

вот на скрине 8 мобов
Сообщение # 1 отредактировано zhwyn - Суббота, 19.09.2015, 23:05
zugurysus
Центурион
гео дата включена и mmaps?
Сообщение # 2 написано 20.09.2015 в 08:28
p620
Маршал
Цитата zugurysus ()
гео дата включена и mmaps?

Это не поможет. Более того, они даже на оффе бывают так себя ведут.
Сообщение # 3 написано 20.09.2015 в 09:29
zhwyn
Скаут
геодата ммарs есть
Сообщение # 4 написано 20.09.2015 в 11:23
Mocosin
Капрал
В вов так сделано, что и нип и игроки могут проходить сквозь друг друга, это не лечится
Сообщение # 5 написано 20.09.2015 в 11:29
p620
Маршал
Цитата Mocosin ()
это не лечится

Почему же. Лечиться - лечится, но работа не на пять минут.
Сообщение # 6 написано 20.09.2015 в 11:53
zhwyn
Скаут
Цитата Mocosin ()
В вов так сделано, что и нип и игроки могут проходить сквозь друг друга, это не лечится


нет это баг, я такого даже не на одном сервере не видел
всегда и везде пачки мобов вставали вокруг персонажа , не вставая друг в друга
Сообщение # 7 написано 20.09.2015 в 14:18
p620
Маршал
Цитата zhwyn ()
всегда и везде пачки мобов вставали вокруг персонажа , не вставая друг в друга

Да ладно?
http://www.youtube.com/watch?v=tzDGJmFjjHM
(начиная с 00:13)
Обратите внимание, это Legion, оффа.
Сообщение # 8 написано 20.09.2015 в 14:51
zhwyn
Скаут
Цитата p620 ()
Да ладно?
http://www.youtube.com/watch?v=tzDGJmFjjHM
(начиная с 00:13)
Обратите внимание, это Legion, оффа.


возможно новый контент баганыый еще пока (на офе полно багов) темболее видео с птр
но щас только проверил, мобы когда встают также как на видео, в течении 3 секунд расходяться в стороны и окружают цель
мобы могут двигаться друг в друге, но стоять не могут
Сообщение # 9 отредактировано zhwyn - Воскресенье, 20.09.2015, 15:34
p620
Маршал
Цитата zhwyn ()
в течении 3 секунд расходяться в стороны и окружают цель

Тогда повторюсь, точно такой же функционал реализовать нетрудно, если глаз режет.
Сообщение # 10 написано 20.09.2015 в 15:39
zhwyn
Скаут
Цитата p620 ()
Тогда повторюсь, точно такой же функционал реализовать нетрудно, если глаз режет.


да, но вот я и спрашиваю как реализовать
Сообщение # 11 написано 20.09.2015 в 16:09
p620
Маршал
Цитата zhwyn ()
да, но вот я и спрашиваю как реализовать

Первое, что пришло в голову:
Подрубаетесь к Creature::Update(), к метке switch(m_deathState), где существо живо.
Добавляете проверку на нахождение в бою + наличие жертвы (далее - victim) и на флаг перемещения (удостоверяетесь в том, что НИП стоит).
Предварительно добавив в класс существа таймер проверки (далее - m_cprTimer), добавляете внутрь вышеозначенной проверки примерно следующее:
Если m_cprTimer <= diff:

- Получаете список (GetCreatureListWithEntryInGrid()), указывая радиус поиска равным 1.0f.
- Обрабатываете каждое найденное существо следующим образом:
а) Проверяете, стоит ли оно, находится ли в бою, совпадает ли его жертва с жертвой рассматриваемого существа.
б) Если все эти проверки возвращают true - заставляете существо переместиться так, чтобы оно встало на то же расстояние от игрока, на котором оно находилось до этого, но при этом чтобы bounding_radius'ы рассматриваемого и целевого существ не пересекались.

В противном случае:

- Отнимаете от m_cprTimer'а diff.

П.С: Учтите, что все, что написано выше, отражает лишь мои мысли по данному вопросу в данный момент. Возможно есть какой-то фактор(ы), который я не учел, и который(е) всплывут только при воспроизведении и тестировании метода.
Кроме того, способ можно кастомизировать. Здесь я проверяю, находятся ли существа, атакующие общую цель, в радиусе, меньшем, чем 1.0, друг от друга. И, если да, перемещаю одно из них. При этом их bounding_radius'ы, например, не учитываются (теоретически 2 существа могут запросто находиться на расстоянии, меньшем, чем 1.0, друг от друга и при этом визуально *не мешать* друг другу в виду их малых размеров).

П.С.С: Вот, один из нюансов: стоит добавить еще и проверку на чтение заклинаний, чтобы НИПы не прерывали свои касты, а дожидались их окончания.
Сообщение # 12 отредактировано p620 - Воскресенье, 20.09.2015, 20:28
Форум » TrinityCore » [TrinityCore] Help » мобы друг в друге
  • Страница 1 из 1
  • 1
Поиск: