Создание WayPoint — S.T.A.L.K.E.R. Inside Wiki

Создание WayPoint

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Создадим вейппоинт. Не буду говорить все точно, скажу для новичков :)


Что такое вейпоинт

WayPoint(он же вейпоинт, ВП,WP) - путь передвижения для отдельного сталкера, состоит из точек путей. Чтобы создать ВП, нужно расстыковать all.spawn(не буду описывать, как это делать).


Создаем вейпоинт, с одной точкой

Открываете way_название локации и прописываете текст, подобный этому:

[name_weypoint]
 points = p0
 p0:name = wp00
 p0:position = 185.667572021484,-0.436268001794815,-260.062866210938
 p0:game_vertex_id = 696
 p0:level_vertex_id = 415469
 

А теперь, подробнее

[name_weypoint] - название пути
 points = p0 - список точек пути, через запятую (например points = p0,p1,p2 и т.д.)
 po:name = wp00 название первой точки пути.
 p0:position - позиции точки пути.
 p0:game_vertix_id - вертиксы локации
 p0:level_vertex_id

Вейпоинт с несколькими точками

[name_wp]
 points = p0,p1,p2,p3
 p0:name = wp00
 p0:flags = 0x1
 p0:position = 163.527374267578,-0.432826995849609,-266.167022705078
 p0:game_vertex_id = 854
 p0:level_vertex_id = 392698
 p0:links = p1(1),p3(1)
 
 p1:name = wp01
 p1:flags = 0x2
 p1:position = 176.939651489258,-0.50609302520752,-264.630889892578
 p1:game_vertex_id = 696
 p1:level_vertex_id = 406938
 p1:links = p2(1)
 
 p2:name = wp02
 p2:flags = 0x2
 p2:position = 179.156524658203,-0.430828988552094,-266.572570800781
 p2:game_vertex_id = 696
 p2:level_vertex_id = 409212
 
 p3:name = wp03
 p3:flags = 0x1
 p3:position = 161.710388183594,-0.50619900226593,-269.339660644531
 p3:game_vertex_id = 855
 p3:level_vertex_id = 390503

Здесь видно, что в первой точке прописаны все 4 точки.

points = p0,p1,p2,p3

Небольшое дополнение от ColR_iT касательно приведенного пример

p0:links = p1(1),p3(1) 

В этом случае, НПС будучи в точке p0 случайным образом выберет одну из предложенных p1 либо p3. Таким образом, в примере выше, НПС в первой точке выберет следующую точку следования, если выберет p1, то далее перейдет в точку p2 и остановится, если p3 - перейдет в нее и так же остановится*.

*В моих экспериментах, при выборе НПС точки, которая является "конечной", т.е. той в которой нет перехода на следующую (p3 в примере выше) у меня происходил вылет. Во избежании этого пришлось добавлять еще одну не подалёку на пути следования.

Пропишем путь нашему сталкеру

Теперь, чтобы по нашему пути ходил дядька нужно прописать ему этот путь. К кастом дате укажите файл до логики (не буду описывать, как это делается)

[logic]
 active = walker
 [walker]
 path_walk = name_wp
 path_look = name_wp

Думаю, что я понятно объяснил :)

Что же, дополню и я

[esc_gen_lager_walker_1]
points = p0,p1
p0:name = name00
p0:flags = 0x400
p0:position = -62.564220428467,-9.9675645828247,-56.229484558105
p0:game_vertex_id = 77
p0:level_vertex_id = 213868
p0:links = p1(1)
 
p1:name = name01
p1:flags = 0x800
p1:position = -58.430591583252,-9.94411277771,-47.951900482178
p1:game_vertex_id = 77
p1:level_vertex_id = 219640
p1:links = p0(1)
 


Скажем, такой путь можно использовать для look и walk p0:flags = 0x400 ОБРАТИМ ВНИМАНИЯ! p0:flags = 0x800

Два этих параметра служат как связь. Если в первом поинте walk стоит флаг 0x400, а в поинте look тоже стоит 0x400, когда НПС\МУТАНТ находится на этой точке, его взгляд направлен согласно флагу

Дополнительные параметры

Возможно задача дополнительных ключей-параметров

Для нпс к примеру

[esc_gen_lager_walker_1]
points = p0,p1
p0:name = wp00<u>|a=binocular</u>
p0:flags = 0x400
p0:position = -62.564220428467,-9.9675645828247,-56.229484558105
p0:game_vertex_id = 77
p0:level_vertex_id = 213868
p0:links = p1(1)
 
p1:name = wp01
p1:flags = 0x800|<u>a=assault</u> 
p1:position = -58.430591583252,-9.94411277771,-47.951900482178
p1:game_vertex_id = 77
p1:level_vertex_id = 219640
p1:links = p0(1)
 

Отыгрывается анимация сначала смотрит в бинокль, потом атака. Если правильно привязать к точкам обзорного пути - получится красиво

Имена анимаций брать отсюда state_mgr_animation_list.script

Касательно вертолётов

Расскажу фишку. Если в логике вертолётов использую путь move и look, плюс с помощью флагов прицепить move к каждой точке look. Можно ставить на wp дополнительный параметр, стрелять. Параметр называется |e Можно сделать сценку, как будто вертолёт зачищает местность. Подробнее о ключах для вертолёта


== См. также ==http://stalkerin.gameru.net/wiki/index.php/%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4#3.12.1._.D0.A1.D1.85.D0.B5.D0.BC.D0.B0_heli_move:


Всем спасибо все свободны

Дополнение от Re]Spawner

Andrey K aka forest Спасибо вам огромное. Я немножко разъясню для начинающих, что за кастом дата и куда что вставлять. Допустим, у вас есть НПС, его профиль и тому подобное. Естественно, вы хотите, чтобы он пошел по вашему пути. Тогда открываете spawn_sections.ltx, в него пишите следующий текст:

[esc_respawner_test_wp]:stalker_trader
character_profile = esc_respawner_test_wp
spec_rank = veteran
community = bandit
use_single_item_rule = off
can_select_items = off
custom_data = scripts\esc_respawner_test_wp.ltx
 
Где
[esc_respawner_test_wp]:stalker_trader
- название профиля (точно не помню)
character_profile = esc_respawner_test_wp
- вот это уже точно название профиля
custom_data = scripts\esc_respawner_test_wp.ltx
-ссылка на файл логики, куда надо вбивать следующий текст:
 
 [logic]
 active = walker
 [walker]
 path_walk = name_wp
 path_look = name_wp
 

Это все! Так просто ;)

Автор Andrey K aka forest, Дополнил: Re]Spawner

Другие места
LANGUAGE