Я создам сквад на примере одного сталкера. Начнем. Первая папка для работ - это gameplay (gamedata\configs\gameplay), открываем любой файл character_desc_...ltx
Создаем секцию:
<specific_character id="a10_dolg_dikobraz" team_default="1">
<name>Дикобраз</name>
<icon>ui_inGame2_Dolg_4</icon>
<map_icon x="1" y="0">
</map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>a10_dolg_dikobraz</class>
<community>dolg</community>
<mechanic_mode>1</mechanic_mode> ;наш НПС будет механиком, либо просто удалите эту строку.
<terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\dolg\</snd_config>
<rank>699</rank>
<reputation>0</reputation>
<visual>actors\stalker_dolg\stalker_dolg_4</visual>
<supplies>
[spawn] \n
wpn_pkm \n
ammo_pkm_100 = 1 \n
wpn_colt1911 \n
ammo_11.43x23_fmj = 1 \n
#include "gameplay\character_items_3.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs_4.xml"
#include "gameplay\character_drugs_sci.xml"
</supplies>
</specific_character>
Нашего сталкера зовут Дикобраз, он из Долга и имеет уникальное имя a10_dolg_dikobraz
Далее файл npc_profile.ltx
<character id="a10_dolg_dikobraz">
<class>a10_dolg_dikobraz</class>
</character>
Записываем уникальное имя в обе строки.
Теперь переходим в новую папку: gamedata\configs\creatures
Любой файл spawn_sections_...ltx
[a10_dolg_dikobraz]:stalker ;любое имя секции, но лучше, чтобы совпадали (меньше путаницы).
$spawn = "respawn\a10_dolg_dikobraz"
character_profile = a10_dolg_dikobraz ;его профиль (имена совпадают)
spec_rank = regular
community = dolg
story_id = a10_dolg_dikobraz ;уникальный идентификатор персонажа.
И последняя папка: gamedata\configs\misc
Любой файл squad_descr_...ltx
[a10_dolg_dikobraz_squad]:online_offline_group ;любое имя секции, но лучше, чтобы совпадали (меньше путаницы).
faction = dolg
npc = a10_dolg_dikobraz ;наш персонаж.
target_smart = a10_sv_terrain ;его торрейн.
spawn_point = a10_sv_terrain_dikobraz_walk ;в way прописываем точку спавна (координаты должны совпадать с торрейном).
story_id = a10_dolg_dikobraz_squad ;уникальный идентификатор отряда.
on_death = %+a10_dolg_dikobraz_death% ;выдается инфопоршень при смерти всего отряда.
Для того, чтобы наш сквад появился в игре необходимо либо прописать в файле gamedata\configs\misc\simulation в общий список той локации, на которой он должен появиться, либо через логику рестриктора:
[logic]
active = sr_idle@spawn
[sr_idle@spawn]
on_info = {+условие} %=create_squad(name_squad:name_terrain)% sr_idle@nil
[sr_idle@nil]
Продолжение в этой статье: Создание смарт торрейна (smart_terrain)
Автор: mmihaill