night_dragon_on 5,601 #361390 Posted October 23, 2016 (edited) Нашел все-таки бекапчик, восстановил. Работает как и до того. Распакуй архив после установки сборки. Если все правильно нашел, то там твои правки: - старый вариант часов - ники без Alt в маркерах для глобалки - карусель техники - в панелях команд отключение отображения нуля (для игроков которые никого не уничтожили) - фикс для хит-лога (отсутствие крестика) - отображение лампы 10 сек - сниппеты - кратность прицела 23.10.16 Обновлен конфиг: * Адаптация под последнюю версию мода * Обновлен шрифт "NDO" до версии 5.0 * Добавлен новый элемент "Дамаг панель" - лог полученного урона * Отключена кнопка премиум магазина * Мелкие правки Обновлена сборка модов: * Обновлен мод "Комплексный мод XVM" до версии v6.4.7.1 * Обновлен мод "Иконки техники" * Добавлен мод "Интеграция с Faceit" Дополнения: * Обновлено дополнение "Иконки техники" * Обновлено дополнение "Панель счета" 'Дамаг панель' + Подробности по работе с модом "Интеграция с Faceit" можно узнать в F.A.Q-ге Edited October 23, 2016 by night_dragon_on 4 Share this post Link to post Short link Share on other sites
Etlau 17 #361707 Posted October 24, 2016 А можно добавить в панель счета разницу ХП команд? Очень удобно сразу видеть на сколько ХП выигрывает или проседает твоя команда. Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361797 Posted October 24, 2016 (edited) А можно добавить в панель счета разницу ХП команд? Очень удобно сразу видеть на сколько ХП выигрывает или проседает твоя команда. Можно добавить новый блок в любую из панелей: 'battleLabels.xc' { "labels": { "formats": [ ... ${ "battleLabelsTemplates.xc":"def.sign_hp" }, ... ] } } 'battleLabelsTemplates.xc' { "def": { ... "sign_hp": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 0, "y": 80, "width": 70, "height": 24, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 0, "angle": 0, "color": "0x000000", "alpha": 50, "blur": 4, "strength": 1.5 }, "textFormat": { "size": 16, "color": "0xFCFCFC", "align": "center" }, "format": "<font color='#{{py:color_sign_hp}}'><b>{{py:math.sub({{py:current_hp(0)}},{{py:current_hp(1)}})}}</b></font>" }, ... } } Значение с минусом - перевес по запасу прочности в пользу противника, значение динамически окрашивается. Edited October 24, 2016 by night_dragon_on Share this post Link to post Short link Share on other sites
Etlau 17 #361845 Posted October 24, 2016 Можно добавить новый блок в любую из панелей: 'battleLabels.xc' { "labels": { "formats": [ ... ${ "battleLabelsTemplates.xc":"def.sign_hp" }, ... ] } } 'battleLabelsTemplates.xc' { "def": { ... "sign_hp": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 0, "y": 80, "width": 70, "height": 24, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 0, "angle": 0, "color": "0x000000", "alpha": 50, "blur": 4, "strength": 1.5 }, "textFormat": { "size": 16, "color": "0xFCFCFC", "align": "center" }, "format": "<font color='#{{py:color_sign_hp}}'><b>{{py:math.sub({{py:current_hp(0)}},{{py:current_hp(1)}})}}</b></font>" }, ... } } Значение с минусом - перевес по запасу прочности в пользу противника, значение динамически окрашивается. что то у меня не получается, или я не совсем понял способ установки. Я скачал фраг корелейшен версию 1, там было два конфиг файла, бэтл лейбл, и бэтл лейбл тимплейтс, я аккуратно из них блоки перенес в свои подобные файлы, плюс туда же добавил то что Вы написали на счет раззницы ХП противника в этьом сообщении. В результате этого оказалось мало, я должен еще какие то файлы как то откуда то куда то, что то сделать, и т.п.. ЯННП. Из того что я попробовал еще сделать, я скачал с первого поста топика еще архив, и взял от туда папку XVM_Configs\configs\xvm\py_macro и закинул опять же в свою папку py_macro сейчас ругается на @settings я в силу возможностей немного разбираюсь в макросах на дилетанском уровне, но тут я уже перестал ловить мысль, что куда, как и зачем Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361848 Posted October 24, 2016 (edited) я уже перестал ловить мысль, что куда, как и зачем сейчас ругается на @settings Это ссылка на переключатели определенных компонентов, для быстрого их включения/отключения в моем конфиге. '@settings.xc' { "settings": { "battleLabels": { "damageLog": { "damage_log": false, "timer_reload": false, "last_hit": false, "total_efficiency": false }, "info_panel": false, "total_hp_panel": false }, "markers": { "squad_number": false, "lowHp_marker": true, "xmqp_marker": false }, "playersPanel": { "xmqp_marker": false, "spotted_marker": true, "hp_panels": { "short": false, "medium": false, "medium2": false, "large": false } } } } Сделано для удобства, конечному пользователю всего лишь нужно будет прописать либо "true" либо "false", а не копаться в дебрях всего конфига. я аккуратно из них блоки перенес в свои подобные файлы При переносе в свой конфиг нужно заменить все ссылки вида (в "battleLabelsTemplates"): "enabled": ${"@settings.xc":"settings.battleLabels.damageLog.damage_log"}, На: "enabled": true, Edited October 24, 2016 by night_dragon_on Share this post Link to post Short link Share on other sites
Etlau 17 #361849 Posted October 24, 2016 (edited) взял себе закинул файлик @settings { "settings": { "battleLabels": { "damageLog": { "damage_log": false, "timer_reload": false, "last_hit": false, "total_efficiency": false }, "info_panel": false, "total_hp_panel": true }, "markers": { "squad_number": false, "lowHp_marker": false, "xmqp_marker": false }, "playersPanel": { "xmqp_marker": false, "spotted_marker": false, "hp_panels": { "short": false, "medium": false, "medium2": false, "large": false } } } } вылезла вторая панель с логом накиданного урона по врагам, но панели общего ХП все еще нет :) Edited October 24, 2016 by Etlau Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361851 Posted October 24, 2016 (edited) но панели общего ХП все еще нет Ответ выше. вылезла вторая панель с логом накиданного урона по врагам Не нужно было копировать все поля из "battleLabelsTemplates", для первого варианта панели достаточно 4-х блоков: "panel_hp_ally", "panel_hp_enemy", "high_сaliber", "avg_damage" P.S.: Скриншоты к сообщениям прячем "под спойлер" дабы не загромождать большую часть страницы. Edited October 24, 2016 by night_dragon_on Share this post Link to post Short link Share on other sites
Etlau 17 #361855 Posted October 24, 2016 (edited) пффф, а теперь что не так? battleLabelsTemplates.xc /** * Battle inteface text fields. * Текстовые поля боевого интерфейса. */ { "def": { /** TODO: update format description to ExtraFields format. Set of formats fields available for configuring (default value applyed, when parameter is not defined): Набор форматов полей доступных для настройки (значение по-умолчанию применяется, если параметр не указан): ┌────────────────────────────┬────────────────────────────────────────────────────────────────────────── │ Parameters / Параметры │ Description / Описание ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "enabled" │ enable/disable field creation: true or false (default: false) │ │ включить/отключить создание полей: true or false (по-умолчанию: false) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "updateEvent" │ events on which field updates, use with dynamic macros; to disable define null value or delete parameter; │ │ multiple events separated by comma │ │ события по которому обновляется поле, используйте динамические макросы; для отключения используйте значение null или удалите параметр; │ │ несколько событий разделяются запятой │ │ доступные события: │ │ allowed events: │ │ ON_BATTLE_STATE_CHANGED │ │ ON_PLAYERS_HP_CHANGED │ │ ON_VEHICLE_DESTROYED │ │ ON_CURRENT_VEHICLE_DESTROYED │ │ ON_MODULE_CRITICAL │ │ ON_MODULE_DESTROYED │ │ ON_MODULE_REPAIRED │ │ ON_DAMAGE_CAUSED │ │ ON_DAMAGE_CAUSED_ALLY │ │ ON_TARGET_IN - aim at the vehicle │ │ ON_TARGET_OUT - aim not at the vehicle │ │ ON_PANEL_MODE_CHANGED │ │ ON_EVERY_FRAME * can reduce performance │ │ ON_EVERY_SECOND * can reduce performance │ │ PY(event_name) - event from python, sent by as_event(event_name) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "mouseEvents" │ the events handlers must be binded using the function as_callback(event_name) │ { │ обработчики событий должны быть привязаны с помощью функции as_callback(event_name) │ "click" │ event is sent when the mouse button clicked inside the field │ │ событие отправляется при клике мышкой внутри поля │ "mouseDown" │ event is sent when the mouse button pressed inside the field │ │ событие отправляется при нажатии кнопки мышки внутри поля │ "mouseUp" │ event is sent when the mouse button released inside the field │ │ событие отправляется при отжатии кнопки мышки внутри поля │ "mouseOver" │ event is sent when the mouse pointer enters the field │ │ событие отправляется при перемещении курсора мыши на поле │ "mouseOut" │ event is sent when the mouse pointer leaves the field │ │ событие отправляется при перемещении курсора мыши из поля │ "mouseMove" │ event is sent when mouse pointer moves inside the field │ │ событие отправляется при перемещении курсора мыши внутри поля │ "mouseWheel" │ event is sent when mouse wheel rolled inside the field │ } │ событие отправляется при прокручивании колеса мыши внутри поля ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "hotKeyCode" │ keyboard key code (see list in hotkeys.xc), when pressed - switches text field to show and apply configured html in "format", or hide; │ │ when defined, text field will not be shown until key is pressed, to disable define null value or delete parameter │ │ горячие клавиши клавиатуры (список в hotkeys.xc), при нажатии - выводится текстовое поле и применяются параметры html в "format", или скрывается поле; │ │ текстовое поле не будет отображаться, пока не будет нажата клавиша, для отключения используйте значение null или удалите параметр; ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "onHold" │ false - take action by key click; true - while key is remains pressed (default: false) │ │ false - производит действие по разовому нажатию клавиши; true - по удержанию (по-умолчанию: false) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "visibleOnHotKey" │ true - field visible on hot key pressed; false - vice versa (default: true) │ │ true - поле отображается при нажатии горячей клавиши; false - наоборот (по-умолчанию: true) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "x" │ x position (macros allowed) (default: 0) │ │ положение по оси x (доступно использование макросов) (по-умолчанию: 0) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "y" │ y position (macros allowed) (default: 0) │ │ положение по оси y (доступно использование макросов) (по-умолчанию: 0) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "width" │ width (macros allowed) (default: 0) │ │ ширина элемента (доступно использование макросов) (по-умолчанию: 0) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "height" │ height (macros allowed) (default: 0) │ │ высота элемента (доступно использование макросов) (по-умолчанию: 0) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "alpha" │ transparency in percents (0..100) (macros allowed) (default: 100) │ │ прозрачность элемента, в процентах (0..100) (доступно использование макросов) (по-умолчанию: 100) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "rotation" │ rotation in degrees (0..360) (macros allowed) (default: 0) │ │ поворот элемента, в градусах (доступно использование макросов) (по-умолчанию: 0) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "scaleX" │ scaling axis X in % (use negative values for mirroring) (default: 100) │ │ масштабирование по оси x в % (используйте отрицательные значения для зеркального отображения) (по-умолчанию: 100) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "scaleY" │ scaling axis Y (%, use negative values for mirroring) (default: 100) │ │ масштабирование по оси y (%, используйте отрицательные значения для зеркального отображения) (по-умолчанию: 100) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "align" │ horizontal alignment of the field relative to its position ("left" [default], "center", "right") │ │ горизонтальное выравнивание текстового поля относительно его позиции ("left" [по-умолчанию], "center", "right") ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "valign" │ vertical alignment of the field relative to its position ("top" [default], "center", "bottom") │ │ вертикальное выравнивание текстового поля относительно его позиции ("top" [по-умолчанию], "center", "bottom") ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "screenHAlign" │ horizontal alignment of the field on the screen ("left" [default], "center", "right") │ │ горизонтальное выравнивание поля на экране ("left" [по-умолчанию], "center", "right") ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "screenVAlign" │ vertical alignment of the field on the screen ("top" [default], "center", "bottom") │ │ вертикальное выравнивание поля на экране ("top" [по-умолчанию], "center", "bottom") ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "borderColor" │ if set, draw border with specified color (macros allowed) (default: null) │ │ окрашивает границу в заданный цвет, если установлен (доступно использование макросов) (по-умолчанию: null) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "bgColor" │ if set, draw background with specified color (macros allowed) (default: null) │ │ окрашивает фон в заданный цвет, если установлен (доступно использование макросов) (по-умолчанию: null) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "antiAliasType" │ sets anti-aliasing to advanced anti-aliasing ("advanced" [default] or "normal") │ │ задает использование расширенных возможностей сглаживания ("advanced" [по-умолчанию] or "normal") ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "shadow" │ shadow settings, defaults: │ │ настройки тени, значение по умолчанию: │ │ │ │ "shadow": { "enabled": true, "distance": 0, "angle": 0, "color": "0x000000", "alpha": 75, "blur": 2, "strength": 1 } │----------------------------│-------------------------------------------------------------------------- │ "distance" │ distance shadow, in pixels (default: 0) │ │ дистанция тени, в пикселях (по-умолчанию: 0) │----------------------------│-------------------------------------------------------------------------- │ "angle" │ angle shadow (0.0 .. 360.0) (default: 0) │ │ угол смещения тени, в градусах (по-умолчанию: 0) │----------------------------│-------------------------------------------------------------------------- │ "color" │ color shadow ("0xXXXXXX") (default: "0x000000") │ │ цвет тени ("0xXXXXXX") (по-умолчанию: "0x000000") │----------------------------│-------------------------------------------------------------------------- │ "alpha" │ shadow alpha (0 .. 100) (default: 75) │ │ прозрачность тени (0 .. 100) (по-умолчанию: 75) │----------------------------│-------------------------------------------------------------------------- │ "blur" │ blur shadow (0.0 .. 255.0) (default: 2) │ │ эффект размывки тени (0.0 .. 255.0) (по-умолчанию: 2) │----------------------------│-------------------------------------------------------------------------- │ "strength" │ strength shadow (0.0 .. 255.0) (default: 1) │ │ интенсивность тени (0.0 .. 255.0) (по-умолчанию: 1) │----------------------------│-------------------------------------------------------------------------- │ "hideObject" │ Indicates whether or not the object is hidden. The value true indicates that the object itself is not drawn; only the shadow is visible. The default is false (the object is shown). │ │ Определяет, является ли объект скрытым. Значение true указывает на то, что сам объект не нарисован, видна только его тень. Значение по умолчанию — false (объект отображается). │----------------------------│-------------------------------------------------------------------------- │ "inner" │ Indicates whether or not the shadow is an inner shadow. The value true indicates an inner shadow. The default is false, an outer shadow (a shadow around the outer edges of the object). │ │ Определяет, является ли тень внутренней тенью. Значение true указывает на наличие внутренней тени. Значение по умолчанию false задает внешнюю тень (тень вокруг внешнего контура объекта). │----------------------------│-------------------------------------------------------------------------- │ "knockout" │ Applies a knockout effect (true), which effectively makes the object's fill transparent and reveals the background color of the document. The default is false (no knockout). │ │ Применяет эффект выбивки (true), который фактически делает заливку объекта прозрачной и выявляет цвет фона документа. Значение по умолчанию — false (без выбивки). │----------------------------│-------------------------------------------------------------------------- │ "quality" │ The number of times to apply the filter. The default value is 1 (applying the filter once). Although you can use additional numeric values up to 15 to achieve different effects, higher values are rendered more SLOWLY. │ │ Заданное число применений фильтра. Значение по умолчанию — 1 (однократное применение фильтра). Можно использовать дополнительные числовые значения до 15 для получения разнообразных эффектов, более высокие значения выполняются ДОЛЬШЕ. ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "textFormat" │ it applies global style to HTML in "format"; note, that defined font attributes in "format" override those in "textFormat" │ │ применяет глобальный стиль HTML в "format"; обратите внимание, что определенные атрибуты шрифта в "format" переопределяют "textFormat" │ │ field default styles, defaults: │ │ стандартный стиль поля, значение по умолчанию: │ │ │ │ "textFormat": { "font": "$FieldFont", "color": "0xFFFFFF", "size": 12, "align": "left", "valign": "top", "bold": false, "italic": false, "underline": false, "display": "block", "leading": 0, "marginLeft": 0, "marginRight": 0 }, │----------------------------│-------------------------------------------------------------------------- │ "font" │ font name (default: "$FieldFont") │ │ наименование шрифта (по-умолчанию: "$FieldFont") │----------------------------│-------------------------------------------------------------------------- │ "color" │ font color ("0xXXXXXX") (default: "0xFFFFFF") │ │ цвет шрифта ("0xXXXXXX") (по-умолчанию: "0xFFFFFF") │----------------------------│-------------------------------------------------------------------------- │ "size" │ font size (default: 12) │ │ размер шрифта (по-умолчанию: 12) │----------------------------│-------------------------------------------------------------------------- │ "align" │ horizontal alignment of the text inside the field (left [default], center, right) │ │ горизонтальное выравнивание текста текста внутри поля (left [по-умолчанию], center, right) │----------------------------│-------------------------------------------------------------------------- │ "valign" │ vertical alignment of the text inside the field ("top" [default], "center", "bottom") │ │ вертикальное выравнивание текста внутри поля ("none" [по-умолчанию], "top", "center", "bottom") │----------------------------│-------------------------------------------------------------------------- │ "bold" │ true - bold (default: false) │ │ true - жирный (по-умолчанию: false) │----------------------------│-------------------------------------------------------------------------- │ "italic" │ true - italic (default: false) │ │ true - курсив (по-умолчанию: false) │----------------------------│-------------------------------------------------------------------------- │ "underline" │ true - underline (default: false) │ │ true - подчеркивание (по-умолчанию: false) │----------------------------│-------------------------------------------------------------------------- │ "display" │ defines how element must be showed (inline, block [default], none) │ │ указывает как именно элемент должен быть показан (inline, block [по-умолчанию], none) │----------------------------│-------------------------------------------------------------------------- │ "leading" │ space between lines, similarly (<textformat leading='-XX'>...</textformat>) (default: 0) │ │ пространство между строками, аналогично (<textformat leading='-XX'>...</textformat>) (по-умолчанию: 0) │----------------------------│-------------------------------------------------------------------------- │ "marginLeft" │ indent left, similarly (<textformat lefMargin='XX'>...</textformat>) (default: 0) │ │ отступ слева, аналогично (<textformat lefMargin='XX'>...</textformat>) (по-умолчанию: 0) │----------------------------│-------------------------------------------------------------------------- │ "marginRight" │ indent left, similarly (<textformat rightMargin='XX'>...</textformat>) (default: 0) │ │ отступ справа, аналогично (<textformat rightMargin='XX'>...</textformat>) (по-умолчанию: 0) ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "src" │ display image │ │ отображение изображения ├────────────────────────────┼────────────────────────────────────────────────────────────────────────── │ "format" │ displayed text field data (HTML allowed, macros allowed) (default: "") │ │ отображаемые данные в текстовых полях (доступно использование HTML и макросов) (по-умолчанию: "") └────────────────────────────┴────────────────────────────────────────────────────────────────────────── */ "hitlogHeader": { "enabled": true, "updateEvent": "ON_DAMAGE_CAUSED, ON_PANEL_MODE_CHANGED", "x": "{{pp.mode=0?5|{{py:math.sum({{pp.widthLeft}},50)}}}}", "y": "{{pp.mode=0?65|40}}", "width": 500, "height": 1000, "textFormat": { "color": "0xF4EFE8", "size": 15 }, "format": "{{hitlog-header}}" // Format of the full hitlog (header and body) // Формат полного хит-лога (шапка и тело) // "format": "{{hitlog-header}}\n{{hitlog-body}}" }, "hitlogBody": { "enabled": true, "hotKeyCode": 56, "onHold": "true", "visibleOnHotKey": false, "updateEvent": "ON_DAMAGE_CAUSED, ON_PANEL_MODE_CHANGED", "x": "{{pp.mode=0?5|{{py:math.sum({{pp.widthLeft}},50)}}}}", "y": "{{pp.mode=0?85|60}}", "width": 500, "height": 1000, "textFormat": { "color": "0xF4EFE8", "size": 15 }, "format": "{{hitlog-body}}" }, "totalHP": { "enabled": false, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 0, "y": 30, "screenHAlign": "center", "align": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "font": "mono", "size": 18, "align": "center" }, "format": "{{py:xvm.total_hp.text}}" }, "avgDamage": { "enabled": false, "updateEvent": "ON_DAMAGE_CAUSED", "x": -170, "y": 30, "screenHAlign": "center", "align": "right", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "size": 15, "align": "center" }, "format": "{{py:xvm.total_hp.avgDamage('{{l10n:avgDamage}}: ',{{hitlog.dmg-total}})}}" }, "mainGun": { "enabled": false, "updateEvent": "ON_DAMAGE_CAUSED, ON_DAMAGE_CAUSED_ALLY", "x": 170, "y": 30, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "size": 15, "align": "center" }, "format": "{{py:xvm.total_hp.mainGun('{{l10n:mainGun}}: ',{{hitlog.dmg-total}})}}" }, "winChance": { "enabled": false, "updateEvent": "ON_VEHICLE_DESTROYED", "x": 230, "y": 2, "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "size": 15 }, "format": "{{xvm-stat?{{l10n:Team strength}}: {{py:xvm.team_strength('{{allyStrengthStatic}}','{{enemyStrengthStatic}}')}} / {{py:xvm.team_strength('{{allyStrengthLive}}','{{enemyStrengthLive}}')}}}}" }, "damageLog": { "enabled": true, "updateEvent": "PY(ON_HIT)", "x": 240, "y": 50, "width": 300, "height": 233, "screenVAlign": "bottom", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": { "color": "0xF4EFE8", "size": 16 }, "format": "{{py:xvm.damageLog.dLog}}" }, "timerReload": { "enabled": true, "updateEvent": "PY(ON_TIMER_RELOAD)", "x": 240, "y": 0, "width": 300, "height": 252, "screenVAlign": "bottom", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": { "color": "0xF4EFE8", "size": 16 }, "format": "{{py:xvm.damageLog.timerReload}}" }, "lastHit": { "enabled": true, "updateEvent": "PY(ON_LAST_HIT)", "x": -120, "y": 200, "width": 200, "height": 100, "screenHAlign": "center", "screenVAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": {"align": "center", "color": "0xF4EFE8", "size": 16 }, "format": "{{py:xvm.damageLog.lastHit}}" }, "fire": { "enabled": false, "updateEvent": "PY(ON_FIRE)", "x": 120, "y": 200, "width": 200, "height": 100, "alpha": "{{py:xvm.damageLog.fire}}", "screenHAlign": "center", "screenVAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": {"align": "center", "color": "0xF4EFE8", "size": 16 }, "format": "ПОЖАР" }, "test": { "enabled": true, "y": -170, "width": 200, "height": 70, "alpha": 70, "screenHAlign": "center", "screenVAlign": "bottom", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "strength": 5}, "textFormat": { "color": "{{battleType=1?0x00FFFF|0xFFFF00}}", "size": 25, "align": "center", "bold": true, "leading": -1, "marginLeft": 2, "marginRight": 2 }, "format": "This is a demo of XVM text fields on battle interface. You may disable it in battle.xc<br/> Press '<font color='#60FF00'>J</font>' hot-key to show info field" }, "test2": { "enabled": true, "hotKeyCode": 36, "updateEvent": "ON_TARGET_IN,ON_TARGET_OUT", "y": -70, "width": 310, "height": 50, "alpha": 70, "screenHAlign": "center", "screenVAlign": "bottom", "bgColor": "0x000000", "borderColor": "0x101009", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "strength": 8}, "textFormat": { "color": "0x60FF00", "size": 15, "align": "center", "marginLeft": 2, "marginRight": 2}, "format": "<font color='#FFFFFF'><b>Info text field (XTE: <font color='{{c:xte}}'>{{xte}}</font>)</b></font><br/>Battle tier:<font color='#ff1aff'> {{battletier}}</font> <p align='right'>Vehicle: <font color='#ff1aff'>{{vehicle}}</font> (<font color='{{c:t-winrate}}'>{{t-winrate%2d}}%</font>)</p>" }, // Rewritable default format // Перезаписываемый формат по-умолчанию "defaultTimeItem": { "width": 47, "height": 40, "screenHAlign": "left", "screenVAlign": "bottom", //"borderColor": "0xFFFFFF", "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 4 }, "textFormat": { "color": "0xF4EFE8", "size": 17, "align": "center", "valign": "center" } }, // Repair timer for engine // Таймер ремонта двигателя "repairTimeEngine": { "$ref": { "path":"def.defaultTimeItem" }, "enabled": true, "updateEvent": "PY(ON_ENGINE_UPDATE)", "x": 4, "y": -146, "format": "<b>{{py:repairTimeEngine%0.1f}}</b>" }, // Repair timer for gun // Таймер ремонта орудия "repairTimeGun": { "$ref": { "path":"def.defaultTimeItem" }, "enabled": true, "updateEvent": "PY(ON_GUN_UPDATE)", "x": 4, "y": -69, "format": "<b>{{py:repairTimeGun%0.1f}}</b>" }, // Repair timer for turret rotator // Таймер ремонта механизма поворота башни "repairTimeTurret": { "$ref": { "path":"def.defaultTimeItem" }, "enabled": true, "updateEvent": "PY(ON_TURRET_UPDATE)", "x": 4, "y": -30, "format": "<b>{{py:repairTimeTurret%0.1f}}</b>" }, // Repair timer for tracks // Таймер ремонта сбитых гусениц "repairTimeTracks": { "$ref": { "path":"def.defaultTimeItem" }, "enabled": true, "updateEvent": "PY(ON_TRACKS_UPDATE)", "x": 177, "y": -146, "format": "<b>{{py:repairTimeTracks%0.1f}}</b>" }, // Repair timer for surveying device // Таймер ремонта приборов наблюдения "repairTimeSurveying": { "$ref": { "path":"def.defaultTimeItem" }, "enabled": true, "updateEvent": "PY(ON_SURVEYING_UPDATE)", "x": 177, "y": -107, "format": "<b>{{py:repairTimeSurveying%0.1f}}</b>" }, "panel_hp_ally": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": -163, "y": 5, "width": 240, "height": 22, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "font": "NDO", "size": 18, "color": "0xFCFCFC", "align": "right", "marginRight": 6, "leading": -19 }, "format": "{{battletype!=event_battles?<font size='17'><b>{{py:current_hp(0)}}</b></font> <font alpha='#CC'>{{py:max_hp_symbols('Q')}}</font><br/><font color='{{py:str_replace('{{.colors.system.ally_alive}}', '0x', '#')}}'>{{py:current_hp_symbols(0, 'Q')}}</font>}}" }, "panel_hp_enemy": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 160, "y": 5, "width": 240, "height": 22, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "font": "NDO", "size": 18, "color": "0xFCFCFC", "align": "left", "marginLeft": 2, "leading": -19 }, "format": "{{battletype!=event_battles?<font alpha='#CC'>{{py:max_hp_symbols('R')}}</font> <font size='17'><b>{{py:current_hp(1)}}</b></font><br/><font color='{{py:str_replace('{{.colors.system.enemy_alive}}', '0x', '#')}}'>{{py:current_hp_symbols(1, 'R')}}</font>}}" }, "high_сaliber": { "enabled": true, "updateEvent": "ON_DAMAGE_CAUSED", "hotKeyCode": 56, "onHold": true, "visibleOnHotKey": false, "x": 0, "y": 30, "width": 120, "height": 50, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "font": "NDO", "size": 17, "color": "0xFCFCFC", "align": "center" }, "format": "{{battletype!=event_battles?<b>{{py:high_сaliber({{hitlog.dmg-total}})}}</b>}}" }, "avg_damage": { "enabled": true, "updateEvent": "ON_DAMAGE_CAUSED", "hotKeyCode": 56, "onHold": true, "visibleOnHotKey": true, "x": 0, "y": 30, "width": 120, "height": 50, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "font": "NDO", "size": 17, "color": "0xFCFCFC", "align": "center" }, "format": "{{battletype!=event_battles?<b>{{py:avg_damage({{hitlog.dmg-total}})}}</b>}}" }, "sign_hp": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 0, "y": 80, "width": 70, "height": 24, "alpha": 100, "align": "center", "screenHAlign": "center", "antiAliasType": "advanced", "shadow": { "enabled": true, "distance": 0, "angle": 0, "color": "0x000000", "alpha": 50, "blur": 4, "strength": 1.5 }, "textFormat": { "size": 16, "color": "0xFCFCFC", "align": "center" }, "format": "<font color='#{{py:color_sign_hp}}'><b>{{py:math.sub({{py:current_hp(0)}},{{py:current_hp(1)}})}}</b></font>" } } } battleLabels.xc /** * List of battle interface labels. * Список текстовых полей боевого интерфейса. */ { "labels": { // Referenced labels. Note, that every custom field can be separate enabled or disabled by "enabled" switch in their settings // Подключенные текстовые поля. Обратите внимание, что кастомные поля можно отдельно отключать и включать с помощью "enabled" в их настройках "formats": [ ${ "battleLabelsTemplates.xc":"def.hitlogHeader" }, ${ "battleLabelsTemplates.xc":"def.hitlogBody" }, ${ "battleLabelsTemplates.xc":"def.winChance" }, ${ "battleLabelsTemplates.xc":"def.totalHP" }, ${ "battleLabelsTemplates.xc":"def.avgDamage" }, ${ "battleLabelsTemplates.xc":"def.mainGun" }, ${ "battleLabelsTemplates.xc":"def.damageLog" }, ${ "battleLabelsTemplates.xc":"def.timerReload" }, ${ "battleLabelsTemplates.xc":"def.lastHit" }, ${ "battleLabelsTemplates.xc":"def.fire" }, ${ "battleLabelsTemplates.xc":"def.repairTimeEngine" }, ${ "battleLabelsTemplates.xc":"def.repairTimeGun" }, ${ "battleLabelsTemplates.xc":"def.repairTimeTurret" }, ${ "battleLabelsTemplates.xc":"def.repairTimeTracks" }, ${ "battleLabelsTemplates.xc":"def.repairTimeSurveying"}, ${ "battleLabelsTemplates.xc":"def.hitlog" }, ${ "battleLabelsTemplates.xc":"def.damage_log" }, ${ "battleLabelsTemplates.xc":"def.timer_reload" }, ${ "battleLabelsTemplates.xc":"def.last_hit" }, ${ "battleLabelsTemplates.xc":"def.total_efficiency" }, ${ "battleLabelsTemplates.xc":"def.info_panel_bg" }, ${ "battleLabelsTemplates.xc":"def.info_panel" }, ${ "battleLabelsTemplates.xc":"def.panel_hp_ally" }, ${ "battleLabelsTemplates.xc":"def.panel_hp_enemy" }, ${ "battleLabelsTemplates.xc":"def.high_сaliber" }, ${ "battleLabelsTemplates.xc":"def.avg_damage" }, ${ "battleLabelsTemplates.xc":"def.sign_hp" } //${ "battleLabelsTemplates.xc":"def.test" }, //${ "battleLabelsTemplates.xc":"def.test2" } ] } } Ответ выше. Не нужно было копировать все поля из "battleLabelsTemplates", для первого варианта панели достаточно 4-х блоков: "panel_hp_ally", "panel_hp_enemy", "high_сaliber", "avg_damage" P.S.: Скриншоты к сообщениям прячем "под спойлер" дабы не загромождать большую часть страницы. кстати, мне нужна для каких то нужд этой панели папка WoT\res_mods\fonts ? Такс, удалил с battleLabels.xc следующие строки, ошибка перестала вылазить, но панель счета не появилась, зато появилась разница в ХП команд: ${ "battleLabelsTemplates.xc":"def.hitlog" }, ${ "battleLabelsTemplates.xc":"def.damage_log" }, ${ "battleLabelsTemplates.xc":"def.timer_reload" }, ${ "battleLabelsTemplates.xc":"def.last_hit" }, ${ "battleLabelsTemplates.xc":"def.total_efficiency" }, ${ "battleLabelsTemplates.xc":"def.info_panel_bg" }, ${ "battleLabelsTemplates.xc":"def.info_panel" }, Edited October 24, 2016 by Etlau Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361858 Posted October 24, 2016 (edited) а теперь что не так? В логе же написано, дословный перевод "Не найден ключ с наименованием hitlog" 'battleLabels.xc' /** * List of battle interface labels. * Список текстовых полей боевого интерфейса. */ { "labels": { // Referenced labels. Note, that every custom field can be separate enabled or disabled by "enabled" switch in their settings // Подключенные текстовые поля. Обратите внимание, что кастомные поля можно отдельно отключать и включать с помощью "enabled" в их настройках "formats": [ ${ "battleLabelsTemplates.xc":"def.hitlogHeader" }, ${ "battleLabelsTemplates.xc":"def.hitlogBody" }, ${ "battleLabelsTemplates.xc":"def.winChance" }, ${ "battleLabelsTemplates.xc":"def.totalHP" }, ${ "battleLabelsTemplates.xc":"def.avgDamage" }, ${ "battleLabelsTemplates.xc":"def.mainGun" }, ${ "battleLabelsTemplates.xc":"def.damageLog" }, ${ "battleLabelsTemplates.xc":"def.timerReload" }, ${ "battleLabelsTemplates.xc":"def.lastHit" }, ${ "battleLabelsTemplates.xc":"def.fire" }, ${ "battleLabelsTemplates.xc":"def.repairTimeEngine" }, ${ "battleLabelsTemplates.xc":"def.repairTimeGun" }, ${ "battleLabelsTemplates.xc":"def.repairTimeTurret" }, ${ "battleLabelsTemplates.xc":"def.repairTimeTracks" }, ${ "battleLabelsTemplates.xc":"def.repairTimeSurveying"}, // ${ "battleLabelsTemplates.xc":"def.panel_hp_ally" }, ${ "battleLabelsTemplates.xc":"def.panel_hp_enemy" }, ${ "battleLabelsTemplates.xc":"def.high_сaliber" }, ${ "battleLabelsTemplates.xc":"def.avg_damage" }, ${ "battleLabelsTemplates.xc":"def.sign_hp" } //${ "battleLabelsTemplates.xc":"def.test" }, //${ "battleLabelsTemplates.xc":"def.test2" } ] } } кстати, мне нужна для каких то нужд этой панели папка WoT\res_mods\fonts ? но панель счета не появилась Поэтому и панель не отображается нет необходимых символов для ее отображения, которые находятся в шрифте. Edited October 24, 2016 by night_dragon_on Share this post Link to post Short link Share on other sites
Etlau 17 #361861 Posted October 24, 2016 (edited) Поэтому и панель не отображается нет необходимых символов для ее отображения, которые находятся в шрифте. ммм, я папку с шрифтами скопировал себе уже, при запусках реплея с которого я делал скриншоты, папка с шрифтом уже была по месту \WoT\res_mods\fonts может я еще что то недоскопировал? :( я себе перетащил: 1) добавил в два конфиг файла рекомендуемые макросы 2) положил папку с шрифтами по месту \WoT\res_mods\fonts 3) в конфиг файлах поправил ссылки на файл @settings (а точнее убрал их и вписал true, как рекомендовали) 4) скопировал в полном объёме содержимое \XVM_Configs\configs\xvm\py_macro (папка NDO_scripts и файл NDO_scripts.py) Edited October 24, 2016 by Etlau Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361864 Posted October 24, 2016 (edited) 2) положил папку с шрифтами по месту \WoT\res_mods\fonts Их нужно не положить в папку, а установить в систему (при необходимости перезагрузить ПК). Edited October 24, 2016 by night_dragon_on 1 Share this post Link to post Short link Share on other sites
Etlau 17 #361867 Posted October 24, 2016 так, минутку, или мне надо фонты добавить в систему?! Их нужно не положить в папку, а установить в систему (при необходимости перезагрузить ПК). тьфу ты, только что доперло :) щас попробую ) нет, не помогло, установил, перегрузил, панели нет Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361868 Posted October 24, 2016 перегрузил, панели нет Прикрепи папку с конфигом (всю папку включая макросы). Share this post Link to post Short link Share on other sites
Etlau 17 #361872 Posted October 24, 2016 Прикрепи папку с конфигом (всю папку включая макросы). вот, спасибо большое что тратите на меня своё время, мне немного даже не удобно так тупить :) xvm.zip Share this post Link to post Short link Share on other sites
FM78 5 #361876 Posted October 24, 2016 (edited) Если все правильно нашел, то там твои правки: Так точно, без них уже просто не могу. После каждых обнов мучаюсь, устанавливаю... Сейчас, наверное, опять придется ... (Если правильно понял архивчик в посте с апдейтом с моими правками? Нужно просто его накатывать после установки новой сборки, так?) Edited October 24, 2016 by FM78 Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361878 Posted October 24, 2016 (edited) вот, спасибо большое что тратите на меня своё время, мне немного даже не удобно так тупить :) Банально не отображалось из-за того что в файле "texts.xc" не были прописаны наименования для режимов боев. Почистил код от лишнего, пользуйтесь: xvm.zip Нужно просто его накатывать после установки новой сборки, так?) Да. Edited October 24, 2016 by night_dragon_on 1 Share this post Link to post Short link Share on other sites
Etlau 17 #361879 Posted October 24, 2016 (edited) Банально не отображалось из-за того что в файле "texts.xc" не были прописаны наименования для режимов боев. Почистил код от лишнего, пользуйтесь: xvm.zip огромное спасибо! :) просто класс, еще минус один отдельный мод, решенный функционалом ХВМ :) Edited October 24, 2016 by Etlau Share this post Link to post Short link Share on other sites
VaDI4M 2 #361889 Posted October 24, 2016 (edited) вопрос : в связи с тем, что не имею времени разбираться с обновлениями хвм, и твой классный конфиг чуть покрутил для себя, можно ли, всё время продолжать использовать xvm-6.4.6.2 с готовым, старым, проверенным и настроенным конфигом ??? т.е. игнорировать обновы xvm и больше не трогать конфиг :) всё и так уже есть, что необходимо..... играть некогда, а тут ещё обновы и обновы... до глобальных изменений работать будет? или возможен такой вариант : ты пишешь, я вознаграждаю ? я электрослесарь а не копатель тонкостей в notepad++ Edited October 24, 2016 by VaDI4M© Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #361891 Posted October 24, 2016 (edited) всё время продолжать использовать xvm-6.4.6.2 с готовым, старым, проверенным и настроенным конфигом Можно, но лишь до того момента пока ВГ не выкатят микропатч/обнову где будут отредактированы флеш-файлы которые XVM пропатчивает и использует для работы, т.е. пока клиент будет с ним запускаться. Но как по мне каждое обновление приносит исправление предыдущих ошибок и внесение нового функционала, обновление стоит того. Edited October 24, 2016 by night_dragon_on Share this post Link to post Short link Share on other sites
VaDI4M 2 #361893 Posted October 24, 2016 тогда плохо! может глянешь? плиз Share this post Link to post Short link Share on other sites