Значит неправильно сделал смарт.
Ну или у мутантов условие на спавн.
Дополнено 39 минуты спустя
Ну есть 2 варианта, со смартом и без.
1. Заспавнить мутанта. Потом создаешь спейс рестриктор. Далее в секции мутанта, находишь вот это окно И там выбираешь свой спейс рестриктор. И далее пишешь ему логику вот эту
[smart_terrains]
none = true
[logic]
active = mob_walker -
on_death = death@boar_i
[mob_walker]
path_walk = swamp_lager_walker2_look
path_look = swamp_lager_walker2_walk
[death@boar_i]
on_info = %+info%
Можешь не использовать схему walker, это я для примера показал.
2. Для начала создаешь шейп, и создаешь в секции ai - smart_terrain его и приатачиваешь к шейпу. Далее в логике смарта пишешь
[smart_terrain]
type = esc_small_home4 - Название смарта
capacity = 2 Численность смарта
Далее создаешь мутанта и в логике его пишешь
[smart_terrains]
esc_small_home4 = true
Ты привязываешь непися к смарту.
Далее заходим в scripts/gulag_имялокации
Если новую локация создал, то регистрируешь гулаг для локации.
И в гулаге пишешь
if type == "esc_small_home4" then - Место esc_small_home4 пишешь свое имя смарта
t = { section = "logic@esc_small_home4", - Работа 1
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = "" - in_rest запрещено выходить, к примеру написал имя спейса, и нпс нельзя от туда выходить out_rest - куда запрещено входить. Так же пишешь имя зоны (спейса) и все.
}
table.insert(sj, t)
t = { section = "logic@esc_small_home4", Работа 2
idle = 0,
prior = 5, state = {0}, prior - приоритет работы, если у этой работы приоритет больше, Сначала всегда нпс занимают более приоритетные работы.
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end
Далее в гулаге находишь вот это:
function load_states(gname, type)
-------------------------------------------------------------------
И в этой секции пишешь
if type == "esc_small_home4" then - имя своего смарта
return function(gulag)
return 0
end
end
Потом находишь в гулаге
--------------------------------------------------------------------------
-- Dynamic ltx
--------------------------------------------------------------------------
function load_ltx(gname, type)
return nil
end
и в этой секции находишь
function checkMonster(npc_community, gulag_type)
Есть и function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
Но у тебя же смарт для мутантов, по этому используй соотвествующую секцию
function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
Там пишешь
if gulag_type == "esc_small_home2" then
return npc_community == "boar" - Пишешь имя группировки, у мутантов есть технические группировки, кабан собака и т.д Пишешь мутанта, который у тебя привязан к смарту, если кабан - пиши кабана
end
Далее переходим в config\misc\gulag_имялокации нужной
В этом файле мы будем писать логику мутантом, сталкерам.
Чтобы было проще находить нужный смарт, то в начале логики смарта твоего напиши
;--------------------------
;------ Bridge Boars ------ Имя смарта
;--------------------------
Это красиво, и правильно)
Далее начинай писать логику
[logic@esc_bridge_boar] - Пишешь имя работы, имя работы берется с scripts/gulag_имя локации, и находишь там свой смарт, и копируешь работу
active = mob_home@esc_bridge_boar - Это логика, пишешь название схемы и @имя работы
[mob_home@esc_bridge_boar]
path_home = path1
home_min_radius = 20
home_max_radius = 40
Скольк работат в смарте, столько и здесь пишешь секций
[logic@esc_bridge_boar2] - Пишешь имя работы, имя работы берется с scripts/gulag_имя локации, и находишь там свой смарт, и копируешь работу
active = mob_home@esc_bridge_boar - Это логика, пишешь название схемы и @имя работы
[mob_home@esc_bridge_boar2]
path_home = path1
home_min_radius = 20
home_max_radius = 40
И так далее, зависит от кол-во работ в script/gulag_имя локации, находишь свой смарт и смотришь сколько там работ.
Все