Создание WayPoint — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Создание WayPoint — различия между версиями

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

Перейти к: навигация, поиск
 
(не показаны 9 промежуточные версии 6 участников)
Строка 11: Строка 11:
 
Открываете way_название локации и прописываете текст, подобный этому:  
 
Открываете way_название локации и прописываете текст, подобный этому:  
  
  [name_weypoint]
+
  <ini>[name_weypoint]
 
  points = p0
 
  points = p0
 
  p0:name = wp00
 
  p0:name = wp00
Строка 17: Строка 17:
 
  p0:game_vertex_id = 696
 
  p0:game_vertex_id = 696
 
  p0:level_vertex_id = 415469
 
  p0:level_vertex_id = 415469
 +
</ini>
  
 
А теперь, подробнее
 
А теперь, подробнее
  [name_weypoint] - название путя
+
  <ini>[name_weypoint] - название пути
  points = p0 - список точек путя, через запятую ( например oints = p0,p1,p2 и т.д.
+
  points = p0 - список точек пути, через запятую (например points = p0,p1,p2 и т.д.)
  po:name = wp00 название первой точки путя.
+
  po:name = wp00 название первой точки пути.
  p0:position - позиции точки путя.
+
  p0:position - позиции точки пути.
 
  p0:game_vertix_id - вертиксы локации
 
  p0:game_vertix_id - вертиксы локации
  p0:level_vertex_id
+
  p0:level_vertex_id</ini>
  
 
 
== Вейпоинт с несколькими точками ==
 
== Вейпоинт с несколькими точками ==
 
   
 
   
[name_wp]
+
<ini>[name_wp]
 
  points = p0,p1,p2,p3
 
  points = p0,p1,p2,p3
 
  p0:name = wp00
 
  p0:name = wp00
Строка 55: Строка 55:
 
  p3:position = 161.710388183594,-0.50619900226593,-269.339660644531
 
  p3:position = 161.710388183594,-0.50619900226593,-269.339660644531
 
  p3:game_vertex_id = 855
 
  p3:game_vertex_id = 855
  p3:level_vertex_id = 390503
+
  p3:level_vertex_id = 390503</ini>
  
Здесь видно, что в первой точке прописаны все 3 точки.  
+
Здесь видно, что в первой точке прописаны все 4 точки.  
 
  points = p0,p1,p2,p3
 
  points = p0,p1,p2,p3
  
 +
=== Небольшое дополнение от ColR_iT касательно приведенного пример ===
  
 +
p0:links = p1(1),p3(1)
 +
 +
В этом случае, НПС будучи в точке p0 случайным образом выберет одну из предложенных p1 либо p3.
 +
Таким образом, в примере выше, НПС в первой точке выберет следующую точку следования, если выберет p1, то далее перейдет в точку p2 и остановится, если p3 - перейдет в нее и так же остановится*.
 +
 +
''*В моих экспериментах, при выборе НПС точки, которая является "конечной", т.е. той в которой нет перехода на следующую (p3 в примере выше) у меня происходил вылет. Во избежании этого пришлось добавлять еще одну не подалёку на пути следования.''
  
 
== Пропишем путь нашему сталкеру ==
 
== Пропишем путь нашему сталкеру ==
  
Теперь, чтобы по нашему пути ходил дядька нужно прописать ему этот путь. К кастом дате укажите файл до логики (не буду описавать, как это делаеться)
+
Теперь, чтобы по нашему пути ходил дядька нужно прописать ему этот путь. К кастом дате укажите файл до логики (не буду описывать, как это делается)
  [logic]
+
  <ini>[logic]
 
  active = walker
 
  active = walker
 
  [walker]
 
  [walker]
 
  path_walk = name_wp
 
  path_walk = name_wp
  path_look = name_wp
+
  path_look = name_wp</ini>
  
 
Думаю, что я понятно объяснил :)
 
Думаю, что я понятно объяснил :)
  
Чтож, дополню и я
+
Что же, дополню и я
  
<pre>[esc_gen_lager_walker_1]
+
<ini>[esc_gen_lager_walker_1]
 
points = p0,p1
 
points = p0,p1
 
p0:name = name00
 
p0:name = name00
Строка 90: Строка 97:
 
p1:level_vertex_id = 219640
 
p1:level_vertex_id = 219640
 
p1:links = p0(1)
 
p1:links = p0(1)
</pre>
+
</ini>
  
  
Строка 104: Строка 111:
 
Для нпс к примеру
 
Для нпс к примеру
  
<pre>[esc_gen_lager_walker_1]
+
<ini>[esc_gen_lager_walker_1]
 
points = p0,p1
 
points = p0,p1
 
p0:name = wp00<u>|a=binocular</u>
 
p0:name = wp00<u>|a=binocular</u>
Строка 119: Строка 126:
 
p1:level_vertex_id = 219640
 
p1:level_vertex_id = 219640
 
p1:links = p0(1)
 
p1:links = p0(1)
</pre>
+
</ini>
  
 
Отыгрывается анимация сначала смотрит в бинокль, потом атака. Если правильно привязать к точкам обзорного пути - получится красиво
 
Отыгрывается анимация сначала смотрит в бинокль, потом атака. Если правильно привязать к точкам обзорного пути - получится красиво
Строка 127: Строка 134:
 
<big>Касательно вертолётов</big></center>
 
<big>Касательно вертолётов</big></center>
  
Расскажу фишку. Если в логике вертолётов использую путь move и look, плюс с поомшью флагов прциепить move к каждой точке look. Можно ставить на wp дополнительный параметр, стрелять. Параметр называется |e
+
Расскажу фишку. Если в логике вертолётов использую путь move и look, плюс с помощью флагов прицепить move к каждой точке look. Можно ставить на wp дополнительный параметр, стрелять. Параметр называется |e
 
Можно сделать сценку, как будто вертолёт зачищает местность. Подробнее о ключах для вертолёта
 
Можно сделать сценку, как будто вертолёт зачищает местность. Подробнее о ключах для вертолёта
  
Строка 136: Строка 143:
 
Всем спасибо все свободны
 
Всем спасибо все свободны
  
Автор [[Участник:Rez@niy]] aka Oxygenium & Andrey K aka forest
+
=== Дополнение от Re]Spawner ===
 +
Andrey K aka forest
 +
Спасибо вам огромное. Я немножко разъясню для начинающих, что за кастом дата и куда что вставлять.
 +
Допустим, у вас есть НПС, его профиль и тому подобное. Естественно, вы хотите, чтобы он пошел по вашему пути. Тогда открываете spawn_sections.ltx, в него пишите следующий текст:
 +
<ini>[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
 +
</ini>
 +
 
 +
Где <pre>[esc_respawner_test_wp]:stalker_trader</pre> - название профиля (точно не помню)
 +
<pre>character_profile = esc_respawner_test_wp</pre>  - вот это уже точно название профиля
 +
<pre>custom_data = scripts\esc_respawner_test_wp.ltx</pre>  -ссылка на файл логики, куда надо вбивать следующий текст:
 +
<ini>
 +
[logic]
 +
active = walker
 +
[walker]
 +
path_walk = name_wp
 +
path_look = name_wp
 +
</ini>
 +
 
 +
Это все! Так просто ;)
 +
 
 +
Автор Andrey K aka forest, Дополнил: <big>Re]Spawner</big>
  
 
[[Категория:SDK]][[Категория:SDK CS]]
 
[[Категория:SDK]][[Категория:SDK CS]]

Текущая версия на 17:53, 30 ноября 2016

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


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

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