Що таке вейпоінт
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
Це все! Так просто 😉