SoC. Редактирование NPC — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

SoC. Редактирование NPC — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Практика)
(оформление)
 
(не показаны 4 промежуточных версий 4 участников)
Строка 1: Строка 1:
judftX  <a href="http://aakclrtmbmaq.com/">aakclrtmbmaq</a>, [url=http://lkkwxpjljigd.com/]lkkwxpjljigd[/url], [link=http://ixflrcdzlyew.com/]ixflrcdzlyew[/link], http://njwuukoninfp.com/
+
==Вступление==
  
comment4,
+
В этой статье мы научимся редактировать NPC: изменять содержимое их инвентаря, реплики, поведение, имя, и другие параметры.
  
comment5,
+
==Параметры==
 +
 
 +
За параметры NPC отвечают файлы:
 +
<pre>gamedata\config\gameplay\character_desc_[название локации].xml</pre>
 +
 
 +
Каждый из них разбит на секции - по одной на NPC. Используются следующие параметры:
 +
 
 +
* '''''<name>...</name>'''''  - Имя (ссылка на строку в текстовом массиве).
 +
* '''''<icon>ui_npc_...</icon>''''' - Иконка для диалогов/торговли/PDA.
 +
* '''''<bio>..._bio</bio>''''' - Биография (в игре не используется).
 +
* '''''<class>...</class>''''' - Класс (лучше не трогать).[[Участник:Imp|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>''''' - Предметы, находящиеся у него в инвентаре. Некоторые из них в игре не отображаются, поэтому не удивляйтесь присутствию здесь предметов вроде рации или фонарика.
 +
 
 +
<span style="color: gray">В игре отображаются все предметы, просто при торговле есть ограничения на допустимые к торговле предметы, а при смерти персонажа, "запрещенные" предметы удаляются скриптом. [[Участник:Imp|Imp]] 12:46, 12 августа 2007 (EEST)</span>
 +
 
 +
* '''''<start_dialog>...<start_dialog>''''' - Приветственный диалог. Их может быть несколько, с различными условиями появления.
 +
* '''''<actor_dialog>...</actor_dialog>''''' - Диалоги с игроком.
 +
 
 +
==Практика==
 +
 
 +
Изменим, например, параметры NPC по имени Волк.
 +
 
 +
Откроем файл:
 +
<pre>\config\gameplay\character_desc_escape.xml</pre>
 +
 
 +
И найдем в нем раздел, ему соответствующий:
 +
 
 +
<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></xml>
 +
 
 +
Изменим некоторые параметры. Выдадим ему FN2000 и Desert Eagle, примем в "Долг" и сделаем неограниченное количество денег:
 +
 
 +
<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>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></xml>
 +
 
 +
Для ввода нового NPC в симуляцию достаточно создать новый профиль.
 +
 
 +
Статья создана:
 +
[[Участник:BAC9-FLCL|BAC9-FLCL]]
 +
[[Категория:Конфигурационные_файлы]]

Текущая версия на 15:14, 31 июля 2013

Вступление

В этой статье мы научимся редактировать NPC: изменять содержимое их инвентаря, реплики, поведение, имя, и другие параметры.

Параметры

За параметры NPC отвечают файлы:

gamedata\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 в симуляцию достаточно создать новый профиль.

Статья создана: BAC9-FLCL

Другие места
LANGUAGE