Для того, чтобы создать НПС, нам понадобятся координаты его будущего местонахождения, где. Возьмём к примеру Кордон - лагерь новичков. Можете снять координаты сами, а можете взять мною уже снятые: (-218.20,-20.2,-145.63),35362,47). Далее создаём файл в папке gamedata/scripts файл, скажем esc_unik_npc.script. В нём создаём функцию.
Code
function esc_unik_npc () alife():create("esc_unik_npc",vector():set(-218.20,-20.2,-145.63),35362,47) end
Теперь в файле npc_profile.xml (в папке gameplay) добавляем нашего НПС. Code
<character id="escape_trader"> <class>Trader</class> <specific_character>escape_trader</specific_character> </character>
<character id="esc_unik_npc"> <class>esc_unik_npc</class> <specific_character>esc_unik_npc</specific_character> </character>
Копируем или создаём по образцу только нижний блок Второго торговца нам ненадо. Теперь моздадим секцию нашего персоонажа. В файле spawn_section.ltx (gamedata/config/creatures) в блоке:
Code
--------Escape--------------
--------neutrals------------
Создаём секцию.
Code
[esc_unik_npc]:stalker $spawn = "respawn\esc_unik_npc" character_profile = esc_unik_npc spec_rank = regular community = dolg
В строке community можете вместо долга вписать другую группировку. Однако если мы хотим, чтоба наш персоонаж не гулял по Зоне, пока не наткнётся на первуюю аномалию, то пропишем чтобы он стоял на месте. Для этого под community вставляем:
Code
custom_data = scripts\esc_unik_npc.ltx
Далее создаём в gamedata/config папку scripts в в папке создаём файл esc_unik_npc.ltx В наш созданый файл вставляем:
Code
[logic] active = remark1 danger = danger_ignore
[danger_ignore] ignore_distance = 5
[remark1] no_move = true
Всё наш НПС будет стоять на месте своего спауна. Едем дальше. Нам надо активировать нашего персоонажа. для этого мы должны вставить строку:
Code
<action>esc_unik_npc.esc_unik_npc</action>
Либо в диалог, либо в какой-нибудь квест. Давайте вставим строку в файл info_portions.xml (gamedata/gameplay) под Код:
Code
<game_information_portions>
<info_portion id="storyline_actor_start">
<task>storyline_eliminate_gunslinger</task>
Выклядеть это будет так:
Code
<game_information_portions>
<info_portion id="storyline_actor_start">
<task>storyline_eliminate_gunslinger</task>
<action>esc_unik_npc.esc_unik_npc</action>
</info_portion>
Однако мы не прописали самого НПС, как личность В файле character_desc_escape.xml (gamedata/gameplay) добавляем:
Code
<specific_character id="esc_unik_npc" team_default = "1"> <name>GENERATE_NAME_bandit</name> <icon>ui_npc_u_stalker_bandit_3</icon> <bio>esc_wolf_bio</bio>
<class>esc_otbrosi_1</class> <community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect>
<rank>367</rank> <reputation>-60</reputation> <money min="600" max="2000" infinitive="1"/>
<snd_config>characters_voice\human_01\monolith\</snd_config> <crouch_type>-1</crouch_type>
<visual>actors\bandit\stalker_bandit_3</visual> <supplies> [spawn] \n
wpn_groza \n
ammo_9x39_pab9 \n
1. include "gameplay\character_items.xml" \n
2. include "gameplay\character_food.xml"
</supplies>
1. include "gameplay\character_criticals_3.xml"
1. include "gameplay\character_dialogs.xml"
</specific_character>
Правда тут получится у нас долговец в одежде бандита и говорящего голосом монолитовца xD Всё сохроняем. НПС готов.
Но так же можно добавить нашему НПС диалог) Как добавлять диалоги написано в нашем факе) Если хотяте сделать нашему НПС своё имя то в файле stable_bio_name.xml (gamedata/config/text/rus) добавляем:
Code
<string id="esc_unik_npc"> <text>Факер-мазафакер</text> </string>
А в файле сharacter_desc_escape.xml (gamedata/gameplay) находим нашего уже прописаного НПС и вставляем в секцию <name></name> (у нас в ней написано GENERATE_NAME_bandit) esc_unik_npc. Всё Поздравляю!