Usman_Shinobi 0 Опубликовано 20 Сентября 2019 (изменено) Привет всем! Я пока новичок в скриптовании, только-только начал понимать что к чему. Прошу не ругаться ? Если не туда написал - темы для LADC не нашёл. Я делаю мод для Stalker LADC, где нпс приветствуют, ждут, психуют-уходят и т.п. Чтобы прикрутить реплику на уход нпс из мита, если мы с ним не взаимодействуем, в xr_meet в функцию function evaluator_contact:evaluate() пишу такие условия (от "начала" до "конца" моего кода). Цитата if (self.meet_manager.state or "nil") ~= "nil" then -- Если не начинаем разговор, НПС уходит if self.meet_manager.wpn_meet or self.object:is_talking() then self.tm_delay = time_global() elseif not self.tm_delay then self.tm_delay = time_global() -- НПС ждёт 15 секунд и уходит elseif self.tm_delay +15*1000 < time_global() then -- НАЧАЛО МОЕГО КОДА if(self.object:active_sound_count(true) <= 0) then if self.st.meet_start ~= "" and not this.Is_Spam(self.meet_manager.npc, self.st.meet_start) then -- Уходя, ворчит if(self.st.meet_stop == "meet_stop") then if (Random.I(1, 5) == 1) then xr_sound.set_sound_play(self.object, "meet_stop") end else xr_sound.set_sound_play(self.object, self.st.meet_stop) end self.last_sound_played = true end -- КОНЕЦ МОЕГО КОДА end return false end if self.log then log("ev_contact:NPC=[%s]=>[%s]", self.object:name(), "TRUE") end --/#~# return true --/> elseif self.tm_delay then self.tm_delay = nil end В игре звук работает, но при уходе, если нпс ещё не вышел из радиуса мита, реплика meet_stop проигрывается успевает проиграться раза 2-3, а если пойти за нпс - так и будет проигрываться. Вопрос: как поставить "затычку" для xr_sound.set_sound_play(self.object, self.st.meet_stop)? Там ещё скорее всего много лишних условий, я копипастил их из друших участков xr_meet. Спасибо ? Изменено 20 Сентября 2019 пользователем Usman_Shinobi Поделиться этим сообщением Ссылка на сообщение
Usman_Shinobi 0 Опубликовано 23 Сентября 2019 (изменено) Спасибо, Fagot Ещё вопрос. Как прописать НПС условие, чтобы он никогда не подходил к другому НПС ближе, чем на 1 метр? Во всех схемах поведения. Как будет выглядеть условие? Изменено 23 Сентября 2019 пользователем Usman_Shinobi Поделиться этим сообщением Ссылка на сообщение
Usman_Shinobi 0 Опубликовано 15 Ноября 2019 Доброго времени суток! Где находятся конфиги, которые отвечают за вероятность выкрикивания нпс какой-либо фразы во время боя? Не пути, а именно параметр вероятности. Поделиться этим сообщением Ссылка на сообщение
Usman_Shinobi 0 Опубликовано 16 Ноября 2019 14 часов назад, Houdini_one сказал: Мне кажется, всё гораздо проще, столько фраз (например, 10), то и шанс выкрикивания данной фразы - 10%. Нет, я имел в виду не конкретную реплику, а тип реплики. Например, как часто нпс будет выкрикивать attack или threat_close в состоянии боя. Или как часто нпс будет выкрикивать fire открывании огня, или detour при совершении манёвра обхода. Факт в том, что нпс выкрикивают фразу далеко не всегда. Вот хочу понять где это регулируется. Поделиться этим сообщением Ссылка на сообщение
Usman_Shinobi 0 Опубликовано 15 Февраля 2020 Здравствуйте! Ковыряюсь в ЛостАльфе, хочу сделать так, чтобы можно было лечить врагов. Разрешил и настроил диалог, настроил изменение изменение отношение на нейтрала. Но после того, как нпс подлечился, он не выходит из состояния боя (хотя становится нейтралом). Целится в актора, пытается его ударить, но не может. Если мы отходим чуть дальше, или сам нпс отходит в укрытие, он переходит в состояние post_combat_wait, ждёт, и потом уже всё нормально. Можно ли как-то "выключить бой" после лечения, чтобы нпс сразу забывал про актора, не переходя в посткомбат? Поделиться этим сообщением Ссылка на сообщение
Usman_Shinobi 0 Опубликовано 15 Февраля 2020 1 минуту назад, Space.Marine сказал: Обычно, в имеющихся схемах, ИМХО, нужно сделать сейв-лоад... Можешь подсказать как? Я тут только начинаю разбираться. Поделиться этим сообщением Ссылка на сообщение