Случайная подборка модов
Новое Время. Научный Подход
3.8
История Борова
3.5
Winter Mod
3.9
ReBorn 2.50 «Артефакты смерти»
3.5
Clear Sky: MYSTERY
4.1
Игра Душ: Эксельсиор
4.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Как создать самый простой путь path_walk (урок очень прост и минимален)
Как создать самый простой путь path_walk
Российская Федерация  BadQvik
Четверг, 24.01.2013, 08:21 | Сообщение # 1
Статус:
Отмычка:
Сообщений: 128
Награды: 0
Регистрация: 17.01.2013

Здравствуйте. По просьбе одного знакомого на форуме, решил написать «тутор» о том: Как создавать пути path_walk.
Попытаюсь объяснить довольно понятно, по крайней мере на сколько это мне возможно. Итак, думаю можно приступить.
Для того чтобы создать так называемые path_walk точки путей, нам понадобится: Распакованный all.spawn (что это такое даже объяснять не буду!).
Когда мы смотрим на распакованный файл all.spawn мы видим довольно обширную структуру из файлов типа “ltx”. Есть файлы с аббревиатурой “alife_название локации”, а есть “way_название локации”. На данный момент нам понадобится файл way_***(для примера я беру Болота из ЧН), то есть way_marsh. Открыв его, мы видим не знакомые буквы и числа:



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

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

Внимание! Предварительно вам нужно снять координаты точек, например 2-х, у меня координаты не рабочие*взяты для примера! Если задать p1:links = p2(2), то нпс останется в точке 2, так что всегда будьте внимательны с это строкой.
После того как пути созданы, осталось прицепить этот путь к НПС(надеюсь вы создали нового? Если нет то создайте).Делается это путем не сложной логики.
В папке gamedata\configs\scripts\название вашего файла.ltx Делаем так:


Все, после закрываем, сохраняем и например если вы спавнили нпс через all.spawn ищите секцию с вашим неписем, находим там:
custom_data = <<END
пишем
[logic]
cfg = scripts\название вашего файла.ltx
END
Все закрываем, компилируем all.spawn и идем смотреть творение. Наш непись должен ходить туда сюда до бесконечности, конечно пока его не убьют.
Я преподнес вам самый простой пример того, как можно создавать пути path_walk, можно сделать очень сложный с анимацией и звуком. Но это будет в следующем уроке.
Спасибо за внимание. С вами был BadQvik, статья написана BadQvik из личных источников.
Сообщение отредактировал BadQvik - Четверг, 24.01.2013, 13:29
  Злобная реклама
Четверг, 24.01.2013, 08:21
Статус:
Сообщений: 666
Регистрация: 17.01.2013
Российская Федерация  Green_Men
Четверг, 24.01.2013, 09:26 | Сообщение # 2
Статус:
Отмычка:
Сообщений: 73
Награды: 0
Регистрация: 28.12.2012

Спасибо BadQvik ты просто cool полезная статья для тех кто хочет научится создавать пути для новых неписей smile

Добавлено (24.01.2013, 09:25)
---------------------------------------------
а как например сделать так чтобы их было например 2 и они когда достигали своей точки (например дошли до лагеря или костра) и присели отдохнуть? как так сделать?

Добавлено (24.01.2013, 09:26)
---------------------------------------------
ну потом конечно же ушли опять чтоб там вечно не сидели biggrin smile

  Злобная реклама
Четверг, 24.01.2013, 09:26
Статус:
Сообщений: 666
Регистрация: 28.12.2012
Украина  BozKurt
Четверг, 24.01.2013, 12:05 | Сообщение # 3
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

BadQvik, хорошая статья, хоть и с недочётами, но правда хорошая.
По традиции, не могу удержатся от нескольких реплик, касаемо ошибок/недочётов.
Цитата (BadQvik)
points = p0,p1 - точки
Лучше будет сказать, количество точек, из которых будет состоять патрульный путь, либо путь для точек look. Несущественно, но нагляднее.

Цитата (BadQvik)
p0:name = wp00 – имя лучше оставлять так(wp00, wp01, wp02 и т.д.)
Имя для точки можно назначать абсолютно любое, игра не парсит имя, а учитывает только флаги, которые будут идти после символа "|". Поэтому для наглядности того, где эта точка пути находится, можно задавать весьма информативные имена, например: way_point_sidor_enter_door.

Цитата (BadQvik)
p0:links = p1(1) – обозначает с какой точки начинать путь.
А вот это уже ошибка. Это то в какую точку НПС пойдёт после данной точки. НПС начинает своё движение всегда с первой точки патрульного пути. Цифра в скобках обозначает вероятность с которой НПС пойдёт в следующую точку. Для одной точки это не имеет значение. Но! Можно задавать несколько точек в которые может пойти НПС, т.е. простыми словами можно задавать путь в котором НПС будет ходить по рандомным точкам.
Остановлюсь немного подробнее...
  Злобная реклама
Четверг, 24.01.2013, 12:05
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  BadQvik
Четверг, 24.01.2013, 12:07 | Сообщение # 4
Статус:
Отмычка:
Сообщений: 128
Награды: 0
Регистрация: 17.01.2013

Green_Men, На данный момент сам разбираюсь как это сделать. Наверное создаются смарт_террейны, где нпс будет выполнять работу которую задашь в логике. А так в принципе, все то что ты сказал можно сделать в ltx файле логики. То есть прописать в логике анимации и действия и все будет:) Врать не буду, но в этой я пока и сам не разобрался толком...

Добавлено (24.01.2013, 12:07)
---------------------------------------------
ColR_iT, Спасибо за поправку, очень благодарен smile

  Злобная реклама
Четверг, 24.01.2013, 12:07
Статус:
Сообщений: 666
Регистрация: 17.01.2013
Украина  BozKurt
Четверг, 24.01.2013, 12:19 | Сообщение # 5
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

BadQvik, может ты ошибку в "шапке" всё же поправишь?
  Злобная реклама
Четверг, 24.01.2013, 12:19
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  Scouser
Четверг, 24.01.2013, 12:57 | Сообщение # 6
Статус:
Опытный:
Сообщений: 1614
Награды: 16
Регистрация: 21.10.2012

Лучше бы написал побольше тогда) А так неплохо)
  Злобная реклама
Четверг, 24.01.2013, 12:57
Статус:
Сообщений: 666
Регистрация: 21.10.2012
Антарктика  FaLcon
Четверг, 24.01.2013, 13:20 | Сообщение # 7
Проект Смерти Вопреки
Статус:
Опытный:
Сообщений: 2022
Награды: 8
Регистрация: 17.07.2011

Цитата (Green_Men)
а как например сделать так чтобы их было например 2 и они когда достигали своей точки (например дошли до лагеря или костра) и присели отдохнуть? как так сделать?

Можно через remark и таймер .

Добавлено (24.01.2013, 13:20)
---------------------------------------------
[logic]
active = walker
level_spot = quest_npc
on_death = death

[walker]
path_walk = ohrana_02_walk
path_look = ohrana_02_look
anim = bar_head
on_timer = 80000| walker@vodka

[walker@vodka]
anim = bar_fas
on_timer = 14000| remark
P.S. С логикой в игре плохо разбираюсь так что сильно не бейте biggrin
Сообщение отредактировал FaLcon - Четверг, 24.01.2013, 13:20
  Злобная реклама
Четверг, 24.01.2013, 13:20
Статус:
Сообщений: 666
Регистрация: 17.07.2011
Российская Федерация  BadQvik
Четверг, 24.01.2013, 13:54 | Сообщение # 8
Статус:
Отмычка:
Сообщений: 128
Награды: 0
Регистрация: 17.01.2013

FaLcon, Кажется лучше будет так:
[logic]
active = walker

[walker]
path_walk = urok_badqvik_1
anim = bar_head
on_timer = 30000| remark@lem

[remark@lem]
anim = bar_fas
on_timer = 40000| remark2

[remark2]
anim = bar_head
on_timer = 30000|remark@lem
То есть наш НПС пройдет по пути urok_badqvik_1 отыграет анимацию bar_head и спустя 30 секунд перейдет к схеме remark@lem после этой схемы пойдет следом remark2 через 40 секунд, а после нее через 30 секунд вернется к схеме remark@lem smile
  Злобная реклама
Четверг, 24.01.2013, 13:54
Статус:
Сообщений: 666
Регистрация: 17.01.2013
Антарктика  FaLcon
Четверг, 24.01.2013, 13:58 | Сообщение # 9
Проект Смерти Вопреки
Статус:
Опытный:
Сообщений: 2022
Награды: 8
Регистрация: 17.07.2011

BadQvik, ну я просто пример написал .
  Злобная реклама
Четверг, 24.01.2013, 13:58
Статус:
Сообщений: 666
Регистрация: 17.07.2011
Российская Федерация  BadQvik
Четверг, 24.01.2013, 14:00 | Сообщение # 10
Статус:
Отмычка:
Сообщений: 128
Награды: 0
Регистрация: 17.01.2013

FaLcon, Я понял smile Я просто немного подправил, ну это по крайней мере как я писал в ЧН логику для непися...
  Злобная реклама
Четверг, 24.01.2013, 14:00
Статус:
Сообщений: 666
Регистрация: 17.01.2013
Российская Федерация  Green_Men
Четверг, 24.01.2013, 14:38 | Сообщение # 11
Статус:
Отмычка:
Сообщений: 73
Награды: 0
Регистрация: 28.12.2012

Вот это полезнейшая инфа для меня спасибо вам мены (Особенное BadQvik - у) wink
  Злобная реклама
Четверг, 24.01.2013, 14:38
Статус:
Сообщений: 666
Регистрация: 28.12.2012
Российская Федерация  Назар
Вторник, 28.11.2017, 17:46 | Сообщение # 12
Статус:
Зевака:
Сообщений: 7
Награды: 0
Регистрация: 04.11.2017

Привет всем, помогите плиз с патрулем:
хотел сделать 3 патруля новой группировки на Юпитере(ЗП), на самом заводе, в итоге пошёл только один.
Если нужно, вот логика:



Скажите, что не так?

PS: точки пути - левел вертексы. Когда я ставлю 1 или 3 на путь 2 они идут нормально.

сорри если не по теме.
Сообщение отредактировал Назар - Вторник, 28.11.2017, 18:54
  Злобная реклама
Вторник, 28.11.2017, 17:46
Статус:
Сообщений: 666
Регистрация: 04.11.2017
Коста Рика  Jargon
Вторник, 28.11.2017, 19:10 | Сообщение # 13
X-Ray Multiplayer Extension
Статус:
Бывалый:
Сообщений: 1078
Награды: 3
Регистрация: 24.06.2012

Цитата Назар ()
точки пути - левел вертексы. Когда я ставлю 1 или 3 на путь 2 они идут нормально.

Очевидно же что неправильно заспавнены сами пути
  Злобная реклама
Вторник, 28.11.2017, 19:10
Статус:
Сообщений: 666
Регистрация: 24.06.2012
Российская Федерация  Назар
Вторник, 28.11.2017, 19:16 | Сообщение # 14
Статус:
Зевака:
Сообщений: 7
Награды: 0
Регистрация: 04.11.2017

Дело в том, что все они спавнятся, но логике не следуют, уходят куда хотят. Еще вопрос, может ли быть такое, что они к смарту привязаны?
  Злобная реклама
Вторник, 28.11.2017, 19:16
Статус:
Сообщений: 666
Регистрация: 04.11.2017
Российская Федерация  _Val_
Вторник, 28.11.2017, 20:00 | Сообщение # 15
Ф.О.Т.О.Г.Р.А.Ф
Статус:
Бывалый:
Сообщений: 1063
Награды: 5
Регистрация: 20.01.2012

Цитата BadQvik ()
То есть наш НПС пройдет по пути urok_badqvik_1 отыграет анимацию bar_head и спустя 30 секунд перейдет к схеме remark@lem

Не знаю, плакать или смеяться. Может быть тебе рановато писать туторы? Пара вопросов.
1. Каким образом непись поймёт, что он дошел до конца пути, чтобы отыграть анимацию?
2. А вообще в схеме волкер отыгрываются анимации - прописанные подобным способом?
По крайней мере в ТЧ этого нет.
Подскажу, как на самом деле будет действовать непись согласно твоей логике.
Он потянется, почешет задницу, возьмет оружие в дефолтное(ибо другого у тебя не прописано) положение и попытается пойти. Не факт, что за 30 секунд, прописанные для перехода в ремарку, он пройдет(с учетом почесываний) шагов десять...ну и само собой перейдет в ремарку, пройдя этих десять шагов.
А если непись заспавнен не в первой точке пути, то учитывая то, что сказал BozKurt, получится, что находясь уже под схемой волкер, он почешет задницу...и через 30 секунд перейдет в ремарку, даже не успев дойти не то что до конца пути, а до первой точки. И дело тут не в таймере.
Сообщение отредактировал _Val_ - Вторник, 28.11.2017, 20:44
  Злобная реклама
Вторник, 28.11.2017, 20:00
Статус:
Сообщений: 666
Регистрация: 20.01.2012
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Как создать самый простой путь path_walk (урок очень прост и минимален)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: