![](https://www.amk-team.ru/forum/uploads/set_resources_35/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Norman Eisenherz
Жители-
Число публикаций
819 -
Регистрация
-
Последнее посещение
-
Дней в топе
1 -
AMKoin
20,226 [Подарить AMKoin]
Весь контент пользователя Norman Eisenherz
-
@naxac Подставил ссылку на имеющийся вариант кнопки – вылет. Разделил эту же кнопку на 12 текстур (+d + h/t отдельно) – выводится. Осталось понять, что было не так в первом эксперименте… Ну, может кому пригодится: • в обозначениях частей нельзя использовать верхний регистр (пример с кнопкой ui_inGame2_pda_button из того же файла [ui_actor_pda] – мусор из старых версий); • части принимаются только с описанием – файлы-кусочки не подходят ни в каком виде, хотя для обычной кнопки можно указывать набор текстур и так.
-
@naxac Так это еще в ТЧ, а в ЧН и ЗП описание с виду вполне рабочее. На всякий случай, уточняю место: [xrGame\ui\UIXmlInit.cpp] bool CUIXmlInit::Init3tButton(…). Должно получиться 4 окна CUIFrameLine – по одному на каждое состояние кнопки; или где-то дальше обработчик спотыкается, или я не понимаю, как правильно назвать части текстур.
-
Здрасьте. [ЗП 1.6.02] Создание кнопки CUI3tButton() с тегом frame_mode=1. Судя по описанию, должна получиться кнопка с состояниями d/e/h/t и масштабированием по горизонтали через подстановку частей b/back/e (= CUIFrameLine). Создал 12 текстур-частей _d_b/back/e, _e_b/back/e, …, указал ссылку на базовое имя – вылет. Указал текстуры в описании кнопки блоками <texture_d>name_d</texture_d> в расчете на подстановку текстур b/back/e – вылет. По образу и подобию кнопки "ui_inGame2_pda_button" создал набор d/e/h/t с полными текстурами и отдельные наборы с частями, названными _E_b/back/e, _H_b/back/e, _T_b/back/e – вылет. Добавил в [configs\ui\textures_descr] описание для частей b/back/e по полным текстурам – вылет. Указал ссылку на текстуру "ui_inGame2_pda_button" – вылет. Для справки, все предполагаемые части этой текстуры даны ссылками на пустое место. Создание кнопки в обычном состоянии по полным текстурам d/e/h/t работает – скриптовая часть и ссылка на папку с текстурами точно правильные. Ошибка каждый раз одна и та же: "similar(m_tex_rect[flFirst].height(), m_tex_rect[flSecond].height())" – разная высота частей масштабируемой текстуры, хотя все части нарезаны из одной текстуры и имеют одинаковую высоту. Такое впечатление, что масштабирование текстуры кнопки не работает, и его просто забыли закомментировать в движке. Есть какая-то информация?
-
@Баба ЯГА [bind_physic_object.script] generic_physics_binder:use_callback(obj, who)
-
@BFG game.time() – счетчик времени в активном сейве, и этот счетчик должен обновляться только при апдейте актера, который начинается после загрузки сейва и отключения меню. Или не совсем так?
-
Снимаю вопрос. Через pstor-запись в момент сейва и сравнение на первом апдейте разница ловится достаточно точно.
-
Здрасьте. [ЗП 1.6.02] Проблема: при каждом повторе сейва и загрузки добавляется примерно 10 секунд реального времени к значению game.time(). Дельта постоянная – время в главном меню при создании сейва и время ожидания на экране загрузки не влияют. Пример: вывод внутреннего таймера в сообщение, сразу же сейв и загрузка – начальное время 35 653 секунд, время после загрузки – 35 665 секунд. Как с этим бороться?
-
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
"Без брони". В ЧН это была модель wpn_hand_01, указанная в [actor_hud]. Нашел уже: в этот раз модель wpn_hand_05 – не знаю, где такая ссылка указана, не в костюмах точно – там у меня другие руки прописаны, и совпадений "в броне / без брони" нет. -
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Здрасьте. Где хранится ссылка на текстуру рук без брони? В ЧН это была модель [meshes\dynamics\weapons\wpn_hand\wpn_hand_01.ogf], но в ЗП при любых изменениях такой же модели игра никак не реагирует. Пробовал менять ссылки в [actor_hud] и в [outfit_base] – аналогично. -
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@WizziGun Тоже юмор… А как быть с аптечками, у которых только одна кость, но, скажем, аптечка на полке на уровне глаз берется только в прыжке, а на уровне рук – свободно? -
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Прикладываю к вопросу выше – на случай, если описания недостаточно: https://drive.google.com/file/d/1Nu8XpN0a1sswM_qDat-JHCx_LLXLjgBt -
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
Здрасьте. ЗП 1.6.02: некоторые предметы невозможно поднять, если они находятся не на уровне глаз или частично перекрыты обстановкой. Пример: Юпитер, тоннель с призраком электрика и артефактом "Измененный изолятор" – из-под контейнера торчит приклад LR-300, но как вокруг ни пляши, автомат не берется. Судя по другим тайникам, при наведении на предмет должно отобразиться не только название, но и иконка, иначе предмет не возьмется. Значения take_dist и pickup_info_radius в конфигах те же, что и в ТЧ/ЧН. Было ли это "вылечено" в модах, и каким способом? -
Здрасьте. Видел в каком-то моде улучшенное поведение NPC в ситуации "ГГ загораживает обзор в бою": NPC не только не стрелял насквозь, как это обычно бывает, но еще и махал рукой и кричал "Отойди!". Подскажите название мода, если кто знает.
-
[SoC] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@exDeMODER В базовой версии ТЧ у класса CUITrackBar всего два уникальных скриптовых метода: задать и прочитать значение, причем оба метода работают только в булевом режиме – false/true = значение 0 или > 0. Кроме того, окно CUITrackBar дает вылет, если в XML-описании нет блока <options_item entry=… /> с названием одной из указанных в [xr_3da\xr_ioc_cmd.cpp] настроек игры, и настройка реально меняется этим новым ползунком. Пример применения есть в моде "Золотой шар" под ТЧ: условный электрощиток как раз с такими ползунками и учетом положения "вкл/выкл" (X-18, колонна на входе). -
Язык Lua. Общие вопросы программирования
Norman Eisenherz ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Здрасьте. Если this["подстановка"]() позволяет вызвать функцию по строковому имени из текущего скрипта, то для чего нужны конструкции вида this.точное_имя(), если прямой вызов по имени функции и так действует в текущем скрипте? Примеры: ЗП [utils.script] this.vector_copy_by_val() ТЧ [uilts.script] и [xr_talker.script] this.vector_copy_by_val() – две разные функции, но каждая вызывается только в своем скрипте -
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Jekyll Вот это не сгодится? local spawn = alife():create(…) level.client_spawn_manager():add(spawn.id, -1, fx) function fx(id, obj) … end -
@Colder [ui_main_menu.script], по аналогии с блоком if dik == DIK_keys.DIK_Q. Обязательно добавить проверку if level.present() – игра должна быть загружена в момент расходования предмета. Сделать применение предметов через быстрые слоты, как в ЗП, без расширенного движка невозможно – разве что добавить условие вида "если потрачен бинт, то съесть еще колбасу".
-
[CoP] Ковыряемся в файлах
Norman Eisenherz ответил на тему форума автора Halford в Скрипты / конфиги / движок
@sergej5500 Для получения списка апгрейдов придется разбирать нетпакет: STATE, сразу после "condition" идет параметр s32 с количеством апгрейдов и следом таблица с названиями в порядке прокачки. Таблицу можно вытаскивать последовательным чтением вручную или через [m_netpk.script] от Артоса. -
В ЧН есть проверка установленного обвеса через (wpn):weapon_is_scope(), _silencer(), _grenadelauncher(). В ЗП тоже такие методы должны быть.
-
Здрасьте. Оконный класс на базе CUIScriptWnd() + статик с текстурой для видимости. ТЧ 1.0006: перезагрузка проходит без ошибок даже при открытом окне – окно успешно удаляется методом __finalize(). ЧН 1.5.10: • перезагрузка при открытом окне приводит к вылету без лога, как будто окно теряется. • принудительное обнуление окна в net_destroy() также приводит к вылету без лога, если окно было открыто хотя бы один раз и точно было закрыто на момент перезагрузки. Что-то изменилось в методах __init() и __finalize()?
-
@naxac Нашел перебор укрытий в [xr_surge_hide.script]: После этого как раз выполняется проверка через inside.
-
В ЧН часто есть готовые рестрикторы – укрытия от выброса, но у них нет внешних конфигов логики. Можно ли без перебора [all.spawn] определить, что ГГ находится в рестрикторе с именем "(level)_vibros_#"?
-
Здрасьте. Как проверить, что дождь не только идет в данный момент, но и попадает на ГГ (ГГ не находится в здании)? Версия игры любая без движковых правок.
-
@AndreySol Где найти разобранный на файлы C++ движок ЧН? Движок ЗП тоже было бы интересно почитать.
-
Здрасьте. Задача: создать одноименный текстовый файл при создании сейва. В [ui_save_dialog.script] можно отследить имя и создать свой файл при сейве через меню "Сохранить игру". Как сделать то же самое при вводе имени нового сейва через консоль?
- [ЧН] 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
- ...и другие моды