Перейти к содержанию
Авторизация  
Hardtmuth

Как создать самый простой путь path_walk

Рекомендуемые сообщения

 

Как создать самый простой путь path_walk 

Автор: BadQvik

Здравствуйте. По просьбе одного знакомого на форуме, решил написать «тутор» о том: Как создавать пути path_walk.

Попытаюсь объяснить довольно понятно, по крайней мере на сколько это мне возможно.

Итак, думаю можно приступить.
Для того чтобы создать так называемые path_walk точки путей, нам понадобится:

  • Распакованный all.spawn (что это такое даже объяснять не буду!).

Когда мы смотрим на распакованный файл all.spawn мы видим довольно обширную структуру из файлов типа “ltx”. Есть файлы с аббревиатурой “alife_название локации”, а есть “way_название локации”. На данный момент нам понадобится файл way_*** (для примера я беру Болота из ЧН), то есть way_marsh.

Открыв его, мы видим не знакомые буквы и числа:

Спойлер


[mar_smart_terrain_8_9_to_mar_smart_terrain_8_11_patrol_1_walk]
points = p0,p1
p0:name = wp00
p0:position = 271.433837890625,0.316967993974686,-52.3820457458496
p0:game_vertex_id = 53
p0:level_vertex_id = 310238
p0:links = p1(1)

p1:name = wp01
p1:position = 262.600189208984,0.248438000679016,-66.6992034912109
p1:game_vertex_id = 49
p1:level_vertex_id = 304064
p1:links = p2(1)

 

Как мы видим данная секция представляется из себя путь из двух точек: (р0) и (р1), сейчас попытаюсь кратко объяснить где что:

Спойлер

[название секции* можно вводить любое после используется в логике]

points = p0,p1 - количество точек, из которых будет состоять патрульный путь
p0:name = wp00 – Имя для точки можно назначать абсолютно любое(wp00, wp01, wp02 или way_kap_say_1 и т.д.)
p0:position = позиция (x,y,z)
p0:game_vertex_id = гейм вертекс
p0:level_vertex_id = левел вертекс
p0:links = p1(1) – Это то в какую точку НПС пойдёт после данной точки

Вроде с секциями разобрались, теперь можно пробовать создать путь. Для примера я создам путь из двух точек, в которых нпс будет ходить туда-сюда. То есть от 1-й ко 2-й от 2-й к 1-й. Приступим.

В файле way_mars.ltx (у вас например кордон) создаем секцию:

Спойлер

[urok_badqvik_1]
points = p0,p1
p0:name = wp00
p0:position = 271.433837890625,0.316967993974686,-52.3820457458496
p0:game_vertex_id = 53
p0:level_vertex_id = 310238
p0:links = p1(1)

p1:name = wp01
p1:position = 262.600189208984,0.248438000679016,-66.6992034912109
p1:game_vertex_id = 49
p1:level_vertex_id = 304064
p1:links = p2(1)

 

Внимание! Предварительно вам нужно снять координаты точек, например 2-х, у меня координаты не рабочие*взяты для примера! Если задать p1:links = p2(2), то нпс останется в точке 2, так что всегда будьте внимательны с это строкой.

После того как пути созданы, осталось прицепить этот путь к НПС (надеюсь вы создали нового? Если нет то создайте). Делается это путем не сложной логики.

В папке gamedata\configs\scripts\название вашего файла.ltx делаем так:

Спойлер

[logic]
active = walker

[walker]
path_walk = urok_badqvik_1

 

Все, после закрываем, сохраняем и например если вы спавнили нпс через all.spawn ищите секцию с вашим неписем, находим там:

custom_data = <<END

пишем:

[logic]
cfg = scripts\название вашего файла.ltx
END

Все закрываем, компилируем all.spawn и идем смотреть творение. Наш непись должен ходить туда сюда до бесконечности, конечно пока его не убьют.

Я преподнес вам самый простой пример того, как можно создавать пути path_walk, можно сделать очень сложный с анимацией и звуком. Но это будет в следующем уроке.

Спасибо за внимание. С вами был BadQvik, статья написана BadQvik из личных источников.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу