Я создам сквад на примере одного сталкера. Начнем. Первая папка для работ - это 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