|
Frozen Zone
Статус: |
|
Опытный: |
|
Сообщений: |
1946 |
Награды: |
5 |
Регистрация: |
05.10.2010 |
|
Для создания персонажа необходимо создать его профиль, описание и спаун-секцию.
Чтобы создать профиль персонажа, необходимо в файл «gamedata\configs\gameplay\npc_profile.xml» добавить строки: Code <character id="<идентификатор_профиля>"> <class><идентификатор_класса></class> </character> Идентификатор профиля конструируется как <префикс_уровня>_<идентификатор_сцены>_<группировка_персонажа>_<описательное_название>, например, zat_b7_stalker_raider_leader. Во избежание путаницы, класс персонажа указывается такой же, как идентификатор профиля. Класс персонажа используется для связи профиля и описания персонажа.
Создание описания персонажа С одним профилем персонажа может быть ассоциировано несколько описаний персонажей. Это позволяет, добавив в игру несколько персонажей с одним и тем же профилем, получить в результате персонажей с различным набором вещей, разным внешним видом (visual), и т.д. Для того чтобы создать описание персонажа, необходимо в файл «gamedata\configs\gameplay\character_desc_<имя_уровня>.xml»добавить следующую конструкцию:
Quote <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>
Описание элементов конструкции:
<идентификатор_описания> Во избежание путаницы идентификатор описания: a) аналогичен идентификаторам класса и профиля в случае, если с профилем ассоциируется только одно описание; b) конструируется как <идентификатор_профиля>__default_<номер> (начиная с нуля), если с профилем ассоциируется несколько описаний.
<идентификатор_строки_имени>Идентификатор строки имени конструируется, как <идентификатор_описания>_name. Строка имени персонажа добавляется в файл «gamedata\configs\text\<локализация>\st_characters.xml» конструкцией: Quote <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"
Автор статьи: Болотный Доктор
|
|
Четверг, 18.08.2011, 12:47
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.10.2010 |
|
|
|
|
|
vladKiler
Среда, 07.09.2011, 21:55 | Сообщение # 2
Статус: |
|
Зевака: |
|
Сообщений: |
19 |
Награды: |
0 |
Регистрация: |
07.09.2011 |
|
Спасибо реально помогло
|
|
Среда, 07.09.2011, 21:55
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.09.2011 |
|
|
|
|
|
prohodchik
Понедельник, 14.05.2012, 15:53 | Сообщение # 3
Статус: |
|
Отмычка: |
|
Сообщений: |
142 |
Награды: |
0 |
Регистрация: |
13.05.2012 |
|
Johann, а где этот НПС появится?
|
|
Понедельник, 14.05.2012, 15:53
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
13.05.2012 |
|
|
|
|
|
Frozen Zone
Статус: |
|
Опытный: |
|
Сообщений: |
1946 |
Награды: |
5 |
Регистрация: |
05.10.2010 |
|
prohodchik, Негде, это описание функций профиля у нпс.
|
|
Понедельник, 14.05.2012, 16:38
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.10.2010 |
|
|
|
|
|
XOBAH
Понедельник, 14.05.2012, 16:41 | Сообщение # 5
Проект Смерти вопреки
Статус: |
|
Неопытный: |
|
Сообщений: |
476 |
Награды: |
0 |
Регистрация: |
01.11.2010 |
|
prohodchik, Нигде, тут только создание профиля
|
|
Понедельник, 14.05.2012, 16:41
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
01.11.2010 |
|
|
|
|
|
prohodchik
Понедельник, 14.05.2012, 18:20 | Сообщение # 6
Статус: |
|
Отмычка: |
|
Сообщений: |
142 |
Награды: |
0 |
Регистрация: |
13.05.2012 |
|
А как заспавнить?
|
|
Понедельник, 14.05.2012, 18:20
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
13.05.2012 |
|
|
|
|