У каждого универсального лагеря есть 4 состояния:

    * День (6:00 – 21:00)
    * Ночь (21:00 – 6:00)
    * Атака (контролируется менеджером симуляции)
    * Оборона (контролируется менеджером симуляции)

Атака и защита являются более приоритетными состояниями, т.е. если нет атаки или защиты, то действует правило день/ночь.

Дневные работы:

    * kamp
    * walker
    * patrol
    * guard
    * sniper

Ночные работы:

    * sleep
    * walker
    * patrol
    * guard
    * sniper

Атака:

    * ranger
    * assault
    * sneak
    * patrol (атака)

Оборона:

    * camper
    * defender
    * sniper

Если требуется добавить эксклюзивные работы, то в кастом дате смарт террейна в секции [exclusive] нужно вписать строчки:

[exclusive]

первое_имя_работы = первое_имя_файла_настройки.ltx
второе_имя_работы = второе_имя_файла_настройки.ltx

Путь к файлу настроек пишется относительно папки \gamedata\configs\scripts\. В файле настроек писать стандартную логику как в кастом дате сталкера, со следующими дополнительными параметрами:

    * имя секции [logic] должно выглядеть как [logic@соответствующее_имя_работы];

    * в секции [logic@имя_работы] можно прописать ключ suitable. Его значение - кондлист, который определяет, может ли занять эту эксклюзивную работу определённый NPC. Если этот ключ не указан - работу может занять любой NPC;

    * есть возможность сделать, так, чтобы NPC на уникальной работе всегда находился в online. Для этого нужно прописать следующий ключ: job_online = true;

    * можно задать приоритет экслюзивной работы prior = 70. Чем больше число тем выше приоритет работы. Обычно, неэксклюзивные работы имеют приоритет ниже 70;

Эксклюзивные работы не зависят от состояния смарт террейна.

Пример кастом даты смарт террейна:

[smart_terrain]
targets =

[exclusive]
genatsvale = aul\aul_genatsvale.ltx

Пример файла настройки:

[logic@genatsvale]
suitable = {=check_npc_name(givi_zurabovich)}

job_online = true
active = walker
prior = 70

[walker]

Также работает старая система:

[smart_terrain]

work1 = имя_файла_настройки1.ltx
work2 = имя_файла_настройки2.ltx

kamp - только днем
Описание схемы

Работает как для монстров, так и для сталкеров. Сталкеры сидят в центре лагеря возле костра, монстры живут вокруг точки в определённом радиусе.
Использование схемы

Ставится точка патрульного пути с именем:

[имя_смарттеррейна]_kamp_[номер_кемпа]

нумерация кемпов должна начинаться с 1, то есть если нужно поставить 3 кемпа в гулаге с именем test_gulag, мы в Level Editor'е ставим way point‘ы:

test_gulag_kamp_1

test_gulag_kamp_2

test_gulag_kamp_3

По умолчанию каждый кемп имеет в себе 5 мест, это количество можно менять задавая флаг в нулевой точке этого пути.

Для сталкеров:

name00|count = количество_мест

Для монстров:

name00|mcount = количество_мест

Монстрам можно задавать минимальный радиус (по входу противника в который они будут нападать):

name00|max = радиус_в_метрах

и максимальный радиус (до границ которого они будут преследовать противника):

name00|min = радиус_в_метрах

sleep - только ночью
Описание схемы

Спят в укромном месте, недалеко от центра лагеря
Использование схемы

Ставится точка патрульного пути с именем:

[имя_смарттеррейна]_sleep_[номер_работы]

walker - днем и ночью
Описание схемы

Тыняется по лагерю без особой цели.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_walker_[номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае, если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_walker_[номер_работы]_look

patrol - днем и ночью
Описание схемы

Патрулируют по периметру лагеря.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_patrol_[номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае, если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_patrol_[номер_работы]_look

Каждый патрульный путь по умолчанию содержит в себе 5 работ, т.е. в патруль могут выйти 5 сталкеров, это количество можно менять, задавая флаг в нулевой точке этого пути:

name00|count = количество_человек_в_патруле

guard - днем и ночью
Описание схемы

Стоят в точках по краям лагеря, охраняют.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_guard_[номер_работы]_walk

В этой работе обязательно нужно указывать патрульный путь с точками look:

[имя_смарттеррейна]_guard_[номер_работы]_look

sniper - днем, ночью и в состоянии обороны
Описание схемы

Работа только для чувака, у которого оружие с оптикой, кемперит рядом с лагерем и стреляет по всему, что движется.
Использование схемы

Ставится точка патрульного пути с именем:

[имя_смарттеррейна]_sniper_[номер_работы]_walk

В этой работе обязательно нужно указывать патрульный путь с точками look.

[имя_смарттеррейна]_sniper_[номер_работы]_look

ranger - только в состоянии атаки
Описание схемы

Обстрел с большого расстояния, при приближении противника переход в универсальный комбат.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае, если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_look

Также нужно указать точку, в которой боец перейдёт в состояние ожидания. Для этого нужно в имени одной из точек пути walk указать:

имя_точки|sig=arrive_to_wait

В состоянии ожидания боец некоторое время будет отыгрывать анимацию подготовки к бою. Можно указать точку, в которой он это будет делать. Для этого нужно поставить патрульный путь (из одной точки) с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_wait_walk

Можно поставить патрульный путь с точкой look (опционально):

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_wait_look

Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то боец перейдёт в состояние ожидания за 30 метров до этого смарта. Если путь ожидания не поставлен – боец будет отыгрывать анимацию подготовки к бою в той точке, в которой он перешёл в состояние ожидания.

assault - только в состоянии атаки
Описание схемы

Ломятся толпой в атаку в универсальном комбате.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае, если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_look

Также нужно указать точку, в которой боец перейдёт в состояние ожидания. Для этого нужно в имени одной из точек пути walk указать:

имя_точки|sig=arrive_to_wait

В состоянии ожидания боец некоторое время будет отыгрывать анимацию подготовки к бою. Можно указать точку, в которой он это будет делать. Для этого нужно поставить патрульный путь (из одной точки) с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_wait_walk

Можно поставить патрульный путь с точкой look (опционально):

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_wait_look

Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то боец перейдёт в состояние ожидания за 30 метров до этого смарта. Если путь ожидания не поставлен – боец будет отыгрывать анимацию подготовки к бою в той точке, в которой он перешёл в состояние ожидания.

sneak - только в состоянии атаки
Описание схемы

Чуваки подкрадываются на максимально близкое расстояние к вражескому лагерю и синхронно переходят в универсальный комбат.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае, если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_look

Также нужно указать точку, в которой боец перейдёт в состояние ожидания. Для этого нужно в имени одной из точек пути walk указать:

имя_точки|sig=arrive_to_wait

В состоянии ожидания боец некоторое время будет отыгрывать анимацию подготовки к бою. Можно указать точку, в которой он это будет делать. Для этого нужно поставить патрульный путь (из одной точки) с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_wait_walk

Можно поставить патрульный путь с точкой look (опционально):

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_wait_look

Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то боец перейдёт в состояние ожидания за 30 метров до этого смарта. Если путь ожидания не поставлен – боец будет отыгрывать анимацию подготовки к бою в той точке, в которой он перешёл в состояние ожидания.

patrol (атака) - только в состоянии атаки
Описание схемы

Идут к лагерю в патруле, если там пусто, или нападают в рейде, если там враги.
Использование схемы

Ставится патрульный путь с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_patrol_[номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_patrol_[номер_работы]_look

Каждый патрульный путь по дефолту содержит в себе 5 работ, т.е. в патруль могут выйти 5 сталкеров, это количество можно менять задавая флаг в нулевой точке этого пути:

name00|count = количество_человек_в_патруле

В каждой точке walk можно задавать анимацию, в которой сталкеры будут идти до следующей точки, иначе они будут идти в состоянии по умолчанию (патруль/рейд).

Также нужно указать точку, в которой бойцы перейдут в состояние ожидания. Для этого нужно в имени одной из точек пути walk указать:

имя_точки|sig=arrive_to_wait

В состоянии ожидания бойцы некоторое время будут готовиться к бою. Для каждого бойца можно указать смарт-кавер, в котором он это будет делать. Для этого нужно поставить смарт-кавер с именем:

[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_patrol_[номер_работы]_wait_[номер_бойца]_smartcover

Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то бойцы перейдут в состояние ожидания за 30 метров до этого смарта. Если смарт-кавер ожидания не поставлен – бойцы будут отыгрывать remark подготовки к бою в той точке, в которой они перешли в состояние ожидания.

По окончанию ожидания бойцы снова встанут на путь патруля, по которому дойдут до вражеского лагеря. Желательно, чтобы последняя точка патрульного пути находилась в центре вражеского смарта.

camper - только в состоянии обороны
Описание схемы

По поднятию тревоги занимают позицию для обороны, кемперят, переходят в универсальный комбат при сильном приближении противника.
Использование схемы

Ставится точка патрульного пути с именем:

[имя_смарттеррейна]_camper_ [номер_работы]_walk

В этой работе обязательно нужно указывать патрульный путь с точками look:

[имя_смарттеррейна]_ camper_ [номер_работы]_look

По умолчанию кемпер на точке пути находится в сидячем состоянии, т.е. если перед ним кавер, то он присядет и будет тупить, чтобы указать ему стоячее состояние ведения боя, нужно в нулевой вершине патрульного пути указать флажок:

name00|state=stand

defender - только в состоянии обороны
Описание схемы

По поднятии тревоги занимают позицию для обороны, переходят в универсальный комбат, сидят в аут-рестрикторе, в лагере.
Использование схемы

Ставится точка патрульного пути с именем:

[имя_смарттеррейна]_defender_ [номер_работы]_walk

Можно поставить патрульный путь с точками look (опционально), в том случае, если путь walk содержит в себе только одну вершину:

[имя_смарттеррейна]_ defender_ [номер_работы]_look

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

name00|out_restr=имя_рестриктора