Перейти к содержанию
Авторизация  
Hardtmuth

Создание профиля персонажа

Рекомендуемые сообщения

 

Создание профиля персонажа

Автор: Болотный Доктор

Для создания персонажа необходимо создать его профиль, описание и спаун-секцию.

Чтобы создать профиль персонажа, необходимо в файл «gamedata\configs\gameplay\npc_profile.xml» добавить строки:

<character id="<идентификатор_профиля>">
<class><идентификатор_класса></class>
</character>

Идентификатор профиля конструируется как <префикс_уровня>_<идентификатор_сцены>_<группировка_персонажа>_<описательное_название>, например, zat_b7_stalker_raider_leader. Во избежание путаницы, класс персонажа указывается такой же, как идентификатор профиля. Класс персонажа используется для связи профиля и описания персонажа.

1) Создание описания персонажа:
С одним профилем персонажа может быть ассоциировано несколько описаний персонажей.
Это позволяет, добавив в игру несколько персонажей с одним и тем же профилем, получить в результате персонажей с различным набором вещей, разным внешним видом (visual), и т.д.

Для того чтобы создать описание персонажа, необходимо в файл
«gamedata\configs\gameplay\character_desc_<имя_уровня>.xml» добавить следующую конструкцию:

<specific_character id="<идентификатор_описания>" team_default = "1">
<name><идентификатор_строки_имени></name>
<icon><идентификатор_текстуры_иконки></icon>
<map_icon x="1" y="0"></map_icon>
<bio><идентификатор_строки_биографии></bio>
<class><идентификатор_класса></class>
<community><группировка_персонажа></community> <terrain_sect>stalker_terrain</terrain_sect>
<rank><ранг></rank>
<reputation><репутация></reputation>
<money min="<минимум_денег>" max="<максимум_денег>" infinitive="<восполняемость>"/>
<visual><внешний_вид></visual>
<snd_config><папка_озвучки></snd_config>
<supplies>
[spawn] \n
<предмет>\n
<предмет>\n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
<start_dialog><идентификатор_стартового_диалога></start_dialog>
<actor_dialog><идентификатор_диалога_актёра></actor_dialog>
<actor_dialog><идентификатор_диалога_актёра></actor_dialog>
#include "gameplay\character_dialogs.xml"
</specific_character>

2) Описание элементов конструкции:

Спойлер

Во избежание путаницы идентификатор описания:
a) аналогичен идентификаторам класса и профиля в случае, если с профилем ассоциируется только одно описание;
b) конструируется как - <идентификатор_профиля>__default_<номер> (начиная с нуля), если с профилем ассоциируется несколько описаний.

<идентификатор_строки_имени>Идентификатор строки имени конструируется, как
<идентификатор_описания>_name

Строка имени персонажа добавляется в файл «gamedata\configs\text\<локализация>\st_characters.xml» конструкцией:


<string id="<идентификатор_строки_имени>">
<text><текст_имени></text>
</string>

Также, имя можно сгенерировать, поставив в описание персонажа вместо идентификатора строки имени конструкцию - GENERATE_NAME_<имя_группировки>.

<идентификатор_текстуры_иконки> - Идентификатор текстуры иконки берётся из файла
«gamedata\configs\ui\textures_descr\ui_npc_unique.xml». Эта иконка видна во время диалога с персонажем.

<идентификатор_строки_биографии> - На данный момент в игре не используется, так что это поле можно оставить пустым.

<идентификатор_класса> - Идентификатор класса, который связывает описание персонажа с соответствующим профилем персонажа.

<группировка_персонажа> - Имя группировки, к которой принадлежит данный персонаж.

<ранг> - Число, определяющее относительную «крутизну» персонажа:

  • 0 - 300 – новичок (novice)
  • 301 - 600 – опытный (experienced)
  • 601 - 900 – ветеран (veteran)
  • 901 - 999 – мастер (master)

<репутация> - На данный момент в игре не используется, так что это поле можно оставить пустым.

<минимум_денег>
<максимум_денег>
<восполняемость>

Количество денег, имеющихся у персонажа, будет выбрано случайным образом от указанного минимума до указанного максимума. Восполняемость может принимать значения 0 или 1. В последнем случае количество денег у персонажа будет восполняться после каждой сделки, но каждая отдельная сделка будет ограничена количеством денег персонажа.

<внешний_вид> - Путь к файлу «*.ogf» от папки «gamedata\meshes», содержащему внешний вид (visual) персонажа. Указывается без начальной «обратной косой», без точки и без расширения файла. От внешнего вида зависит бронированность персонажа.

<папка_озвучки> - Путь к папке универсальной озвучки персонажа от папки «gamedata\sounds». Имеет вид characters_voice\human_<номер>\<группировка>\. В этой конструкции <номер> может быть 01 либо 02 (обычные
голоса)
, или же 03 (приглушённый голос из-за дыхательной маски, противогаза либо купола).

<предмет> \n
<предмет> \n

При помощи конструкций <предмет> задаётся список предметов, которые должны быть у данного персонажа. Конструкции имеют следующий вид:
<идентификатор_предмета>< = количество><, навес>
При этом, < = количество> и <, навес> необязательны. Параметр навес имеет смысл только для оружия и может принимать следующие значения:

  • scope (оптический прицел)
  • silencer (глушитель)
  • launcher (подствольный гранатомёт)

Можно добавить несколько конструкций <, навес>, но все они должны стоять после конструкции < = количество>. Вконце всей вышеописанной конструкции обязательно должны стоять символы \n (перенос строки). Пример:
wpn_abakan = 1, scope, launcher

#include "gameplay\character_items.xml" - Эта и все остальные строки #include должны стоять в начале строки (без отступов перед ней). Она добавляет в список предметов персонажа бинокль, фонарь, детектор и, с долей вероятности, гитару.

#include "gameplay\character_food.xml" - Эта строка добавляет в список предметов персонажа хлеб, колбасу и водку.

#include "gameplay\character_drugs.xml" - Эта строка с определённой долей вероятности добавляет всписок предметов персонажа бинты и аптечку.

<идентификатор_стартового_диалога> - Идентификатор диалога, являющегося для персонажа стартовым. Если этот параметр (вместе с тэгами <start_dialog></start_dialog> не будет указан – будет использован стандартный стартовый диалог.

<идентификатор_диалога_актёра> - Идентификатор диалога актёра. Можно указать несколько диалогов актёра каждый – в тэгах <actor_dialog></actor_dialog>
#include "gameplay\character_dialogs.xml".

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу