Сповіщення
Очистити все

Створення WayPoint


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Що таке вейпоінт

WayPoint (він же вейпоінт, ВП, WP) - шлях пересування для окремого сталкера, що складається з точок шляхів. Щоб створити ВП, потрібно розтикати all.spawn (не описуватиму, як це робити).

 

Створюємо вейпоінт, з однією точкою

Відкриваєте way_назву локації та прописуєте текст, подібний до цього:

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

А тепер, докладніше

[ 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 , -0287_05 4 
 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 = 69 s = p2 ( 1 ) _   
 
 p2 : name = wp02 
 p2 : flags = 0x2 
 p2 : position = 179.156524658203 , -0.430828988552094 , -266.572570800781 
 p2 
 : game_vertex_id_2 = 6   
 
 p3 : name = wp03 
 p3 : flags = 0x1 
 p3 : position = 161.710388183594 , -0.50619900226593 , -269.339660644531 
 p3 
 : game_vertex_id = 5   

Тут видно, що у першій точці прописані всі чотири точки.

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 , 0755 
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 = 72 
p1 : ( 1 ) _ _   
 

Скажімо, такий шлях можна використовувати для look і walk p0:flags = 0x400 ЗВЕРНІМО УВАГУ! p0:flags = 0x800

Два ці параметри служать як зв'язок. Якщо в першому поінті walk стоїть прапор 0x400, а в поінті look теж стоїть 0x400, коли НПС\МУТАНТ знаходиться на цій точці, його погляд спрямований згідно з прапором

Додаткові параметри

Можливе завдання додаткових ключів-параметрів

Для нпс наприклад

[ esc_gen_lager_walker_1 ]
 points = p0, p1 
p0: name = wp00 p0 
: flags = 0x400 
p0: position = -62.564220428467 , -9.96756458 : game_vertex_id = 77 
p0
: level_vertex_id = 213868 
p0: links = p1 ( 1 )   
 
p1 
: name = wp01 p1 
: flags = 0x800 | a = assault 
p1 : position = -58.430591583252 640 
p1 
: links = p0 ( 1 _ _ _ )   
 

Відіграється анімація спочатку дивиться у бінокль, потім атака. Якщо правильно прив'язати до точок оглядового шляху – вийде красиво

Імена анімацій брати звідси state_mgr_animation_list.script

Щодо вертольотів

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

Додаток від 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\es.
 

Де

[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
 

Це все! Так просто 😉


   
Цитата