Создавая NPC в Anomaly, я заметил, что доступные инструкции устарели, поэтому я решил подготовить обновлённое, подробное руководство — на актуальной версии Anomaly 1.5.3, с реальными примерами из рабочего мода, разбором шагов (спавн-секция, профиль, логика, диалог). Цель — дать понятный, современный путь: от первого появления NPC в мире до корректной привязки диалога и спавна на локации.
Инструкция по созданию и спавну НПС в S.T.A.L.K.E.R. Anomaly 1.5.3
Шаг 1: Создание визуального профиля (Character Profile)
Первым делом нужно описать, как выглядит наш персонаж, что у него в инвентаре и какой у него статус.
1. Создаем XML-файл (или используй существующий) по пути: gamedata\configs\creatures\profiles\npc_profile_my_character.xml.
2. Добавляем в него описание:
<character id="my_npc_id">
<class>my_npc_class</class>
<specific_character>my_npc_unique_name</specific_character>
</character>
Шаг 2: Описание характеристик (Specific Character)
Здесь нужно задать имя, иконку, группировку и диалоги.
1. Далее создаем файл: gamedata\configs\creatures\character_desc_my_mod.xml.
2.Структура аналогичная character_desc_my:
<specific_character id="my_npc_unique_name" team_default="1">
<name>Назови своего героя</name>
<icon>ui_inGame2_neutral_1</icon> <map_icon_complex_id>comm_stalker_icon</map_icon_complex_id>
<rank>500</rank>
<reputation>0</reputation>
<money min="200" max="600" infinitive="0"/>
<visual>actors\stalker_neutral\stalker_neutral_1</visual> <supplies>
[spawn] \n
wpn_pm \n
ammo_9x18_fmj \n
</supplies>
<start_dialog>hello_dialog</start_dialog> <actor_dialogs>my_new_dialog</actor_dialogs> </specific_character>
Шаг 3: Создание диалога
Чтобы НПС заговорил, нужно создать сам текст диалога.
1. Создаем файл: gamedata\configs\gameplay\dialogs\my_dialogs.xml.
2. Пример простого диалога:
<game_dialogs>
<dialog id="my_new_dialog">
<phrase_list>
<phrase id="0">
<text>Привет! Есть работа?</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>Пока нет, заходи позже.</text>
</phrase>
</phrase_list>
</dialog>
</game_dialogs>
Шаг 4: Регистрация файлов в system.ltx
Это критический этап, если не прописать файлы здесь, игра их не увидит.
1. Открываем configs\system.ltx.
2. В секции [dialogs] добавляем свой файл через запятую: files = ..., dialogs\my_dialog, gameplay\dialogs\my_dialogs
3. В секции [profiles] добавляем профили: files = ..., profiles\npc_profile_my, profiles\npc_profile_my_character specific_characters_files = ..., character_desc_my, character_desc_my_mod
Шаг 5: Спавн НПС через скрипт (Самый простой способ для новичка)
В Anomaly проще всего заспавнить уникального НПС скриптом в определенной точке.
1.Необходимо узнать координаты (позицию) в игре.
2. Далее создаем скрипт gamedata\scripts\spawn_my_npc.script:
function spawn_hero()
local pos = vector():set(x, y, z) -- Вставь свои X, Y, Z
local lvid = 12345 -- level_vertex_id
local gvid = 678 -- game_vertex_id
alife_create("my_npc_unique_name", pos, lvid, gvid)
end
3. Вызови эту функцию один раз (например, через диалог или при старте игры).
Важные советы:
Имена секций: id в character_desc должен совпадать с тем, что вызвано в скрипте спавна.
Пути: В system.ltx пути пишутся относительно папки configs.