Як відомо, персонажа Сидоровича в Поклиці Прип'яті немає. Якщо ви хочете повернути його, просто так додати його не вийде, т.к. після Чистого Неба його вирізали. Однак, при належних знаннях, відновити його не складає особливих труднощів.
Якщо поколупатися в ресурсах гри, можна зрозуміти, що вирізаний Сидорович був лише частково: модель, текстури та анімації залишилися, а от у конфігах і скриптах його видалили.
Конфігі
Для початку скопіюйте з ігрових архівів ЧН файл m_person.ltx
Шлях: gamedata\configs\creatures
І помістіть тим же шляхом, але вже в директорії ЗП .
Далі необхідно підключити файл m_person.ltx до гри.
Для цього в тій же папці відкрийте файл stalkers.ltx будь-яким текстовим редактором і запишіть рядок:
#include "m_person.ltx"
Скрипти
Відновити секцію у конфігах недостатньо. Якщо спробувати спати Сидоровича в LE , станеться помилка: Can't create entity
Причина в тому, що в секції Сидоровича [m_trader]
в параметрі class
вказаний неіснуючий скриптовий клас AI_TRD_S
.
Не існує він тому, що у ЗП було вирізано зі скриптів.
Відкрийте файл class_registrator.script і запишіть у нього наступний рядок:
cs_register ( object_factory , CAI_Trader , se_stalker.se_trader , AI_TRD_S , script_trader ) _ _ _ _
Далі, відкрийте файл se_stalker.script і запишіть в нього наступну функцію:
class " se_trader " ( cse_alife_trader )
function se_trader : __init ( section ) super ( section )
end
function se_trader : keep_saved_data_anyway ( )
return true
end
Готово! Тепер Сидорович сповниться.
X-Ray SDK
З приводу того, як правильно спанити Сидоровича в Level Editor , потрібно пояснити деякі моменти.
![]() |
Налаштування спавна Сидоровича в X-Ray SDK CS |
У графі Custom Data
задається шлях до файлу з логікою Сидоровича (відтворення анімацій та звуку; торгівля тощо). Наприклад:
[logic]
cfg = scripts\escape\esc_trader.ltx
Шлях вказується щодо директорії gamedata\configs
У графі Story ID
задається ім'я ідентифікатора з gamedata\configs\ game_story_ids.ltx
У графі npc profile
задається ім'я секції з файлу gamedata\configs\gameplay\ npc_profile.xml
Ця секція виглядає так:
<character id= "escape_trader" >
<class> Trader </class>
<specific_character> escape_trader </specific_character>
</character>
Якщо вказати неправильно, може статися перший варіант вильоту: xml_str_id_loader.h
Рядок:
<specific_character> escape_trader </specific_character>
Вказує ім'я секції у файлі character_desc_escape.xml , який підключений у параметрі specific_characters_files
секції [profiles]
файлу gamedata\configs\ system.ltx .
Ця секція виглядає так:
<specific_character id="escape_trader" no_random = "1">
<name>escape_trader_name</name>
<icon>ui_npc_u_trader_1</icon>
<bio>escape_trader_bio</bio>
<class>trader</class>
<community>trader</community>
<visual>actors\stalker_trader\stalker_trader_1</visual>
<rank>330</rank>
<reputation>23</reputation>
<money min="100000" max="100000" infinitive="1"/>
<supplies>
[spawn] \n
</supplies>
#include "gameplay\character_criticals_4.xml"
<start_dialog>esc_trader_meet</start_dialog>
<!-- #include "gameplay\character_dialogs.xml" -->
<!-- <actor_dialog>esc_trader_about_zone</actor_dialog> -->
<actor_dialog>esc_trader_community</actor_dialog>
<actor_dialog>esc_trader_about_you</actor_dialog>
<actor_dialog>esc_trader_about_situation</actor_dialog>
<actor_dialog>esc_trader_about_questions</actor_dialog>
<actor_dialog>esc_trader_about_other</actor_dialog>
<actor_dialog>treasure_dialog</actor_dialog>
</specific_character>
Якщо вказати неправильно, може статися другий варіант вильоту: xml_str_id_loader.h