<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://stalkerin.gameru.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.30.38.33&amp;*</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.30.38.33&amp;*"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/95.30.38.33"/>
		<updated>2026-04-29T15:05:56Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-26T10:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;95.30.38.33: /* Работа с костями */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в левую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
&lt;br /&gt;
===Экспорт анимаций в .omf сборник===&lt;br /&gt;
Теперь нужно экспортировать наши анимации в наш собственный сборник. Это делается путем нажатия File&amp;gt;Export&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&amp;gt;Export OMF...&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; в правом верхнем углу интерфейса.&lt;br /&gt;
&lt;br /&gt;
Внимание! Выбирать директорию нужно тщательно, не куда попало, а именно в папку '''gamedata\meshes''' вашего '''SDK''', потому что после экспорта полученный сборник должен находится в том же самом месте в игре, где он был и в '''SDK'''. Например, если в SDK он лежал по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
то в игре он должен лежать по адресу&lt;br /&gt;
&amp;lt;code&amp;gt;Корень ТЧ\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
В противном случае модель не сможет найти анимации и мы получим мгновенный вылет.&lt;br /&gt;
Если определились с местом проживания сборника - жмем '''Сохранить'''.&lt;br /&gt;
[[Файл:Npc convert lesson 06.png|950px|thumb|center|Экспорт .omf сборника]]&lt;br /&gt;
Когда экспорт завершен, отмечаем все анимации во вкладке '''Motions''' и жмем '''Delete'''.&lt;br /&gt;
Все анимации удалили. Теперь нужно нажать на троеточие напротив '''Motion reference''' и в окошке установить галочку напротив сборника анимаций, который мы только что создали. Теперь жмем '''Ok'''.&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того, что там сейчас, '''User Dat''''у, взятую у другой модели'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Я например взял ее у военного спецназовца. Поэтому у меня получилось вот что:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;models\capture\kombez_helmet_damage_low.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Позже мы разберемся с тем, на что эта конструкция влияет.&lt;br /&gt;
&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Этот ход нужно выполнять только в том случае, если вы приверженец качественной игры и играете только на типе рендера &amp;quot;'''Динамическое освещение'''&amp;quot;. Если же это не так - вы просто не заметите никакой разницы.&lt;br /&gt;
Итак, начнем. Идем в директорию '''gamedata\textures''' игры и открываем любым удобным редактором  файл '''textures.ltx'''.&lt;br /&gt;
Далее нам нужно вписать текстуры, используемые моделью нашего сконвертированного НПС. Эти текстуры нужно прописать в секциях '''[specification]''' и '''[types]''', желательно в конец секции, чтобы потом было проще их искать и редактировать.&lt;br /&gt;
Добавим наши текстуры в секцию '''[specification]''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
    wpn\wpn_winchester1300           = bump_mode[use:wpn\wpn_winchester1300_bump], material[2.85]&lt;br /&gt;
    wpn\wpn_zink                     = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_545                 = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_57                  = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_9                   = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_svd                 = bump_mode[none], material[2.85]&lt;br /&gt;
    ; Наши тектуры&lt;br /&gt;
    act\act_stalker_nebo_2           = bump_mode[use:act\act_stalker_nebo_2_bump], material[0.50]&lt;br /&gt;
 &lt;br /&gt;
[types]&lt;br /&gt;
    $bump-test                       = 2&lt;br /&gt;
    $details                         = 0&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Поясню, что мы вставили:&lt;br /&gt;
'''act\act_stalker_nebo_2''' - Имя текстуры, используемой НПС           &lt;br /&gt;
'''bump_mode[use:act\act_stalker_nebo_2_bump]''' - Это значит, что текстура использует бамп текстуру &amp;quot;act_stalker_nebo_2_bump&amp;quot;&lt;br /&gt;
'''material[0.50]''' - Скорее всего эта строка отвечает за рельефность бамп-текстуры&lt;br /&gt;
&lt;br /&gt;
Добавим наши текстуры в секцию '''[types]''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
    wpn\wpn_zink_svd                 = bump_mode[none], material[2.85]&lt;br /&gt;
    ; Наши тектуры&lt;br /&gt;
    act\act_stalker_nebo_2           = bump_mode[use:act\act_stalker_nebo_2_bump], material[0.50]&lt;br /&gt;
 &lt;br /&gt;
[types]&lt;br /&gt;
    act\act_stalker_nebo_2           = 0&lt;br /&gt;
    act\act_stalker_nebo_2_bump      = 2&lt;br /&gt;
    $bump-test                       = 2&lt;br /&gt;
    $details                         = 0&lt;br /&gt;
    $shadertest                      = 0&lt;br /&gt;
    $target                          = 0&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Поясню, что мы вставили:&lt;br /&gt;
'''act\act_stalker_nebo_2 = 0''' - &amp;quot;'''0'''&amp;quot; - номер обычной текстуры          &lt;br /&gt;
'''act\act_stalker_nebo_2_bump = 2''' - &amp;quot;'''2'''&amp;quot; - номер бамп-текстуры  &lt;br /&gt;
Если не понятно, можно эти строки вставить из файла '''textures.ltx''' от ЧН или ЗП.&lt;br /&gt;
&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;br /&gt;
&lt;br /&gt;
P.S. При использовании сконвертированных НПС, полученных при исполнении данной статьи, игра может вылетать без лога! Сейчас я работаю над устранением ошибок в работе, есть парочка идей, как смогу - так и проверю.&lt;br /&gt;
&lt;br /&gt;
См. [[Обсуждение:Конвертация НПС из ЧН/ЗП в ТЧ|страницу обсуждения]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>95.30.38.33</name></author>	</entry>

	</feed>