Jump to content
Korean Random
Sign in to follow this  
sirmax

Макросы в маркерах

Recommended Posts

Давайте определим, в каких полях в маркерах однозначно не может быть макросов, и в каких могут быть только глобальные макросы. Сейчас они прописаны практически везде.

/**
* Options for alive with Alt markers.
* Настройки маркеров для живых с Alt.
*/
{
  // Definitions
  // Шаблоны
  "def": {
    // Floating damage values.
    // Всплывающий урон.
    "damageText": {
      // false - disable / не отображать.
      "enabled": true,
      // Axis field coordinates
      // Положение поля по осям
      "x": 0,
      "y": -67,
      // Opacity (dynamic transparency allowed, see macros.txt).
      // Прозрачность (допускается использование динамической прозрачности, см. macros.txt)
      "alpha": 100,
      // Font options.
      // Параметры шрифта.
      "textFormat": {
        "font": "$FieldFont",           // Font name      / Название
        "size": 18,                     // Font size      / Размер
        // Color (dynamic colors allowed, see macros.txt).
        // Цвет (допускается использование динамического цвета, см. macros.txt)
        "color": null,
        "align": "center",              // Text alignment (left, center, right) /   Выравнивание текста (left, center, right)
        "bold": false,                  // True - bold    / Жирный.
        "italic": false                 // True - italic  / Курсив.
      },
      // Shadow options.
      // Параметры тени.
      "shadow": {
        // false - no shadow
        // false - без тени
        "enabled": true,
        "distance": 0,                  // (in pixels)     / offset distance / дистанция смещения
        "angle": 45,                    // (0.0 .. 360.0)  / offset angle    / угол смещения
        "color": "0x000000",            // "0xXXXXXX"      / color           / цвет
        "alpha": 100,                   // (0 .. 100)      / opacity         / прозрачность
        "blur": 3,                      // (0.0 .. 255.0)  / blur            / размытие
        "strength": 1                   // (0.0 .. 255.0)  / intensity       / интенсивность
      },
      // Rising speed of displayed damage (float up speed).
      // Время отображения отлетающего урона.
      "speed": 2,
      // Maximum distance of target for which damage rises.
      // Расстояние, на которое отлетает урон.
      "maxRange": 40,
      // Text for normal damage (see description of macros in the macros.txt).
      // Текст при обычном уроне (см. описание макросов в macros.txt).
      "damageMessage": "{{dmg}}",
      // Text for ammo rack explosion (see description of macros in the macros.txt).
      // Текст при взрыве боеукладки (см. описание макросов в macros.txt).
      "blowupMessage": "{{l10n:blownUp}}\n{{dmg}}"
    },
    // Text field with the name of the player.
    // Текстовое поле с именем игрока.
    "playerName": {
      "name": "Player name",          // название текстового поля, ни на что не влияет
      "enabled": true,                // false - не отображать
      "x": 0,                         // положение по оси X
      "y": -36,                       // положение по оси Y
      "alpha": 100,                   // прозрачность (допускается использование динамической прозрачности, см. macros.txt)
      // Font options.
      // Параметры шрифта.
      "textFormat": {
        "font": "$FieldFont",         //   название
        "size": 13,                   //   размер
        "color": null,                //   цвет (допускается использование динамического цвета, см. macros.txt)
        "align": "center",            //   выравнивание текста (left, center, right)
        "bold": false,                //   обычный (false) или жирный (true)
        "italic": false               //   обычный (false) или курсив (true)
      },
      // Shadow options.
      // Параметры тени.
      "shadow": {
        // false - no shadow
        // false - без тени
        "enabled": true,
        "distance": 0,                //   дистанция смещения
        "angle": 45,                  //   угол смещения
        "color": "0x000000",          //   цвет
        "alpha": 100,                 //   прозрачность
        "blur": 6,                    //   размытие
        "strength": 2                 //   интенсивность
      },
      "format": "{{nick}}"            //   формат текста. См. описание макросов в macros.txt
    },
    // Text field with the percentage of remaining health.
    // Текстовое поле с процентом оставшегося здоровья.
    "hpPercent": {
      "name": "Percent of HP",
      "enabled": true,
      "x": 0,
      "y": -20,
      "alpha": 100,
      "textFormat": {
        "font": "$FieldFont",
        "size": 11,
        "color": "0xD9D9D9",
        "align": "center",
        "bold": true,
        "italic": false
      },
      "shadow": {
        "enabled": true,
        "distance": 0,
        "angle": 45,
        "color": "0x000000",
        "alpha": 100,
        "blur": 4,
        "strength": 1
      },
      "format": "{{hp-ratio}}% / {{hp-max}}"
    },
    // Text field with rating.
    // Текстовое поле с рейтингом.
    "rating": {
      "name": "Rating",
      "enabled": true,
      "x": 0,
      "y": -48,
      "alpha": 100,
      "textFormat": {
        "font": "$FieldFont",
        "size": 12,
        "color": "{{c:r}}",
        "align": "center",
        "bold": false,
        "italic": false
      },
      "shadow": {
        "enabled": true,
        "distance": 0,
        "angle": 45,
        "color": "0x000000",
        "alpha": 100,
        "blur": 6,
        "strength": 2
      },
      "format": "{{r}}"
    }
  },
  // Настройки для союзников.
  "ally": {
    // Type of vehicle icon (HT/MT/LT/TD/Arty).
    // Иконка типа танка (ТТ/СТ/ЛТ/ПТ/Арта).
    "vehicleIcon": {
      // false - disable / не отображать
      "enabled": true,
      // true - show speaker even if enabled=false
      // true - показывать спикер, даже если enabled=false
      "showSpeaker": false,
      // Axis field coordinates
      // Положение поля по осям
      "x": 0,
      "y": -16,
      // Opacity.
      // Прозрачность.
      "alpha": 100,
      // Maximum scale (default is 100).
      // Максимальный масштаб (по умолчанию 100).
      "maxScale": 100,
      // Offset along the X axis (?)
      // Смещение по оси X (?)
      "offsetX": 0,
      // Offset along the Y axis (?)
      // Смещение по оси Y (?)
      "offsetY": 0
    },
    // Индикатор здоровья.
    "healthBar": {
      "enabled": true,                  //   false - не отображать
      "x": -36,                         //   положение по оси X
      "y": -33,                         //   положение по оси Y
      "alpha": 100,                     //   прозрачность (допускается использование динамической прозрачности, см. macros.txt)
      "color": null,                    //   цвет основной (допускается использование динамического цвета, см. macros.txt)
      "lcolor": null,                   //   цвет дополнительный (для градиента)
      "width": 70,                      //   ширина полосы здоровья
      "height": 12,                     //   высота полосы здоровья
      // Параметры подложки и рамки.
      "border": {
        "alpha": 35,                    //     прозрачность
        "color": "0x000000",            //     цвет
        "size": 1                       //     размер рамки
      },
      // Параметры оставшегося здоровья.
      "fill": {
        "alpha": 45                     //     прозрачность
      },
      // Параметры анимации отнимаемого здоровья.
      "damage": {
        "alpha": 80,                    //     прозрачность
        "color": null,                  //     цвет
        "fade": 1                       //     время затухания в секундах
      }
    },
    // Floating damage values for ally, player, squadman.
    // Всплывающий урон для союзника, игрока, взводного.
    "damageText": {
      "$ref": { "path":"def.damageText" }
    },
    "damageTextPlayer": {
      "$ref": { "path":"def.damageText" }
    },
    "damageTextSquadman": {
      "$ref": { "path":"def.damageText" }
    },
    // Vehicle contour icon.
    // Контурная иконка танка.
    "contourIcon": {
      // false - disable / не отображать.
      "enabled": false,
      // Axis field coordinates.
      // Положение поля по осям.
      "x": 6,
      "y": -65,
      // Opacity (dynamic transparency allowed, see macros.txt).
      // Прозрачность (допускается использование динамической прозрачности, см. macros.txt).
      "alpha": 100,
      // Color (dynamic colors allowed, see macros.txt).
      // Цвет (допускается использование динамического цвета, см. macros.txt).
      "color": null,
      // Color intensity from 0 to 100. The default is 0 (off).
      // Интенсивность цвета от 0 до 100. По умолчанию 0, т.е. выключено.
      "amount": 0
    },
    // Vehicle tier.
    // Уровень танка.
    "levelIcon": {
      "enabled": false,  // false - disable        / не отображать.
      "x": 0,            // Position on the X axis / Положение по оси X.
      "y": -21,          // Position on the Y axis / Положение по оси Y.
      "alpha": 100       // Opacity                / Прозрачность.
    },
    // Markers "Help!" and "Attack!".
    // Маркеры "Нужна помощь" и "Атакую".
    "actionMarker": {
      "enabled": true,   // false - disable        / не отображать.
      "x": 0,            // Position on the X axis / Положение по оси X.
      "y": -67,          // Position on the Y axis / Положение по оси Y.
      "alpha": 100       // Opacity                / Прозрачность.
    },
    // Block of text fields.
    // Блок текстовых полей.
    "textFields": [
      ${ "def.playerName" },
      ${ "def.hpPercent" },
      ${ "def.rating" }
    ]
  },
  // Настройки для противников.
  "enemy": {
    // Type of vehicle icon (HT/MT/LT/TD/Arty).
    // Иконка типа танка (ТТ/СТ/ЛТ/ПТ/Арта).
    "vehicleIcon": {
      "enabled": true,
      "showSpeaker": false,
      "x": 0,
      "y": -16,
      "alpha": 100,
      "maxScale": 100,
      "offsetX": 0,
      "offsetY": 0
    },
    // Индикатор здоровья.
    "healthBar": {
      "enabled": true,
      "x": -36,
      "y": -33,
      "alpha": 100,
      "color": null,
      "lcolor": null,
      "width": 70,
      "height": 12,
      "border": {
        "alpha": 35,
        "color": "0x000000",
        "size": 1
      },
      "fill": {
        "alpha": 50
      },
      "damage": {
        "alpha": 80,
        "color": null,
        "fade": 1
      }
    },
    // Floating damage values for ally, player, squadman.
    // Всплывающий урон для союзника, игрока, взводного.
    "damageText": {
      "$ref": { "path":"def.damageText" }
    },
    "damageTextPlayer": {
      "$ref": { "path":"def.damageText" }
    },
    "damageTextSquadman": {
      "$ref": { "path":"def.damageText" }
    },
    // Vehicle contour icon.
    // Контурная иконка танка.
    "contourIcon": {
      "enabled": false,
      "x": 6,
      "y": -65,
      "alpha": 100,
      "color": null,
      "amount": 0
    },
    // Vehicle tier.
    // Уровень танка.
    "levelIcon": {
      "enabled": false,
      "x": 0,
      "y": -21,
      "alpha": 100
    },
    // Markers "Help!" and "Attack!".
    // Маркеры "Нужна помощь" и "Атакую".
    "actionMarker": {
      "enabled": true,
      "x": 0,
      "y": -67,
      "alpha": 100
    },
    // Block of text fields.
    // Блок текстовых полей.
    "textFields": [
      ${ "def.playerName" },
      ${ "def.hpPercent" },
      ${ "def.rating" }
    ]
  }
}
Edited by sirmax
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

чета не понял тему... или под "в каких полях" имеется в виду " в каких блоках"? поля-то ("textFields") могут быть у всех разные, мало ли чего там понадобится...

Share this post


Link to post

Short link
Share on other sites

"поля" - это все опции нижнего уровня:

 

"enabled": true,

Тут может быть макрос? Да.

Глобальный? Да, например {{xvm-stat?true|false}} или {{r_size=2?13}}

Статический? Да, например {{ally?true|false}}

Динамический? Нет.

 

И так по всем.

Share this post


Link to post

Short link
Share on other sites

Тут может быть макрос?

имхо макросы нужны только в текстовых полях (включая текст отлетающего урона), а в "предустановленных" опциях (левел, иконка, полоса здоровья, маркер действия) не нужно (ну только если для xmqp и то не факт - надо ещё поспрошать)

Share this post


Link to post

Short link
Share on other sites

Могут понадобиться статические макросы для цвета и прозрачности иконок. 

Share this post


Link to post

Short link
Share on other sites

мне надо для каждой опции наподобие тому, что я выше написал. особенно для дополнительных полей.

Share this post


Link to post

Short link
Share on other sites

Тгода свое ИМХО напишу завтра, как доберусь до компьютера. И вопрос: опции это "x", "y", "color ", "alpha" и т.д.?

Share this post


Link to post

Short link
Share on other sites

С точки зрения баланса производительности и функциональности, полностью согласен с мнением @Kapany3uk, макросы нужны только в текстовых полях и отлетающем уроне . Кто захочет использовать макросы в "vehicleIcon", "contourIcon", "levelIcon" и т.д., смогут реализовать их через текстовые поля.

В текстовых полях для всех опций (кроме "font") нужны глобальные и статические макросы. Плюс для опций "color", "alpha", "format" нужны динамические макросы.

Edited by ktulho

Share this post


Link to post

Short link
Share on other sites

Кто захочет использовать макросы в "vehicleIcon", "contourIcon", "levelIcon" и т.д., смогут реализовать их через текстовые поля.

Ок. Для всех полей секций "vehicleIcon", "healthBar", "contourIcon", "levelIcon", "actionMarker" я делаю поддержку только глобальных макросов. Они на производительность не влияют, но дают возможность делать настройки в зависимости от типа боя, или активной статы.

 

Осталось разобраться с "damageText" ("damageTextPlayer", "damageTextSquadman") и "textFields". В них нужно подробней.

Share this post


Link to post

Short link
Share on other sites

Судя по активности в этой теме и отсутствием хотелок на trello, на данный момент маркеры всех устраивают. Поэтому если и стоит вводить новые возможности, то только без ущерба производительности.

Share this post


Link to post

Short link
Share on other sites

Проблема в том, что я не помню, что там новое, а что старое. :)

Share this post


Link to post

Short link
Share on other sites

Проблема в том, что я не помню, что там новое, а что старое. :)

Аа, действительно проблема. Похоже, выше, я погорячился, что не нужны макросы. В default конфиге цвет отнимаемого здоровья задается динамическим макросом:

    // Индикатор здоровья.
    "healthBar": {
      "visible": true,                  //   false - не отображать
      "x": -36,                         //   положение по оси X
      "y": -33,                         //   положение по оси Y
      "alpha": 100,                     //   прозрачность (допускается использование динамической прозрачности, см. macros.txt)
      "color": null,                    //   цвет основной (допускается использование динамического цвета, см. macros.txt)
      "lcolor": null,                   //   цвет дополнительный (для градиента)
      "width": 70,                      //   ширина полосы здоровья
      "height": 12,                     //   высота полосы здоровья
      // Параметры подложки и рамки.
      "border": {
        "alpha": 35,                    //     прозрачность
        "color": "0x000000",            //     цвет
        "size": 1                       //     размер рамки
      },
      // Параметры оставшегося здоровья.
      "fill": {
        "alpha": 45                     //     прозрачность
      },
      // Параметры анимации отнимаемого здоровья.
      "damage": {
        "alpha": 100,                   //     прозрачность
        "color": "{{c:dmg}}",           //     цвет
        "fade": 1                       //     время затухания в секундах
      }
    },

А вот используются глобальный и динамический макросы в опции координат TextFilds:

    // Text field with the XMQP event marker.
    // Текстовое поле с маркером события XMQP.
    "xmqpEvent": {
      "name": "xmqp event",           //  название текстового поля, ни на что не влияет
      "visible": true,                //  false - не отображать
      "x": 0,                         //  положение по оси X
      "y": "{{battletype?-71|{{squad?-71|-56}}}}",  //  положение по оси Y
      "alpha": 100,                   //  прозрачность (допускается использование динамической прозрачности, см. macros.txt)
      "color": "0xFFBB00",    
Edited by ktulho

Share this post


Link to post

Short link
Share on other sites

Меня интересует не столько дефолтный конфиг, сколько вообще потенциальная возможность использования макросов в каждой из опций.

 

healthBar.damage.color - какие тут кроме {{c:dmg}}, {{c:system}} и фиксированного цвета могут быть еще варианты?

Share this post


Link to post

Short link
Share on other sites
healthBar.damage.color - какие тут кроме {{c:dmg}}, {{c:system}} и фиксированного цвета могут быть еще варианты?

Нужны названия конкретных макросов? А я думал типы макросов. Ну тут я вряд ли помогу, у меня с фантазией плохо.

Edited by ktulho

Share this post


Link to post

Short link
Share on other sites
healthBar.damage.color - какие тут кроме {{c:dmg}}, {{c:system}} и фиксированного цвета могут быть еще варианты?

в "textFields" нужны любые макросы для "x", "y", "alpha", "color", для "enabled"- статические и глобальные.

для "damageText" никакие ни разу не использовал, но раз глобальные на производительность не влияют, то можно их разрешить, если статические также- то и их туда.

на счет блоков "vehicleIcon", "contourIcon", "levelIcon", "actionMarker"- согласен с тем что выше решили.

а вот на счет "healthBar" есть давно одна мысль, чтобы можно было более гибко красить цвет в "damage", например: всем- жесткий цвет (я например в белый крашу), но если урон наносит игрок или взводный- для них свойский (динамичемкий по урону)... пока что я не знаю как такое провернуть

Edited by demon2597

Share this post


Link to post

Short link
Share on other sites

а вот на счет "healthBar" есть давно одна мысль, чтобы можно было более гибко красить цвет в "damage", например: всем- жесткий цвет (я например в белый крашу), но если урон наносит игрок или взводный- для них свойский (динамичемкий по урону)... пока что я не знаю как такое провернуть

сейчас в damage.color можно использовать любые макросы

Share this post


Link to post

Short link
Share on other sites
сейчас в damage.color можно использовать любые макросы

ну пусть так и останется. но как реализовать задумку я так и не знаю, загвоздка же в том от кого наносится урон, поэтому player и squad тут не прокатят. идея давняя, но я не нашел способа реализации, а потому просто забил и помалкивал, просто всем покрасив в белый)

Edited by demon2597

Share this post


Link to post

Short link
Share on other sites

я пользую макрос "рэди" для иконки типа техники

// Type of vehicle icon (HT/MT/LT/TD/Arty).
    // Иконка типа танка (ТТ/СТ/ЛТ/ПТ/Арта).
    "vehicleIcon": {
..
      // Opacity.
      // Прозрачность.
      "alpha": "{{ready?100|40}}",
..
    },

он относится к глобальным?

 

упд: а вопще, когда-то хотел полностью маркеры сделать прозрачными по макросу

Edited by vlad_cs_sr

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...