Сделать NPC бессмертным
Добавить в активную логику строку
invulnerable = true
S.T.A.L.K.E.R|Модостроение |
В общем, какие-то проблемы с загрузкой сайта. |
Добавь в закладки |
Будем постепенно решать... |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Cпавн [Spawn]]
Сделать NPC бессмертным
Добавить в активную логику строку
invulnerable = true
Спавн оружия как объект
В All.spawn спавним как физический объект (physic_object)
В конце секции добавляем: fixed_bones = wpn_body
(Если не поможет: fixed_bones = wpn_body, priklad)
Делаем псевдораненого NPC
В логику NPC дописываем:
anim = 1_из_анимок
Вот анимки разнообразных ранений:
wounded, wounded_heavy, wounded_heavy_2, wounded_heavy_3, wounded_zombie (только при подключенной анимации stalkers_zombied), psy_pain_anim, psy_armed_anim
Что нужно сделать, чтобы NPC рассказывал анекдоты и легенды?
в all.spawn в секции нужного NPC после custom_data = <<END добавляем
[game_info]
stories = "story_01, legend_01"
Выдаем инфопоршень ГГ через рестриктор
[logic]
active = sr_idle
[sr_idle]
on_actor_inside = %+название_инфопоршня%
Делаем автосохранение
function scenario_autosave (xr_effects.script)
Для примера логика рестриктора в начале игры: zat_a1_logic.ltx
Тексты для названий автосейвов лежат в файле ui_st_other.xml
Если не пашет на новой локации посмотрите зарегистрирована ли ваша локация в скриптах sim_board и smart_terrain (хотя и без этого должно сохраняться)
Пример: сохраняемся и заодно повреждаем вещи:
[logic]
active = sr_idle@game_start
[sr_idle@game_start]
on_info = {=actor_on_level(escape)} sr_idle@nil %=damage_actor_items_on_start +esc_a1_game_start =scenario_autosave(st_save_start_escape)%
[sr_idle@nil]
Выдача первостепенных миссий
за выдачу заданий на поиск вертолетов отвечает space_restrictor с именем zat_b101_logic. Когда ГГ появляется в нем, то срабатывает логика из файла configs\scripts\zaton\zat_b101_logic.ltx. В пятой строчке идет выдача заданий
Спавн сквада после получения определенного поршня
Для этих целей можно создать спейсрестриктор с нужными условиями спавна сквада.
Для этого надо создать сквад из нужных персонажей, но не прописывать его в start_position в файле simulation.ltx
Посмотрите для примера логику рестриктора zat_b14_spawner.ltx - это спавнер рекетиров на земснаряде, когда гг берет артефакт - спавнится сквад сталкеров в секции [sr_idle@spawn_stalker], команда на спавн =create_sguad
Еще можно в самом смарт-террейне, если нужно дефолтных персонажей (читать как: дефолтный симуляционный сквад), респавн сквада с условием, условие в строке spawn_num = {условие} количество, к примеру файл zat_b28.ltx - нашел вертолет, респавнятся снорки.
Условия целей у сквадов
target_smart = {=is_dark_night} nil, {~50} zat_sim_5, {~50} zat_sim_3, {~50} zat_sim_1, {~50} zat_sim_18, {~50} zat_sim_10, {~50} zat_sim_7, zat_sim_26
Условия:
{=is_dark_night} -- Если ночь
{~50} --- Вероятность, что пойдет на эту точку
Логика торговца (упрощенная логика Бороды)
[logic@zat_a2_stalker_barmen]
suitable = {=check_npc_name(zat_a2_stalker_barmen)} true ;проверка на совместимость логики с конкретным НПСом, или группировкой. Это значит, что эта логика только для конкретного НПСа, в данном случае для Бороды.
trade = misc\trade\trade_zat_a2_barmen.ltx ;путь к файлу торговли.
prior = 200 ;приоритет. На что влияет никто точно не знает.
active = animpoint@bar ;активная схема поведения
can_select_weapon = false ;может ли пользоваться оружием
level_spot = trader ;иконка на карте
[animpoint@bar]
cover_name = zat_a2_sc_barmen ;имя секции smart_cover из all.spawn.
avail_animations = animpoint_stay_table_no_rnd ;анимация поведения.
use_camp = false ;может ли использовать кэмп-зону.
meet = meet ;ссылка на логику разговоров (meet - дефолтная, описывать ее не обязательно; no_meet - NPC будет молчать как партизан на допросе)
combat_ignore_cond = true ;игнорирование боя.
combat_ignore_keep_when_attacked = true ;игнорирование боя, даже если НПС атакован.
invulnerable = true ;бессмертие.
gather_items_enabled = false ;разрешение на сбор предметов.
help_wounded_enabled = false ;разрешение на помощь раненым.
corpse_detection_enabled = false ;разрешение на обыск трупов.
[meet]
close_snd_hello = {-zat_b30_barmen_under_sultan} zat_a2_stalker_barmen_greeting, zat_a2_stalker_barmen_greeting_angry
close_snd_bye = {-zat_b30_barmen_under_sultan} zat_a2_stalker_barmen_farewell, zat_a2_stalker_barmen_farewell_angry
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
close_snd_distance = 3
abuse = false
use = {=actor_enemy} false, true
allow_break = false
meet_on_talking = false
meet_on_talking = false
Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Cпавн [Spawn]]