- 1,657
- 1,472
Pathfinding - библиотека для реализации алгоритмов поиска пути в GTA:SA. Это означает, что данная библиотека стремится реализовать не только один алгоритм поиска пути, а несколько, пытаясь привести их в пригодное для использования состояние. На данный момент ведется работа над наиболее известным и простым в реализации алгоритмом А*.
Использование: Библиотека экспортирует всего одну основную функцию:
Демо:
В архиве с библиотекой есть папка demo. Там хранится демонстрация библиотеки и её возможностей. Имеет одну команду pf.demo, которая скрывает/показывает меню.
Предостережение: Подобные алгоритмы, как ни крути, очень затратны по ОЗУ, если не адаптировать их под конкретную ситуацию. Например: вряд ли вам требуется 20+ точек, если вы пишите бота для работы в буквально узком коридорном помещении и так далее. В общем, скорость зависит от вашего процессора и количества + качества ОЗУ.
Также не стоит пытаться построить путь с точками, у которых огромное расстояние между собой. Лучше разделить их на кучу других точек, но ближе друг к другу.
Установка: Скачать библиотеку можно с GitHub. С архива нужно переместить содержимое папки src в вашу папку moonloader/lib.
Также: библиотека написана при помощи moonly
Референсы: Википедия, Википедия (Theta*), FiveTuning, тема c Blast.hk (a.k.a Терминатор от @Rei)
Использование: Библиотека экспортирует всего одну основную функцию:
Lua:
local pathfinding = require("pathfinding")
local path = pathfinding:process([algorithm-name: string], [start: Vector], [goal: Vector], (configuration: Configuration|nil))
В архиве с библиотекой есть папка demo. Там хранится демонстрация библиотеки и её возможностей. Имеет одну команду pf.demo, которая скрывает/показывает меню.
Предостережение: Подобные алгоритмы, как ни крути, очень затратны по ОЗУ, если не адаптировать их под конкретную ситуацию. Например: вряд ли вам требуется 20+ точек, если вы пишите бота для работы в буквально узком коридорном помещении и так далее. В общем, скорость зависит от вашего процессора и количества + качества ОЗУ.
Также не стоит пытаться построить путь с точками, у которых огромное расстояние между собой. Лучше разделить их на кучу других точек, но ближе друг к другу.
Установка: Скачать библиотеку можно с GitHub. С архива нужно переместить содержимое папки src в вашу папку moonloader/lib.
Также: библиотека написана при помощи moonly
Референсы: Википедия, Википедия (Theta*), FiveTuning, тема c Blast.hk (a.k.a Терминатор от @Rei)
Последнее редактирование: