-
Число публикаций
1 674 -
Регистрация
-
Последнее посещение
-
Дней в топе
37 -
AMKoin
19,417 [Подарить AMKoin]
Kirgudu последний раз побеждал 28 Сентября
Kirgudu - автор самых популярных публикаций!
Баланс оценок
1 340О Kirgudu
- День рождения 12.03.1974
Недавние посетители профиля
11 505 просмотров профиля
-
[SoC] Ковыряемся в файлах
Kirgudu ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Balavnik потому что это read only свойство, которое напрямую не поменяешь. Можно сделать с помощью изменения абстрактной части нет-пакета в момент спавна или с принудительным переводом объекта оффлайн-онлайн. Возьми модуль Артоса m_netpk и внимательно прочитай инструкцию в части работы с abstract частью: там помимо изменения собственно направления потребуется добавить поддержку этого функционала в скрипт вида se_XXX.script, ответственный за нужный тип объекта. Я когда-то экспериментировал, работает. -
Кстати, исправлено в Unofficial Patch от Painter aka Jurok для оригинала. Рекомендую.
-
Обновление Инструмента от 2025-09-28. Все последние нововведения и доработки, описанные в предыдущих постах, скопированы во все конструкторы и готовые комплекты.
-
@Pavel_2000 local keys = { [DIK_keys.DIK_W] = true, [DIK_keys.DIK_A] = true, [DIK_keys.DIK_S] = true, [DIK_keys.DIK_D] = true } function actor_binder:key_hold(key) if has_alife_info("item_id_used") then if not has_alife_info("test_work_start") and keys[key] == true then test_script.test_func() end end end
-
Обновление Инструмента от 2025-08-21. 1. Функционал, описанный в предыдущем посте в пунктах 2 и 3 (новый раздел "Очистка" и доработка раздела "Переход"), полностью перенесён в конструктор для ТЧ, а также в готовые комплекты для ТЧ 1.0006, ТЧ 1.0004 и OGSR x64 v2.1.416 - v3.448+. 2. Произведена небольшая доработка разделов "Очистка" и "Переход" в конструкторе и готовом комплекте для ЧН. На очереди: конструктор для ЗП, готовые комплекты для ЗП, ОП-2.2, Фотографа. Ссылка прежняя, в шапке темы.
-
@imcrazyhoudini нет, я же написал, что нужен объект. Актор или любой другой, но нужен. Для демонстрации сделал на чистой игре нижеследующие правки. В логике рестриктора mar_space_restrictor_start_sim.ltx (расположен примерно в межкомнатном проёме между Лебедевым и тактиком) добавил функцию запуска звука при появлении в области действия рестриктора, если первая обучающая миссия ещё не пройдена. [logic] active = sr_idle [sr_idle] on_actor_inside = {+mar_intro_go_to_marsh_done} sr_idle@end_section %=start_sim%, sr_idle@sound %=start_sound% ; добавил здесь ; и здесь зациклил обратно через 30 секунд [sr_idle@sound] on_timer = 30000 | sr_idle [sr_idle@end_section] Саму функцию добавил в xr_effects.script function start_sound(actor, obj) -- здесь obj - наш рестриктор "mar_space_restrictor_start_sim" local snd = sound_object("items\\guitar\\guitar_5") -- взял гитару как длительно звучащую, но подойдёт, разумеется, любой существующий звук if snd then snd:play_at_pos(obj, vector():set(-185, 0.5, -301), 1, sound_object.s3d) end end Указанные в функции координаты соответствуют точке около входа к Суслову, немного ближе к забору. Итак, пошёл к тактику, вошёл в зону рестриктора, чтобы активировать звук, при этом поначалу ничего не услышал. Быстро побежал к Суслову, на полпути к указанным координатам гитара стала слышна, а когда дошёл до места, её громкость достигла максимума. Замечу, что гитара стала различима буквально метров за 10 от точки звучания, не раньше. Это работающий пример запуска звука с привязкой к определённому объекту (не актору) и фиксированным на текущем уровне координатам.
-
nil откуда здесь взялось?
-
Если в качестве первого аргумента используется db.actor, то вектор во втором аргументе - это не абсолютная позиция, а смещение относительно актора. Получается, ты запускаешь звук очень далеко от своей текущей позиции, он просто не слышен. Более того, звук ещё и будет смещаться синхронно с актором, сохраняя всё ту же относительную позицию. Чтобы запустить звук в конкретной точке, нужно привязать его к любому другому объекту, кроме db.actor, указать абсолютные координаты (это сейчас правильно) и использовать флаг sound_object.s3d.
-
Новая версия Инструмента от 2025-08-02, только для ЧН. Изменения: Приму с благодарностью любые сообщения об ошибках, а также предложения по функционалу разделов Фракции и Очистка. Обновлены конструктор и готовый комплект для ЧН. Хранилище прежнее, ссылка в шапке темы. В ближайшие месяц-другой буду потихоньку переносить добавленный функционал на другие платформы, следите за новостями. Приятного использования!
-
Вроде как не обязательно. Можно запустить от всегда имеющегося актора, но при этом задать фиксированные координаты, отличные от его позиции, чтобы звучало со стороны.
-
В упомянутой инструкции не хватает одного маленького, но важного пункта. 5. Открываем скрипт по адресу "gamedata\scripts\state_mgr_animation_list.script" на редактирование. Находим анимацию "harmonica" (в оригинале это строки 437-452) и для элемента "into_music" меняем значение "harmonica" на "play_harmonica" (используем ровно то самое имя, которое дали добавленной в script_sound_music_and_stories.ltx секции, содержащей описание звуковых файлов). И всё заработает. Анимация гитары чуть повыше содержит правильное наименование секции звуковых файлов, поэтому с ней всё в порядке. Модераторам: прошу добавить этот пятый пункт в самом конце инструкции. Можно в виде примечания "если у вас есть анимация, но нет звука губной гармошки...".
-
Ну может не все, но многие точно. Из тех глобальных модов, в которых я принимал или принимаю участие, ни один, действительно, на ЕЕ платформе не запустится без переделки. С моим "Инструментом" та же история: требуется адекватная замена использованным ранее методам из класса графа. Стоит ли овчинка выделки, пока не решил.
-
Однозначно порезали, но не в этой части (по крайней мере с GetSelectedItem всё в порядке). Например, в ЧНЕЕ (другие части пока не смотрел) полностью вырезан функционал game_graph(), включая сам метод, возвращающий данный класс. Об этом нынешние разработчики компания-разработчик (признана нежелательной) пишут прямо в скриптах, см. комментарии такого вида: "-- mtb-bartlomiej.kunikowski: Get rid of game_graph in Lua". Вместо этого в скриптах можно найти всего одну новую импортированную глобальную функцию: gg_vertex_level_id(gvid), и один новый глобальный метод: gg_accessible(self.disable_graph_point, true). Может быть, есть что-то ещё, но для того, чтобы это найти, нужно копаться в движке. Что это означает? Да ровно то, что моды, работающие с графом, а также универсальные модули, такие как артосовский, идут лесом. По крайней мере пока не будет найдена равнозначная замена утраченным методам или не будут переписаны сами моды.
-
@Miko к сожалению, понять, что не так могло быть в какой-то старой версии Инструмента, не представляется возможным. За год с небольшим мод претерпел множество доработок абсолютно во всех своих компонентах. Какие-то нюансы старой реализации, исправленных багов, сделанных разным способом в разное время фич я просто-напросто не помню. Помочь с адаптацией текущей версии могу, старой - не готов. Предлагаю написать, какую версию основной игры взять в качестве платформы, перечислить все дополнительные моды, которые нужно на неё накатить (где их взять и как и в каком порядке поставить, если есть нюансы), чтобы получить ту сборку, к которой следует подготовить Инструмент. Постараюсь это сделать в течение нескольких дней.
-
@Miko посмотрю на выходных. Возможно, скрытая ошибка в модуле Артоса или не всегда корректный вызов одного из его методов из модуля спавна. Какая версия Инструмента использована, от какой даты и из какого комплекта? В том модуле lua_helper, который сейчас лежит в составе комплектов Инструмента, в строке 2284 нет цикла 'for'. Очевидно, что используется более старый комплект Инструмента или в отдельные его файлы вносились изменения. Помочь смогу только с последней версией по ссылке из шапки темы, рекомендую скачать и адаптировать себе именно её по инструкции, потом вернуться сюда с ошибкой, если она снова проявится.
