PDA

Просмотр полной версии : [Include] GPS система (Дейкстра)



L0ndl3m
22.05.2014, 20:54
Введение

Это простая реализация алгоритма Дейкстра (http://upload.wikimedia.org/wikipedia/commons/c/c4/Dijkstra_flow_chart.ru.svg?uselang=ru), включая простой пример GPS системы, работающей на узлах, использующий этот инклюд.

Функции

Мы имеем только одну простую функцию:

stock Dijkstra(const aeNodes[][], iStart, iEnd, aiPath[], const iSize = sizeof(aeNodes))

Массив с узлами должен выглядеть следующим образом:


enum e_Nodes
{
Float: e_fNX,
Float: e_fNY,
Float: e_fNZ,
e_iLink1,
e_iLink2,
e_iLink3,
e_iLink4
};


Если ссылка является неверной, вы должны использовать -1. Смотрите пример использования в фильтрскрипте.

Пример

В ссылке ниже есть простая система GPS, использующая этот инклюд инвестигирования. Узлы полностью сделаны в LV мною, некоторое время назад. Я не рекомендую использовать узлы из файла NODESX.DAT с этим инклюдом, так как будет потрачено много времени на расчёт траектории.

Видео


http://www.youtube.com/watch?v=rENx33otwE4

GPS.pwn (http://pastebin.ca/2149600)

Загрузка

Dijkstra.inc (http://pastebin.com/RwQZ1PWy)


Автор: RyDeR`
Перевод: L0ndl3m (http://pro-pawn.ru/member.php?2057-L0ndl3m)
Оригинал: http://forum.sa-mp.com/showthread.php?t=336000 (http://forum.sa-mp.com/showthread.php?t=336000)

Специально для: Pro-Pawn.Ru (http://pro-pawn.ru)

Копирование данной статьи без разрешения автора запрещено!

ArtemkO
24.05.2014, 11:42
Для RP серверов не пойдёт, ибо по встречке ездить нельзя, а вот для других - самое то! :good:

DeimoS
24.05.2014, 22:48
Для RP серверов не пойдёт, ибо по встречке ездить нельзя, а вот для других - самое то! :good:

Немного магии и можно сделать распознание системой того, по какой полосе движется игрок и куда ставить следующий маркер.

#Vito
11.08.2014, 21:38
А в чем его разница от плагина Gamer_Z?

wAx
11.08.2014, 22:19
А в чем его разница от плагина Gamer_Z?

Разве что недоступность для линукса.

L0ndl3m
11.08.2014, 22:22
А в чем его разница от плагина Gamer_Z?
Хорошо поставленный вопрос это уже половина ответа.

#Vito
13.08.2014, 13:25
Ок, я понял)
А что нужно писать вместо e_iLink1, e_iLink2, e_iLink3,e_iLink4 и что это означает?

L0ndl3m
13.08.2014, 13:31
Ок, я понял)
А что нужно писать вместо e_iLink1, e_iLink2, e_iLink3,e_iLink4 и что это означает?
Посмотри скрипт GPS.pwn, поймёшь.

Mentos
08.06.2015, 07:22
Ребят, как я понял тут идет проверка к какому чекпоинту игрок находится ближе?