Редактирование NPC
Материал из Mod Wiki.
(Различия между версиями)
Версия 08:50, 23 марта 2008 (править) BAC9-FLCL (Обсуждение | вклад) ← К предыдущему изменению |
Текущая версия (18:18, 29 апреля 2008) (править) (отменить) ArdaLio (Обсуждение | вклад) |
||
Строка 11: | Строка 11: | ||
* ''<name>...</name>'' - Имя (ссылка на строку в текстовом массиве). | * ''<name>...</name>'' - Имя (ссылка на строку в текстовом массиве). | ||
- | * ''<icon>ui_npc_...</icon>'' - Иконка для диалогов/торговли | + | * ''<icon>ui_npc_...</icon>'' - Иконка для диалогов/торговли/PDA |
* ''<bio>..._bio</bio>'' - Биография (в игре не используется). | * ''<bio>..._bio</bio>'' - Биография (в игре не используется). | ||
* ''<class>...</class>'' - Класс (лучше не трогать).[[Участник:Imp|Imp]] 12:46, 12 августа 2007 (EEST)Нужно для того что-бы автоматические респавнеры могли спавнить немного разных персонажей. То есть например в игре есть описание восьми (кажеться может и больше) разных новичков и что бы при автоматическом респавне не получалась куча братьев-близнецов, респавнер настраивается на класс персонажей и спавнит случайным образом разных персонажей одного класса. | * ''<class>...</class>'' - Класс (лучше не трогать).[[Участник:Imp|Imp]] 12:46, 12 августа 2007 (EEST)Нужно для того что-бы автоматические респавнеры могли спавнить немного разных персонажей. То есть например в игре есть описание восьми (кажеться может и больше) разных новичков и что бы при автоматическом респавне не получалась куча братьев-близнецов, респавнер настраивается на класс персонажей и спавнит случайным образом разных персонажей одного класса. |
Текущая версия
Вступление
В этой статье мы научимся редактировать NPC: изменять содержимое их инвентаря, реплики, поведение, имя, и другие параметры.
Параметры
За параметры NPC отвечают файлы:
\config\gameplay\character_desc_[название локации].xml
Каждый из них разбит на секции - по одной на NPC. Используются следующие параметры:
- <name>...</name> - Имя (ссылка на строку в текстовом массиве).
- <icon>ui_npc_...</icon> - Иконка для диалогов/торговли/PDA
- <bio>..._bio</bio> - Биография (в игре не используется).
- <class>...</class> - Класс (лучше не трогать).Imp 12:46, 12 августа 2007 (EEST)Нужно для того что-бы автоматические респавнеры могли спавнить немного разных персонажей. То есть например в игре есть описание восьми (кажеться может и больше) разных новичков и что бы при автоматическом респавне не получалась куча братьев-близнецов, респавнер настраивается на класс персонажей и спавнит случайным образом разных персонажей одного класса.
- <community>...</community> - Группировка.
- <rank>...</rank> - Ранг.
- <reputation>...</reputation> - Репутация.
- <money min="..." max="..." infinitive="..."/> - Количество денег (infinitive="1" - бесконечные деньги).
- <snd_config>...</snd_config> - Набор звуков.
- <crouch_type>-1</crouch_type> - Тип приседания. Лучше не трогать.
- <visual>actors\...</visual> - Внешность. Влияет как на внешний вид костюма, так и на его свойства. Укажите здесь экзоскелет - и персонаж действительно в нем окажется: как по внешности, так и по свойствам.
- <supplies>...</supplies> - Предметы, находящиеся у него в инвентаре. Некоторые из них в игре не отображаются, поэтому не удивляйтесь присутствию здесь предметов вроде рации или фонарика.
В игре отображаються все предметы, просто при торговле есть ограничения на допустимые к торговле предметы, а при смерти персонажа, "запрещенные" предметы удаляються скриптом. Imp 12:46, 12 августа 2007 (EEST)
- <start_dialog>...<start_dialog> - Приветственный диалог. Их может быть несколько, с различными условиями появления.
- <actor_dialog>...</actor_dialog> - Диалоги с игроком.
Практика
Изменим, например, параметры NPC по имени Волк.
Откроем файл:
\config\gameplay\character_desc_escape.xml
И найдем в нем раздел, ему соответствующий:
<!---------------------esc_wolf---------------------> <specific_character id="esc_wolf" team_default = "1"> <name>esc_wolf_name</name> <icon>ui_npc_u_stalker_neytral_balon_1</icon> <bio>esc_wolf_bio</bio> <class>esc_wolf</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>434</rank> <reputation>5</reputation> <money min="600" max="2000" infinitive="0"/> <snd_config>characters_voice\human_01\stalker\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\neytral\stalker_neytral_balon_1</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n wpn_ak74u \n ammo_5.45x39_fmj \n device_torch \n hand_radio \n </supplies> #include "gameplay\character_criticals_4.xml" // <start_dialog>escape_lager_volk_talk</start_dialog> <start_dialog>dm_hello_dialog</start_dialog> <actor_dialog>dm_cool_info_dialog</actor_dialog> <actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog> <actor_dialog>tm_wolf_dialog</actor_dialog> <actor_dialog>tm_wolf_reward</actor_dialog> </specific_character>
Изменим некоторые параметры. Выдадим ему FN2000 и Desert Eagle, примем в "Долг" и сделаем неограниченное количество денег:
<!---------------------esc_wolf---------------------> <specific_character id="esc_wolf" team_default = "1"> <name>esc_wolf_name</name> <icon>ui_npc_u_stalker_neytral_balon_1</icon> <bio>esc_wolf_bio</bio> <class>esc_wolf</class> <community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>434</rank> <reputation>5</reputation> <money min="600" max="2000" infinitive="1"/> <snd_config>characters_voice\human_01\stalker\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\neytral\stalker_neytral_balon_1</visual> <supplies> [spawn] \n wpn_deagle \n ammo_11.43x23_fmj = 1 \n wpn_fn2000 \n ammo_5.56x45_ap \n ammo_5.45x39_fmj \n device_torch \n hand_radio \n </supplies> #include "gameplay\character_criticals_4.xml" // <start_dialog>escape_lager_volk_talk</start_dialog> <start_dialog>dm_hello_dialog</start_dialog> <actor_dialog>dm_cool_info_dialog</actor_dialog> <actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog> <actor_dialog>tm_wolf_dialog</actor_dialog> <actor_dialog>tm_wolf_reward</actor_dialog> </specific_character>
Для ввода нового NPC в симуляцию достаточно создать новый профиль.