Перейти к содержимому

Фото

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


  • Чтобы отвечать, сперва войдите на форум
22 ответов в теме

#1 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 17:08

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

/**
* 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" }
    ]
  }
}

Изменено: sirmax, 22 Июль 2016 - 17:09

  • 1

#2 demon2597

demon2597

    конфигОратор

  • Premium Member
  • 14 305 сообщений
  • Nick:demon2597
  • WoT Server:RU (Русский)
  • Город: Иваново

Опубликовано 22 Июль 2016 - 17:59

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


  • 0

#3 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 19:34

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

"enabled": true,

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

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

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

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

 

И так по всем.


  • 0

#4 Kapany3uk

Kapany3uk

    07.10.15 Родилась внучка!

  • Пользователь
  • 2 720 сообщений
  • Nick:Kapany3uk
  • WoT Server:RU (Русский)
  • Город: дер. Осеченки

Опубликовано 22 Июль 2016 - 20:15

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

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

#5 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 20:19

ок, мнение понятно, кто еще?


  • 0

#6 ktulho

ktulho
  • Premium Member
  • 3 670 сообщений
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 20:42

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


  • 0

#7 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 20:53

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


  • 0

#8 ktulho

ktulho
  • Premium Member
  • 3 670 сообщений
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 21:13

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


  • 0

#9 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 22 Июль 2016 - 22:42

опции это "x", "y", "color ", "alpha" и т.д.?

да


  • 0

#10 ktulho

ktulho
  • Premium Member
  • 3 670 сообщений
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 12:41

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

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


Изменено: ktulho, 23 Июль 2016 - 13:28

  • 0

#11 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 13:00

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

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

 

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


  • 0

#12 ktulho

ktulho
  • Premium Member
  • 3 670 сообщений
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 13:47

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


  • 0

#13 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 14:06

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


  • 0

#14 ktulho

ktulho
  • Premium Member
  • 3 670 сообщений
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 14:48

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

Аа, действительно проблема. Похоже, выше, я погорячился, что не нужны макросы. В 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",    

Изменено: ktulho, 23 Июль 2016 - 14:50

  • 0

#15 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 14:54

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

 

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


  • 0

#16 ktulho

ktulho
  • Premium Member
  • 3 670 сообщений
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 15:19

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

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


Изменено: ktulho, 23 Июль 2016 - 15:25

  • 0

#17 demon2597

demon2597

    конфигОратор

  • Premium Member
  • 14 305 сообщений
  • Nick:demon2597
  • WoT Server:RU (Русский)
  • Город: Иваново

Опубликовано 23 Июль 2016 - 16:42

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

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

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

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

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


Изменено: demon2597, 23 Июль 2016 - 16:51

  • 0

#18 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 736 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 17:11

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

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


  • 0

#19 demon2597

demon2597

    конфигОратор

  • Premium Member
  • 14 305 сообщений
  • Nick:demon2597
  • WoT Server:RU (Русский)
  • Город: Иваново

Опубликовано 23 Июль 2016 - 17:14

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

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


Изменено: demon2597, 23 Июль 2016 - 17:23

  • 0

#20 vlad_cs_sr

vlad_cs_sr

    [aka leecher88]

  • Premium Member
  • 6 337 сообщений
  • Nick:vlad_cs_sr
  • WoT Server:RU (Русский)

Опубликовано 23 Июль 2016 - 18:49

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

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

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

 

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


Изменено: vlad_cs_sr, 23 Июль 2016 - 19:05

  • 0





1 пользователей читают эту тему

0 зарегистрированных, 1 гостей, 0 невидимых

© Mr 13