|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Движение группы мобов по кругу (С++ OregonCore) |
Движение группы мобов по кругу |
Привет всем
Есть такая задача: Есть 3 моба 1) Необходимо чтобы 1 из них стал лидером а 2 других следовали за ним как сопровождающие 2) Полученная группа должна двигаться строго по вейпоинтам 3) эти вейпоинты должны быть зациклены - тоесть чтобы эта группа ходила тупо по кругу 4) Всё это должно быть НЕ на SmartAI! а на С++! Подскажите пожалуйста как это должно выглядеть? p.s стандартное перемещение через uint32 NextStep(uint32 uiSteps) не позволяет зациклить движение (ну или я не понял как это сделать) Помогите плиз разобраться
Если помог, ставь плюсик в репу :)
Сообщение # 1 написано 11.02.2021 в 18:33
|
Код void MotionMaster::MoveCirclePath(float x, float y, float z, float radius, bool clockwise, uint8 stepCount) x, y, z - координаты центра окружности radius - расстояние от центра до самой окружности, по которой будет двигаться юнит clockwise - направление (true - по часовой стрелке, false - против часовой стрелки) stepCount - количество генерируемых точек ("вейпоинтов"), чем их больше, тем более округлой будет выглядеть окружность, обычно указывают 16.
Сообщение # 2 написано 12.02.2021 в 01:23
|
Код void MotionMaster::MoveCirclePath(float x, float y, float z, float radius, bool clockwise, uint8 stepCount) x, y, z - координаты центра окружности radius - расстояние от центра до самой окружности, по которой будет двигаться юнит clockwise - направление (true - по часовой стрелке, false - против часовой стрелки) stepCount - количество генерируемых точек ("вейпоинтов"), чем их больше, тем более округлой будет выглядеть окружность, обычно указывают 16. Было бы круто но на Орегоне такого функционала нет Добавлено (12.02.2021, 10:27) Код void MotionMaster::MoveCirclePath(float x, float y, float z, float radius, bool clockwise, uint8 stepCount) x, y, z - координаты центра окружности radius - расстояние от центра до самой окружности, по которой будет двигаться юнит clockwise - направление (true - по часовой стрелке, false - против часовой стрелки) stepCount - количество генерируемых точек ("вейпоинтов"), чем их больше, тем более округлой будет выглядеть окружность, обычно указывают 16. Дополню - да такого функционала на Орегоне нет, но я его внедрил Спасибо мужик - выручил Ставлю плюсик в репу Добавлено (12.02.2021, 12:11) Добавлено (12.02.2021, 12:39)
Если помог, ставь плюсик в репу :)
Сообщение # 3 написано 12.02.2021 в 09:52
|
me->GetMotionMaster()->MoveFollow(target, mFollowDist, mFollowAngle); где me - ведомый, target - ведущий. примеры можно поглядеть в других скриптах.
Продажа готовых сборок cataclysm 4.3.4, legion (7.3.5), shadowlands, draginflight. Исправление спеллов, квестов, крашей на любых версиях вов. Цена договорная. Пишите в лс, не дорого.
Сообщение # 4 написано 12.02.2021 в 20:40
|
me->GetMotionMaster()->MoveFollow(target, mFollowDist, mFollowAngle);где me - ведомый, target - ведущий. примеры можно поглядеть в других скриптах. Я так и сделал но проблема в том чтобы мобы держали красивую формацию Например через таблицу "creature_formations" при условии движения по Waypoints они держат строй (но в случае использования С++ и движения по кругу данная таблица не работает) При MoveFollow это не получается - строй всё время сбивается, а хочется чтобы эти мобы летели строем (равнобедренный треугольник) (да-да именно летели - это воздушный патруль)
Если помог, ставь плюсик в репу :)
|
в ветке 4.3.4 эта функция была доработана и сделана более опциональной что позволяет реализовывать такие вещи, скорее всего, можно адаптировать под орегон, но переносить нужно много.
в битве за гилнеас удалось с помощью ее реализовать сопровождение мобами ровно один за другим и при этом "один в другого" не входил. Но на орегоне скорее всего очень старый код и в ином случае придется делать костылями.
Продажа готовых сборок cataclysm 4.3.4, legion (7.3.5), shadowlands, draginflight. Исправление спеллов, квестов, крашей на любых версиях вов. Цена договорная. Пишите в лс, не дорого.
Сообщение # 6 написано 14.02.2021 в 00:22
|
| |||
| |||