Описание:
Данный плагин позволит вам составить маршрут из определенной точки в другую. Он может составлять пути по всюду - дороги, поля, проселки - в общем все, кроме воды.
Он использует встроенную карту San Andreas и алгоритм реализации Джастина Хейеса Джонса. Также он использует отдельный поток для расчета пути, что не даст вашему серверу зависнуть.
Коллбэки:
Код:
public OnPathCalculated(routeid,success,nodes[],nodes_size)
Пояснения:
Код:
routeid <- ID пути
success <- Возвращает успешность построения ( true or false \ 1 or 0 )
nodes[] <- Количество узлов ( величина ) до точки ( routeid )
nodes_size <- Возвращает размер nodes[]
Пример:
Код:
public OnPathCalculated(routeid,success,nodes[],nodes_size)
{
SendClientMessageToAll(-1,"Trasa policzona!!");
if(success)
{
new Float:x,Float:y,Float:z;
for(new i; i < nodes_size; i++)
{
PathFinder_GetNodePos(nodes[i],x,y,z);
printf("Punkt %d = NodeID %d czyli X = %f Y = %f Z = %f",i,nodes[i],x,y,z);
}
}
return 1;
}
Важно! При расчете маршрута nodes[] имеет только один индекс со значением = -1 (nodes_size 1).
Функции:
PHP код:
PathFinder_Init(Float:zdifference = 2.0,maxnodes = 10000);
Параметры:
Код:
zdifference <- Максимальное отклонение по оси Z - Высота - ( Используется для расчета )
maxnodes <- Максимальное количество узлов при расчете траектории
PHP код:
PathFinder_FindWay(routeid,Float:start_x,Float:sta rt_y,Float:end_x,Float:end_y,step_limit = -1);
Параметры:
Код:
routeid <- ID пути
start_x <- Начальная координата X
start_y <- Начальная координата Y
end_x <- Конечная координата X
end_y <- Конечная координата Y
step_limit <- Количество шагов до конечной точки, на примере пикапов, которые вы увидите ниже на видео.
PHP код:
PathFinder_GetNodePos(nodeid,&Float:x,&Float:y,&Float:z);
Параметры:
nodeid <- ID узла
x <- Координата узла по X
y <- Координата узла по Y
z <- Координата узла по Z
Функция возвращает координаты X Y и Z какого-либо узла
Важно! Координата высоты ( Z ) возвращается с точностью до сантиметра, если вы хотите указать путь для бота, то значение высоты лучше поставить 1.0
PHP код:
PathFinder_SetTickRate(rate = 5);
Параметры:
rate <- Частота обновления рейта
Ссылки:
Инклюд + Плагин (Windows & Linux)
https://dl.dropbox.com/u/15340809/PathFinder0.14v.zip
Исходники:
https://dl.dropbox.com/u/15340809/Pa...r0.14v-src.zip
Важно! Поместить файл SAfull.hmap в папку scriptfiles!: https://dl.dropbox.com/u/15340809/SAfull.rar
Автор: pamdex
Автор перевода: georJik