Итак начнемс.
1. Подготовте файлы:
configs\creatures\game_relations.ltx
configs\creatures\spawn_sections_general.ltx
configs\gameplay\character_desc_general.xml
con figs\gameplay\npc_profile.xml
configs\misc\death_items_by_communities.ltx
configs\misc\dialog_manager.ltx
configs\text\rus\st_dialog_mana ger.xml
scripts\death_manager.script
2. Создаем группировку.
а) В файле game_relations вписываем:
в конец строки "communities" дописываем название группировки, например "ветер" и добавляем порядковый номер: 11
Выглядит это вот так:
communities = actor, 0, bandit, 1, dolg, 2, ecolog, 3, freedom, 4, killer, 5, army, 6, monolith, 7, monster, 8, stalker, 9, zombied, 10, veter, 11
ниже в таблицу communities_relations добавляем (по горизонтали и вертикали) veter и прописываем отношение к другим группировкам (-5000 - полный враг, 0 - нейтрал, 5000 - друг до конца жизни)
Выглядит это так:
[communities_relations]
; |actor|bandit| dolg|ecolog|freedom|killer| army|monolith|monster|stalker| zombied|veter|
;==========================================================================================================
actor = 0, 0, 0, 0, 0, -1000, 0, -5000, -5000, 0, -5000, 0
bandit = 0, 5000,-5000, 0, -5000, 0, -5000, -5000, -5000, -1000, -5000, -1000
dolg = 0, -5000, 5000, 0, -5000, 0, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
freedom = 0, -5000,-5000, 0, 5000, 0, 0, -5000, -5000, 0, -5000, 0
killer = -1000, 0, 0, 0, 0, 1000, -5000, -5000, -5000, 0, -5000, 0
army = 0, -5000, 0, 0, 0, -5000, 1000, -5000, -5000, 0, -5000, 0
monolith = -5000, -5000,-5000, 0, -5000, -5000, -5000, 1000, -5000, -5000, 1000, -1000
monster = -5000, -5000,-5000, 0, -5000, -5000, -5000, -5000, 0, -5000, -5000, -5000
stalker = 0, -1000, 0, 0, 0, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000,-5000, 0, -5000, -5000, -5000, 1000, -5000, -5000, 1000, 0
veter = 0 , -1000, 0 , 0, 0, 0, 0, -1000, -5000, 0, 0, 5000
ниже в конец строки communities_sympathy добавляем:
veter = 0.0
Б) В конец файла death_items_by_communities вписываем:
[veter]:stalker
В) В файле death_manager.script в конец строки local community_list дописываем "veter"
Выглядит это так:
local community_list = { "stalker", "dolg", "freedom", "bandit", "army", "zombied", "ecolog", "killer", "monolith", "veter"}
3. Создание НПС группировки
А) В файле spawn_sections_general создаем строки:
;***** sim veter *****
[sim_default_veter_0]:stalker
$spawn = "respawn\sim_default_veter_0"
character_profile = sim_default_veter_0
spec_rank = novice
community = veter
[sim_default_veter_1]:stalker
$spawn = "respawn\sim_default_veter_1"
character_profile = sim_default_veter_1
spec_rank = regular
community = veter
[sim_default_veter_2]:stalker
$spawn = "respawn\sim_default_veter_2"
character_profile = sim_default_veter_2
spec_rank = experienced
community = veter
[sim_default_veter_3]:stalker
$spawn = "respawn\sim_default_veter_3"
character_profile = sim_default_veter_3
spec_rank = veteran
community = veter
[sim_default_veter_4]:stalker
$spawn = "respawn\sim_default_veter_4"
character_profile = sim_default_veter_4
spec_rank = master
community = veter
Б) В файле character_desc_general создаем такую запись:
<!-- -->
<!-- ` VETER -->
<!-- -->
<!-- veter novice -->
<specific_character id="sim_default_veter_0_default_0" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_inGame2_stalker_1</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>sim_default_veter_0</class>
<community>veter</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\veter\</snd_config>
<rank>30</rank>
<reputation>0</reputation>
<money min="500" max="1500" infinitive="0"/>
<visual>actors\stalker_veter\stalker_veter_1</visual>
<supplies>
[spawn] \n
wpn_ak74_tg \n
ammo_5.45x39_ap = 1 \n
wpn_tt33 \n
ammo-7.62x25-ps \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>
**************** ветер опытный ********************
<specific_character id="sim_default_veter_1_default_0" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_inGame2_stalker_2</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>sim_default_veter_1</class>
<community>veter</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\veter\</snd_config>
<rank>30</rank>
<reputation>0</reputation>
<money min="500" max="1500" infinitive="0"/>
<visual>actors\stalker_veter\stalker_veter_2</visual>
<supplies>
[spawn] \n
wpn_lr30 \n
ammo_5.56x45_ap = 1 \n
wpn_sig220z \n
ammo_11.43x23_hydro = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>
************************* ветер профи *****************
<specific_character id="sim_default_veter_2_default_0" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_inGame2_stalker_3</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>sim_default_veter_2</class>
<community>veter</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\veter\</snd_config>
<rank>30</rank>
<reputation>0</reputation>
<money min="500" max="1500" infinitive="0"/>
<visual>actors\stalker_veter\stalker_veter_3</visual>
<supplies>
[spawn] \n
wpn_spas13 \n
ammo_12x76_zhekan = 1 \n
wpn_beretta0 \n
ammo_9x19_pbp = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>
************************* ветер ветеран ************************
<specific_character id="sim_default_veter_3_default_0" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_inGame2_stalker_3</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>sim_default_veter_3</class>
<community>veter</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\veter\</snd_config>
<rank>30</rank>
<reputation>0</reputation>
<money min="5000" max="15000" infinitive="0"/>
<visual>actors\stalker_veter\stalker_veter_3</visual>
<supplies>
[spawn] \n
wpn_pkm_v2 \n
ammo_pkm_100 = 1 \n
wpn_desert_eagle_s \n
ammo_11.43x23_hydro = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>
*************************ветер мастер***************************
<specific_character id="sim_default_veter_4_default_0" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_inGame2_stalker_4</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>sim_default_veter_4</class>
<community>veter</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\veter\</snd_config>
<rank>30</rank>
<reputation>0</reputation>
<money min="500" max="1500" infinitive="0"/>
<visual>actors\stalker_veter\stalker_veter_4</visual>
<supplies>
[spawn] \n
wpn_atom \n
ammo_atom = 3 \n
wpn_desert_eagle_anom \n
ammo_10x22_akbs \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
#include "gameplay\character_dialogs.xml"
</specific_character>
Меняйте все по усмотрению!
В) В файле npc_profile создаем
<!-- sim veter -->
<character id="sim_default_veter_0">
<class>sim_default_veter_0</class>
</character>
<character id="sim_default_veter_1">
<class>sim_default_veter_1</class>
</character>
<character id="sim_default_veter_2">
<class>sim_default_veter_2</class>
</character>
<character id="sim_default_veter_3">
<class>sim_default_veter_3</class>
</character>
<character id="sim_default_veter_4">
<class>sim_default_veter_4</class>
</character>
4. Создаем самый простой диалог (чтобы при нажатии клавишы "говорить" игра не вылетала)
А) В dialog_manager.ltx в столбце LIST находим записи dm_hello и после dm_hello_17 добавляем dm_hello_18
Вот так:
dm_hello_0
dm_hello_1
dm_hello_2
dm_hello_3
dm_hello_4
dm_hello_5
dm_hello_6
dm_hello_7
dm_hello_8
dm_hello_9
dm_hello_10
d m_hello_11
dm_hello_12
dm_hello_13
dm_hello_14
dm_hello_15
dm_hello_16
dm_hello_17
dm_hello_18
Б) В конец этого же файла строчку:
[dm_hello_18]
category = hello
npc_community = veter
level = all
В) В файле st_dialog_manager.xml создаем:
<string id="dm_hello_18">
<text>О, здоров, ну что, как?</text>
</string>
ГОТОВО! Можно ставить НПС на карту и играть!
- Результат работы::