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

SoC. Редагування NPC


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

Вступ

У цій статті ми навчимося редагувати 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 > актори\neytral\stalker_neytral_balon_1 </visual >
		 <supplies >
			[спаун] \n
			wpn_pm \n
			боєприпаси_9x18_fmj = 1 \n
			wpn_ak74u \n
			патрони_5,45x39_fmj \n
			факел_пристрою \n
			ручне_радіо \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 >
	 </ специфічний_символ >

Змінимо деякі параметри. Видамо йому 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"  інфінітив = "1" />
 
		<snd_config > characters_voice\human_01\stalker\ </snd_config >
		 <crouch_type > -1 </crouch_type >
 
		<visual > актори\neytral\stalker_neytral_balon_1 </visual >
		 <supplies >
			[спаун] \n
			wpn_deagle \n
			патрони_11,43x23_fmj = 1 \n
			wpn_fn2000 \n
			патрони_5,56x45_ap \n
			патрони_5,45x39_fmj \n
			факел_пристрою \n
			ручне_радіо \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 >
	 </ специфічний_символ >

Для введення нового NPC у симуляцію достатньо створити новий профіль.


   
Цитата