GoldNav

GoldNav 1.0.0-beta

Нет прав для скачивания
Авторы:

Мультиязычность:
  1. EN
  2. RU

GoldNav — навигационный модуль для Counter-Strike 1.6 / GoldSource. Он позволяет отправить любую entity (кроме игроков) в заданные координаты одним вызовом. Сама entity находит дорогу, обходит препятствия и останавливается в цели.

Что умеет
  • Строит навигационную сетку автоматически при старте карты. Это занимает от долей секунды до пары секунд, файлы waypoint-ов не нужны.
  • Обходит стены, ящики и другие статичные препятствия.
  • Поднимается и спускается по ступенькам, лестницам и пандусам (ступенька берётся по sv_stepsize).
  • Понимает многоэтажность: мосты, второй этаж, тоннели.
  • Спрыгивает с уступов высотой до 150 юнитов (goldnav_max_drop). Подняться обратно прыжком не может.
  • Огибает стоящих на пути игроков и другие entity.
  • Если цель недостижима, подходит как можно ближе.
  • Учитывает размер entity: поддерживает все четыре хулла движка (точка, 32x32x36, 32x32x72, 64x64x64).
  • Избегает воды и лавы, держится подальше от стен и краёв уступов.
  • При сбое (столкнули, застряла) сам перестраивает путь, а после нескольких неудач сообщает о провале.

Как работает
  1. Заливкой от точек спавна строится граф «клетка + высота пола». Каждый шаг проверяется теми же трассировками, которыми потом ходит entity.
  2. Поиск пути идёт алгоритмом A* с весами. Затем путь сглаживается, чтобы entity не ходила по клеткам зигзагом.
  3. Entity двигается кинематически: модуль сам ставит origin и держит velocity нулевой. Физика движка не умеет подниматься на ступеньки.


Состав
  • goldnav_mm.dll / goldnav_mm.so — основной модуль (Metamod-плагин), папка addons/metamod/dlls/
  • goldnav_amxx.dll / goldnav_amxx_i386.so — натусы для AMXX, папка addons/amxmodx/modules/
  • goldnav.inc — заголовок для .sma, папка addons/amxmodx/scripting/include/
  • goldnav_chicken.amxx — тестовый плагин с курицей, папка addons/amxmodx/plugins/

Установка
  1. Распакуйте архив в папку cstrike/.
  2. В addons/metamod/plugins.ini добавьте:
    C-подобный:
    win32 addons\metamod\dlls\goldnav_mm.dll
    linux addons/metamod/dlls/goldnav_mm.so
  3. В addons/amxmodx/configs/plugins.ini добавьте goldnav_chicken.amxx (нужен модуль fakemeta). Модуль goldnav_amxx в modules.ini прописывать не обязательно.
  4. Запустите сервер. В консоли должно появиться: [GoldNav] navmesh [32x32] ready: N nodes ...

Использование в своём плагине
см. исходный код.

Тестовый плагин с курицей
  • /chicken (или goldnav_chicken) — заспавнить курицу по прицелу
  • /goto — отправить кур в точку прицела (путь рисуется лучом)
  • /follow — куры идут за вами
  • /stop, /remove, /where — остановить / удалить / показать координаты прицела

Серверные команды и квары
  • Команды: goldnav_status, goldnav_rebuild, goldnav_findpath, goldnav_dump
  • Квары: goldnav_cell_size (16), goldnav_gen_budget_ms (8), goldnav_max_drop (150), goldnav_debug (0)

Ограничения (версия 1.0.0-beta)
  • Игроки и боты не двигаются модулем (для ботов есть goldnav_find_path).
  • Нет лестниц (func_ladder), прыжков вверх и плавания.
  • Двери и платформы учитываются в том состоянии, в каком были при генерации. После изменений нужен goldnav_rebuild.
  • Триггеры (trigger_hurt, телепорты) на ведомую entity не срабатывают.
  • Анимацию выставляет ваш плагин; для плавного движения рекомендуется MOVETYPE_PUSHSTEP.
  • Linux-сборка проверена только юнит-тестами, на живом Linux-сервере не запускалась.
  • Нравится
Реакции: ufame и wopox1337
Опубликовал
Hozon
Скачивания
4
Просмотры
34
Первый выпуск
Обновление

Оценки

0,00 звёзд Оценок: 0
Назад
Верх