Заселение эксклюзивных монстров на новых локациях.

В СДК создать smart_terrain с именем согласно схеме: <Префикс-имя-локации>_<имя смарта> «esc_ sim_1» В custom_data прописать:

[smart_terrain] cfg = scripts\escape\smart\esc_ sim_1.ltx(соответственно по этому адресу создать файл)

Назначить тип рестиктора :  «NOT A Restictor» В логике esc_ sim_1.ltx прописать:

[smart_terrain]; esc_ sim_1 squad_id = 1 max_population = 3 [exclusive] esc_ sim_1 _ psy_dog_squad = esc \ esc _dog_1.ltx

В логике esc _dog_1.ltx прописать:

[logic@ esc_ sim_1 _ psy_dog_squad] active = mob_home@1 monster_job = true prior = 100 [mob_home@1] path_home = psy_dog_1_home home_min_radius = 10 home_max_radius = 50 aggressive = false out_restr = out_ esc _sim_1_restrictor (рестиктор) combat_ignore_cond = {!dist_to_actor_le(70)} true, false

Поставить way путь из 2 точек и задать имя: <Префикс-имя-локации>_<имя смарта>_<имя -работы>_<номер-работы>_<работа> esc_ sim_1 _psy_dog_1_home Поставить спейс_рестиктор и задать имя: out_ esc _sim_1_restrictor Сделать радиус от 10м до 100м. Это зона за которую монстрам запрещено выходить. Назначить тип рестиктора :  «NOT A Restictor»

Прописать:

gamedata\configs\scripts\escape\smart\esc_polyna.ltx(прописать в созданный файл)

[smart_terrain]; esc_ sim_1 squad_id = 1 (Номер ID – будем считать что это первый смарт на новой локации) max_population = 3

gamedata\configs\misc\simulation_object_props.ltx

[esc_ sim_1]: default_squad sim_avail = true

gamedata\configs\misc\smart_terrain_masks.ltx

[esc_polyna] 255,255,255,152

gamedata\configs\misc\squad_descr.ltx

#include "squad_descr_ escape.ltx"

По адресу «gamedata\configs\misc» создать файл с именем «squad_descr_ escape.ltx»

; Здесь содержатся дескрипшены сквадов, которые потом можно создавать используя спец функции. [esc_ sim_1 _ psy_dog_squad]:online_offline_group faction = monster_predatory_day (Группировка  дневных монстров) npc = psy_dog_normal, psy_dog_normal, psy_dog_normal, psy_dog_normal (участие 5 монстров) target_smart = esc_ sim_1  (Принадлежность  отряда к этому смарту) ;spawn_point = esc_ sim_1_ spawn_point (по желанию можно поставить way point) story_id = esc_ sim_1 _ psy_dog_squad (ID отряда)

gamedata\configs\misc\simulation.ltx

;;;;;;;;;;;;;;;;;;;;;; FINAL ZATON ;;;;;;;;;;;;;;;;;;;;;;;;; [start_position_ escape] esc_ sim_1 _ psy_dog_squad = esc_ sim_1

Зарегистрировать нашу локацию в скриптах: gamedata\scripts\sim_board.script

squad_ltx = system_ini() setting_ini = ini_file("miscsimulation.ltx") local group_id_by_levels = {zaton = 1, pripyat = 2, jupiter = 3, labx8 = 4, jupiter_underground = 5, escape = 6}

gamedata\scripts\smart_terrain.script

function surge_stats() local sim_obj_registry = simulation_objects.get_sim_obj_registry().objects local sim_squads = { [«zaton»] = {}, [«jupiter»] = {}, [«pripyat»] = {}, [«escape»] = {} } local sim_smarts = { [«zaton»] = {}, [«jupiter»] = {}, [«pripyat»] = {}, [«escape»] = {} }

gamedata\scripts\surge_manager.script

function CSurgeManager:initialize() self.ini = ini_file("miscsurge_manager.ltx") self.levels_respawn = {zaton = false, jupiter = false, pripyat = false, escape = false}

Всё….