Сповіщення
Очистити все

Персонажі (офіційне керівництво)


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Вступ

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

 

Створення профілю персонажа

Щоб створити профіль персонажа, необхідно до файлу gamedata\configs\gameplay\npc_profile.xml додати рядки:

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

Ідентифікатор профілю конструюється як <префікс_рівня>_<ідентифікатор_сцени>_<угруповання_персонажу>_<описова_назва> , наприклад, zat_b7_stalker_raider_leader . Щоб уникнути плутанини, клас персонажа вказується такою самою, як ідентифікатор профілю. Клас персонажа використовується для зв'язку профілю та опису персонажа.

 

Створення опису персонажа

З одним профілем персонажа може бути асоційовано кілька описів персонажів. Це дозволяє, додавши в гру кілька персонажів з тим самим профілем, отримати в результаті персонажів з різним набором речей, різним зовнішнім виглядом (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>
Елемент конструкції Опис
ідентифікатор_опису Щоб уникнути плутанини, ідентифікатор опису:

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" Цей рядок додає діалоги персонажу.

   
Цитата