Перейти к контенту

Norman Eisenherz

Жители
  • Число публикаций

    819
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    20,226 [Подарить AMKoin]

Весь контент пользователя Norman Eisenherz

  1. Здрасьте. [ЧН 1.5.10] Проверка типа заряженных патронов с условием "если в руках оружие". Пока в руках бинокль, нож, болт или ничего, проверка срабатывает каждый раз и, как ожидается, сигналит "no_wpn". После переключения на пистолет проверка срабатывает 1–2 раза (иногда выдает "левое" значение вроде "219" или "17") и дальше молчит. Триггер проверки – callback "use_object". Повторяющиеся вычисления через actor_binder:update(delta) с такой проверкой тоже останавливаются. Сдвиг -2 от конца STATE-пакета опирается на данные из [m_netpk.script]:
  2. Здрасьте. Пытался изменить шрифт счетчика патронов на HUD – какой шрифт ни указывал, остается дефолтный (graffiti32). Как и в ТЧ, правил файл [configs\ui\maingame.xml], блок <static_ammo>. В ЧН шрифт этого счетчика, случайно, не в движке зашит?
  3. @Ninna 1. [config\ui\map_spots.xml]: actor_level_spot и actor_level_spot_p. Добавить stretch=1 к каждому заголовку и задать width, height сколько требуется.
  4. @UriZzz В чистой версии ТЧ все поршни диалоговых окон парные. Есть одна проблема: поршень "ui_talk_hide" выдается только при переходе "диалог –> торговля", а при обычном выходе из диалога так и остается "ui_talk". Можно ловить через if has_alife_info("ui_talk") and not db.actor:is_talking(). Еще такой момент: при первом диалоге Сидорович выдает лишний поршень "ui_trade_hide".
  5. @UriZzz Например, есть вот такая пара для открытия/закрытия инвентаря: <info_portion id="ui_inventory"> <disable>ui_inventory_hide</disable> </info_portion> <info_portion id="ui_inventory_hide"> <disable>ui_inventory</disable> </info_portion>
  6. @UriZzz Может, ввести обратный поршень и ловить его?
  7. @ptichkin только движок: [xr_3da\xrGame\game_cl_mp.cpp] и [xr_3da\xrGame\ui\UIStatsIcon.cpp].
  8. @Graff46 Переменную вне функции вызова окна, если точно. Почему все-таки окно не удаляется тем же уборщиком при наличии привязанного события?
  9. Здрасьте. [ТЧ 1.0006] Оконный класс на базе CUIScriptWnd(), безлоговый вылет через несколько секунд после вывода нового окна. Если зарегистрировать в окне хотя бы одно событие, окно остается сколько угодно долго и к вылету не приводит. Почему так?
  10. Нашел причину: [xr_3da\xrGame\ui\UIListItem.cpp] void CUIListItem::InitTexture(LPCSTR tex_name) { CUIButton::InitTexture(tex_name); SetTextX(m_UIStaticItem.GetRect().width()); } Видимо, таким способом предполагалось облегчить создание списков "иконка + название", но это смещение только мешает, если требуется сделать подложку _под_ текстом. Сбросив значение SetTextX(0), можно выравнивать текст как обычно – может, кому пригодится.
  11. @AndrewMor Под "моментом прерывания" понимается значение какой-то переменной? Если переменная в том же скрипте и хранится вне основной функции, то есть не обнуляется при каждом запуске, то "момент" должен запомниться правильно.
  12. В оригинале ТЧ примеров нет. Логика следующая:
  13. @Pug-Lover Если в пределах одной локации, то можно через level.add_call(f1, f2): прервать скрипт, поставить отсчет на 3 секунды в первой функции, получить true, запустить скрипт через вторую функцию. В самом скрипте для прерывания/запуска должно быть условие вида "если flag = true, то работать".
  14. @Zander_driver IDA показывает ассемблерный код. Чем-то определенным надо открыть, чтобы увидеть названия классов и методов?
  15. Здрасьте. [ТЧ 1.0006] В отношении класса CUIProgressBar() в файле [lua_help.script] пропущены, как минимум, методы InitProgressBar(str, CUIWindow), SetProgressPos(num) и GetProgressPos(). Существует ли в открытом виде точный список методов этого и других оконных классов?
  16. Здрасьте. ТЧ 1.0006, попытка имитации CUIComboBox() через обычный список: • если текстура элемента списка указана ссылкой на описание в [ui_common.xls], текст этого элемента смещается вправо на ширину текстуры; • если та же текстура указана ссылкой на весь файл [ui_common.dds] и область в нем, текст, как и требуется, выводится поверх текстуры. https://drive.google.com/open?id=1Ty9_tmfyr2j7537nbliZEUETrwrwKvR3 В чем может быть причина? Файлы: https://drive.google.com/open?id=1VV6GAoapgwdqGIS27TN1oe8Wj83K46Zh. Еще вопрос: при масштабировании текстуры рамки через CUIFrameWindow() на стыке кусочков текстуры иногда выводится горизонтальная полоса из пустых пикселей (см. ту же картинку). Поправимо ли это? Такую же полосу можно наблюдать в разделе КПК "Карта".
  17. Здрасьте. Описание предмета в любом инвентарном окне, насколько можно судить, есть окно CUIScrollView() + вложенное окно CUIStatic() с текстом. Если диапазон прокрутки равен высоте статика, то как высота статика подстраивается под высоту текста? При ручном указании высоты либо текст будет выходить за статик и прокрутка остановится на границе статика, либо статик будет больше текста и прокрутка будет избыточной.
  18. @Robbie's Mods см. function add_lchanger_location() в [level_tasks.script]
  19. Здрасьте. В [textures\ui\] есть вариант рамки для окон КПК [ui_pda_frame_sub.dds] с описанием частей в одноименном INI-файле: Изменил имя обоих файлов (при той же начинке) и указал новую ссылку в конфиге окна "Справка" (энциклопедия) – вылет "текстура не найдена". Знаю, что обычная текстура рамки привязана через XML-описание файла [ui_old_textures.dds], но хочется понять, действует ли в каком-нибудь виде способ с INI-файлом или это мусор, оставшийся от ранних билдов?
  20. @monk Координаты иконок обвеса указаны в конфиге оружия: silencer_name = wpn_addon_silencer silencer_x = 210 silencer_y = 11
  21. Здрасьте. У кого есть доступ к движку ТЧ, посмотрите, пожалуйста вот такой момент: class CUIGameCustom SDrawStaticStruct* AddCustomStatic(string id, bool single_instance) Как обрабатывается значение false второго аргумента и что меняется в способе создания статика?
  22. Здрасьте. Тестирую переключатели: базовое окно ScriptWnd, вложенное окно TabControl + две кнопки, подключить сборку к инвентарю. 1. Событие обрабатывается без регистрации окна TabControl в ScriptWnd. Как такое возможно? Для обычной кнопки отключение регистрации отключает и обработку события. 2. Кнопки отображаются с исходным размером текстур, хотя для обеих задано масштабирование. Неправильно указаны ссылки на кнопки или для кнопок с несколькими текстурами (_d, _e, _h, _t) масштабирование недоступно?
  23. Возможно, в конфиге прописана метка только для глобальной карты. В общем случае, должен быть хотя бы один из двух блоков: <level_map spot="…"/> и <mini_map spot="…"/>.
  24. @naxac Приклеил кнопку к инвентарю напрямую, а не через отдельное окно – отображается сразу, без Show(true). @dsh Каким образом ловится ссылка на скрытое окно инвентаря и можно ли такое повторить в ТЧ?
  25. 1. При инициализации оконного класса к __init() добавляется super(). Что дает такая конструкция? 2. В обсуждении Malandrinus / Garry_Geller описан вылет при удалении кнопки, который обходится присоединением кнопки к промежуточному окну. Это особенность версии ТЧ 1.0004? Под патчем 1.0006 кнопка успешно обнуляется сразу после отсоединения от инвентаря и не вызывает в дальнейшем вылетов при перезагрузке.
×
×
  • Создать...