
Norman Eisenherz
Жители-
Число публикаций
839 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
20,998 [Подарить AMKoin]
Norman Eisenherz последний раз побеждал 16 Октября 2023
Norman Eisenherz - автор самых популярных публикаций!
Баланс оценок
336Недавние посетители профиля
Блок недавних посетителей отключен и не доступен другим пользователям для просмотра.
-
Нашел – все-таки кодировка: некоторые спецзнаки, не требующие сохранения в TXT-файл с расширенной поддержкой Unicode, не указаны в дефолтной кодировке UTF-8 – скрипт с шаблоном поиска необходимо сохранять если не в Windows-1251 как XML-файлы с текстом, то хотя бы в ANSI. "Безопасными" являются знаки с кодами 33–126 (от !"#$%&@ до ^_|~, включая цифры и пунктуацию), меняются знаки в начале кодовой таблицы (• ¶ §) и после алфавита (° … ‰ — « » ±). Аналогично с соединением строк: game.translate_string(str_id) .. "…" – крокозябры на выходе, если не задать кодировку для многоточия.
-
[ТЧ 1.0006] Скриптовое деление текста на фразы по меткам "•" (Alt+7, даже простой Блокнот такие понимает). Результат: деление по меткам и почему-то по буквам "в" (код 162). Сменил метку на "#" – деление строго по меткам. Предположил, что проблема в кодовых страницах Win10: например, вместо знака диаметра (код 0216) теперь просто буква "Ш". Проверил аналогичный скрипт, написанный для ЧН еще под Win7, и деление работает без ошибок даже по меткам "•". Чем вызвано такое пересечение знаков при поиске, и почему именно в ТЧ?
-
Похоже, недопонимание: для задачи вывода субтитров требуется выловить названия реплик от разных источников. То, что каждой секции логики соответствует (почти) одноименный скрипт-обработчик, уже пройдено.
-
Часть методов вывода звука указана в самих обработчиках: [xr_effects.script] ответ по рации "пусть не мельтешит здесь" / Круглов / КПК Призрака [ph_sound.script] пульты в X-16 / арена [sr_sound2d.script] война на складах Часть звуков выводится в голове ГГ. В db.sound[0] записей не появляется. Значительная часть звуков ссылается на конфиг [script_sound.ltx], из которого еще надо вынуть определенную ссылку для получения номера фразы и времени отображения субтитров. Иногда надо делать поправку на номер ранее выведенной фразы с тем же заголовком (диалоги в ТД). Я расставил ссылки в имеющихся скриптах и собрал пути/обертки в своем обработчике. Так получается значительно меньше мусорных звуков, вроде "привет / пока / убери ствол / анекдот / погода", чем при привязке ко всем звукам в [xr_sound.script] – из этого скрипта беру только номер звука при случайном выборе фразы (пленный Шустрый, например). Выборочно потестил прямую привязку к [xr_sound.script]: ловятся, в основном, одинаковые типовые звуки, тогда как на фразы NPC по ходу квестов почти никакой реакции. - АТП с Петрухой - Бес на Свалке - "деловое предложение" за 800 (есть только фразы охранников) - вопли и бубнеж Круглова - "мы не можем его так бросить" - война Долга и Свободы В общем, не все так просто в этой каше – это в ЧН уже есть почти готовый обработчик субтитров, и большая часть правок сводится к добавлению аргумента "отправитель".
-
@Kirgudu Привязка в play_rnd срабатывает почти правильно – заметное отставание есть только в том случае, когда прибывшего на точку NPC выталкивает с этой точки кто-то другой, и анимация "дойти + развернуться" отыгрывается повторно, но это уже мелочи.
-
Я с этого начал и пришел к [state_mgr.script]: в waypoint_callback сначала обсчитывается звук, просто привязанный к анимации, потом, с проверкой if pt_chosen_idx, звуки, привязанные к определенным точкам пути с присвоением self.sound_after_anim_start. Дальше update_standing_state(look_pos, snd) и state_mgr.set_state(…, snd). Не могу найти, в какой момент завершается анимация разворота NPC на точке и выполняется запуск назначенного звука, а не просто вычитывание его из памяти. К чему был абзац про глобальные переменные?
-
[ТЧ 1.0006] Задача: привязать субтитры к звуку, который выдается после прибытия NPC в определенную точку и окончания анимации разворота. Пример логики: p2:name = wp02|sig=arrive|syn|s=mil_collect_phrase1 Привязка к флагу switched в [state_mgr.script] state_manager:set_state учитывает только прибытие на точку. Как правильно привязать обработку именно к моменту вывода звука?
-
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@abramcumner Указал же: ТЧ 1.0006. Ладно на базе Свободы красноглазики, но и в Долге то же самое. Скрин: https://drive.google.com/file/d/1p1J8jFm3SjDk1filSpAfZ9TQpXG1ACrT -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Купер Шейдеры все равно накладываются поверх какой-то текстуры. Пытаюсь найти, какой именно. -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
[ТЧ 1.0006] Из какой текстуры берутся корявые красные глаза, которые видно под противогазами Долга и Свободы? Проверил правкой файлов act_ecolog_mp, act_ekolog, act_stalker_black, act_svoboda_mp – нет эффекта в игре. -
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Папка [textures\act\]. Костюмы одинаковые во всей трилогии, обычные головы в ЧН/ЗП идентичны. Головы именных NPC в ЧН/ЗП сделаны сходно, но зеркально и порядок расположения мелких частей другой – вряд ли совместимы. -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Новая секция ссылается на какой-то квестовый предмет? -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Если идея @RayTwitty с падением лута под карту верна (и всесильна), можно вынести спавн предметов около ГГ в отдельную функцию с небольшим разбросом координат и скармливать в нее нужные секции. Пример см. в [xr_box.script] create_items. -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Связи с номером слота быть не должно – новые детали спавнятся просто по именам. Действия "сброс оружия из рук" тоже нет, да и все равно в руках обычная модель, а не сломанная. В SDK или в каком-нибудь OGF viewer модель [wpn_flame_brk.ogf] открывается? Еще можно к спавну этой секции дописать local test_obj = alife():create("flamethrower_bad",pos,lv,gv)) и после спавна (отдельным вызовом, не в этом же цикле) проверить if level.object_by_id( test_obj.id ) -
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Все детали указаны как секции, а не как объекты (тип "string", а не "userdata") – не должно быть отличий в спавне. В конфиге предмета "flamethrower_bad" не была назначена прозрачная модель?
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды