Jump to content
Korean Random

Потеря переменных из блока "def":{


Recommended Posts

В актуальном дефолтном конфиге любопытный эффект.
 

в разделе "def":{ определяются шаблончики. 
Затем в разделе "textFields": {  эти шаблончики вызываются как переменные, вот вместо такой хрени: ${ "def.playerSkillBar" }

должен возникать текст из раздела "def":{
И он возникает, но почему-то не весь. 
К примеру, в этом конфиге маркеров над танчиками прогрессбар с опасностью игрока прорисовывается, а винратио через обращение ${ "def.winsRatio" }, не прорисовывается.
и xmqpEvent я ни разу не видал пока. наверное не влазиет более четырёх полей.

Если же внтури раздела "textFields" разместить на этом месте копипасту из раздела "def":{, то есть сождержимое объекта winsRatio, то строчка с килобоями и прочей байдой тут как тут. 
Как будто не хватает буфера какого-то или что ему ещё не нравится. Не впиховывается.

{
// Definitions
"def": {
"damageText": { ..почикано},
"tankName": { ..почикано },
"playerName": { ..почикано },
"tankHp": { //почикано },

// Текстовое поле со шкалой опасности игрока - цветной прямоугольничек-прогрессбар и проц побед на текущем танке #########################
"playerSkillBar": {
"name": "Player skill",
"visible": true, "x": 0, "y": -11, "alpha": "90",
"color": "{{c:t-rating}}",
"font": {"name": "$FieldFont","size": 10,"align": "center","bold": false,"italic": false},
"shadow": {"alpha": 30,"color": null,"angle": 90,"distance": 0,"size": 6,"strength": 200},
"format": "<img src='xvm://res/icons/skill/{{c:wn8}}.png' height='5'>{{t-rating%.0d%%}}"
},

// Текстовое поле с килобоями, статой и процентом побед на текущем танке #
"winsRatio": {
"name": "wins Ratio",
"visible": true, "x": 0,"y": -46,"alpha": 100,
"color": "{{c:rating}}",
"font": {"name": "$FieldFont","size": 11,"align": "center","bold": true,"italic": false},
"shadow": { "alpha": 100,"color": "0x000000", "angle": 45, "distance": 0,"size": 6,"strength": 200 },
"format": "<font color='{{c:kb}}'>{{kb%2d~k|--k}}</font> <font color='{{c:wn8}}'>{{wn8%4d|--}}</font> <font color='{{c:t-rating}}'>({{t-rating%2d~%}})</font>"
},

// Текстовое поле с маркером события XMQP.
"xmqpEvent": { ..почикано }
},
//##################################################
// Настройки для союзников.
"ally": {
..почикано

"textFields": [
${ "def.tankName" },
${ "def.playerName" },
${ "def.tankHp" },
${ "def.playerSkillBar" },
${ "def.winsRatio" },
${ "def.xmqpEvent" }
]
},

Видимо, та же проблема происходит и в mimimap Circles
вот такая конструкция не работает

	"vRange":	{ "enabled": true, "thickness": 0.5, "alpha": 70, "color": "0x0000ff" },

  "circles": {

...почикано

   "special": [
      // Пример: Круг дальности стрельбы арты
      { "ussr-SU-18": {"$ref": { "path": "vRange" }, "distance": 260 } },


а вот такая работает
 

  "circles": {

...почикано

   "special": [
      // Пример: Круг дальности стрельбы арты
      { "ussr-SU-18": {"enabled": true, "thickness": 0.5, "alpha": 70, "color": "0x0000ff", "distance": 260 } },

Это я поставил ночной билд от 28 Мая 2016 и пыжусь приколотить к нему свои старые конфиговые наработки.

markersAliveNormal.xc

Edited by Yozki
Link to comment
Short link
Share on other sites

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

Link to comment
Short link
Share on other sites

когда же ликвидировал через закомментирование поля из блока textFields, получил текст со статой. Подложка с процентовкой HP у союзников по ходу, стандартная из клиента. Вероятно, стоит убрать все маркеры над техникой из настроек клиента все поля. Их в следующий запуск уберу.

Неясно, отчего не возникло имени игрока от XVM, хотя блочок playerName в текстовых полях стоит и у союзников и у противников.

 

post-25058-0-49904500-1464552430.jpg

 

код такой (блок HP отключен): 
 

// Блок текстовых полей.
"textFields": [
${ "def.tankName" },
${ "def.playerName" },
${ "def.winsRatio" }
//${ "def.tankHp" }  
//,
//${ "def.playerSkillBar" },
//${ "def.xmqpEvent" }
]

у противника такой: 
 

"textFields": [
${ "def.tankName" },
${ "def.playerName" },
${ "def.tankHp" },
${ "def.winsRatio" },
${ "def.playerSkillBar" }
]

обнаружено, в блоке имени игрока есть запинашка, об которую парсер спотыкнулся:
 


"format": "<font size='{{battletype?13|{{squad?13|0}}}}'>{{name}}</font>"

{{battletype?13|{{squad?13|0}}}} не определён ранее в коде. Ищу где он определяется. Сэр Макс верно заметил что следует рыть конфиг целиком.
Рою.

Link to comment
Short link
Share on other sites

{{battletype?13|{{squad?13|0}}}} не определён ранее в коде. Ищу где он определяется

 battletype определяется в texts.xc. для каких типов боев там значения заданы, в таких ники отображаться и будут, для каких не заданы- не будут

Edited by demon2597
Link to comment
Short link
Share on other sites

Обновил texts.xc и ещё целый ряд файлов.

Всё стало выглядеть работающим. 
Ковырнул круги артиллерийской дальнобойности.

Там тоже работает переменная. всё ок.

Edited by Yozki
Link to comment
Short link
Share on other sites

Нужно внести в дефолтный код "minimapCircles.xc" две правки: 
в начале файла:

/**
 * Minimap circles. Only real map meters. Only for own unit.
 * Круги на миникарте. Дистанция только в реальных метрах карты. Только для своей техники.
 */
{
    // ------------------------------------------------------------------------------------------------
	//specCircles это предопределённое форматирование для специальных кругов.
	//(если требуется много одинакового цвета\толщины кругов для множества разных танков, это сократит код)
	//specCircles is predefined format for special circles 
	//(if You will define special circles for many vehicles, it will shortens the code)
	"specCircles":	{ "enabled": true, "thickness": 0.5, "alpha": 80, "color": "0x0000FF" }, 

....в конец файла - развёрнутую секцию:

    // ------------------------------------------------------------------------------------------------
	// Special circles, depending on current vehicle type. 
    // Many configuration lines for the same vehicle make many circles.
    // See other vehicle types at (colon symbol ":" must be replaced with mius "-" )
    // vehicle names can be found in file from game folder: res_mods\cmp\mods\packages\xvm_main\python\vehinfo_short.py 

    // Специальные круги, зависящие от модели техники.
    // Несколько строк для одной техники делают несколько кругов.
    // Названия танков для дополнения брать из папки:  res_mods\cmp\mods\packages\xvm_main\python\vehinfo_short.py 
	//(символ двоеточия : заменяется на минус -)

    "special": [
      // Example: Artillery gun fire range circle
      // Пример: Круг дальности стрельбы арты
      // "enabled": false - выключен; "thickness" - толщина; "alpha" - прозрачность; "color" - цвет.
	{ "ussr-SU-18":			{"$ref": { "path": "specCircles" }, "distance": 500 	}},
//	{ "ussr-SU-26":			{"$ref": { "path": "specCircles" }, "distance": 1217	}},  
	{ "ussr-SU-5":			{"$ref": { "path": "specCircles" }, "distance": 601	}} //,
//	{ "ussr-R100_SU122A":	{"$ref": { "path": "specCircles" }, "distance": 1200	}}, 1200 is _Really_ far distance for most maps
//	{ "ussr-SU-8":			{"$ref": { "path": "specCircles" }, "distance": 1379	}}, //so comment out far dictances 
//	{ "ussr-S-51":			{"$ref": { "path": "specCircles" }, "distance": 1263	}},
//	{ "ussr-SU14_1":		{"$ref": { "path": "specCircles" }, "distance": 1263	}},
//	{ "ussr-SU-14":			{"$ref": { "path": "specCircles" }, "distance": 1263	}},
//	{ "ussr-R51_Object_212":{"$ref": { "path": "specCircles" }, "distance": 1469	}},
//	{ "ussr-Object_261":	{"enabled": true, "thickness": 0.5, "alpha": 70, "color": "0x00ffff", "distance": 1469}}
	]

В текущем оригинале ссылка на гуглькод не работает, секция не всем ясно откомментирована.
Хочется также сократить вызов переменной specCircles, чтобы получить нечто типа {{specCircles}} вместо громоздкого "$ref": { "path": "specCircles" }

и так по всему конфигу хочется.
Тяжкий для любителя PHP синтаксис, даже после Перла то и дело рыдаю над кодом.
Это же {{многофигурноскобочноеобъектно.oриентированно:"кавычечное"}} царство  -  какое-то наследство Питона, да?

Link to comment
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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...