specnaz1996,
Для того, чтобы создать нового НПС нам понадобятся координаты нужного места, где и будет заспаунен наш NPC. Возьмём Кордон, лагерь новичков. Можете снять координаты сами, а можете взять мною уже снятые: (-218.20,-20.2,-145.63),35362,47). Далее. Создаём файл в папке gamedata/scripts файл, скажем esc_unik_npc.script. В нём создаём функцию.
Код:
Код
function esc_unik_npc () alife():create("esc_unik_npc",vector():set(-218.20,-20.2,-145.63),35362,47) end Теперь мы в файле npc_profile.xml (в папке gameplay) добавляем нашего НПС. Код:
Код
<character id="esc_unik_npc">
<class>esc_unik_npc</class>
<specific_character>esc_unik_npc</specific_character>
</character>
Теперь создадим секцию нашего персоонажа. В файле spawn_section.ltx (gamedata/config/creatures) в блоке:
Код
--------Escape--------------
--------neutrals------------
Создаём секцию. Код:
Код
[esc_unik_npc]:stalker
$spawn = "respawn\esc_unik_npc"
character_profile = esc_unik_npc
spec_rank = regular
community = dolg
В строке community можете вместо долга вписать другую группировку. Однако если мы хотим, чтоба наш персоонаж не гулял по Зоне, пока не наткнётся на первуюю аномалию, то пропишем чтобы он стоял на месте. Для этого под community вставляем: custom_data = scripts\esc_unik_npc.ltx Далее создаём в gamedata/config папку scripts в в папке создаём файл esc_unik_npc.ltx В наш созданый файл вставляем: Код:
Код
[logic] active = remark1 danger = danger_ignore
[danger_ignore] ignore_distance = 5
[remark1] no_move = true
Всё наш НПС будет стоять на месте своего спауна. Едем дальше. Нам надо активировать нашего персоонажа. для этого мы должны вставить строку: Код
<action>esc_unik_npc.esc_unik_npc</action>Либо в диалог, либо в какой-нибудь квест. Давайте вставим строку в файл info_portions.xml (gamedata/gameplay) под Код:
Код
<game_information_portions>
Код
<info_portion id="storyline_actor_start">
<task>storyline_eliminate_gunslinger</task>
Выглядеть это будет так:
Код:
Код
<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) добавляем: Код:
Код
<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
include "gameplay\character_items.xml" \n
include "gameplay\character_food.xml"
</supplies>
include "gameplay\character_criticals_3.xml"
include "gameplay\character_dialogs.xml"
</specific_character>
Правда тут получится у нас долговец в одежде бандита и говорящего голосом монолитовца xD Всё сохраняем. НПС готов.
Но так же можно добавить нашему НПС диалог) Как добавлять диалоги написано на ВИКИ ) Если хотите сделать нашему НПС своё имя то в файле stable_bio_name.xml (gamedata/config/text/rus) добавляем: Код:
Код
<string id="esc_unik_npc">
<text>Факер-мазафакер</text> </string>
А в файле сharacter_desc_escape.xml (gamedata/gameplay) находим нашего уже прописаного НПС
и вставляем в секцию <name></name> (у нас в ней написано GENERATE_NAME_bandit) esc_unik_npc
Всё.