Jump to content
Korean Random

Синтаксис $ref ссылок


Recommended Posts

Доброго времени суток, комрады!

Прошу о небольшой консультации. Как выглядит синтаксис $ref ссылок? Есть примеры в стандартном конфиге, есть в пользовательских сборках, но мне хотелось бы больше не делать их "по аналогии" и "методом научного тыка".

Например: хочу из файлов markersAliveExtended - markersDeadNormal перенести все стандартные макросы от "vehicleIcon" до "actionMarker" в созданный мною блок "def" в файле markers.xc. В моем конфиге они одинаковы во всех случаях - я их просто не использую, ну кроме actionMarker который включен во всех режимах.

Как в этом случае должен выглядеть блок:

"ally": {
      "alive": {
        "normal": ${"markersAliveNormal.xc":"ally"},
        "extended": ${"markersAliveExtended.xc":"ally"}
      },

Структура markers.xc получается следующая:
 

{

   "def": {
      "vehicleIcon"{

       ....

       },

      .......
    },
   "markers": {
    .......
    },
    // ally
    // союзники
    "ally": {
      "alive": {
        "normal": ${"markersAliveNormal.xc":"ally"},
        "extended": ${"markersAliveExtended.xc":"ally"}
      },
      "dead": {
        "normal": ${"markersDeadNormal.xc":"ally"},
        "extended": ${"markersDeadExtended.xc":"ally"}
      }
    },
   ....
      }  }  }  }

По какому синтаксису мне в блоки "normal" и "extended" добавлять ссылку ссылку на блок "def"?

Спрашиваю потому что все пришедшие в голову варианты привели к ошибкам.

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

По какому синтаксису мне в блоки "normal" и "extended" добавлять ссылку ссылку на блок "def"?

вот, рабочий вариант формата ссылки: "файл":"секция1.секция2.секция3", по типу  ${ "file.xc":"section1.section2.section3"} 

писать в секции def имена дефолтных макросов не надо - надо либо изменять имена макросов (по типу "vehicleIcon-1"), либо надо хотя бы один раз прописать макросы в предусмотренном для них месте , а уж потом ссылаться на это место. Также если в конфиге отсутствует какой-либо параметр (макрос), то подгружается дефолтный вариант - поэтому те параметры, которые не надо менять, можно и не прописывать...

к примеру у меня так:

'скрины файла markers.xc'

post-24956-0-93281800-1410491574_thumb.jpg

post-24956-0-74555500-1410491581_thumb.jpg

post-24956-0-25681200-1410491587_thumb.jpg

'скрины файлов с маркерами '

post-24956-0-39084000-1410491592_thumb.jpg

post-24956-0-17967500-1410491596_thumb.jpg

post-24956-0-90290500-1410491599_thumb.jpg

post-24956-0-36661800-1410491603_thumb.jpg

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

'Много текста конфига'

	"markers": {
		"ally": {
			"alive": {
				"normal": {//тут всё впервые описано, потому полностью
					"actionMarker": { "alpha": 100, "visible": true, "x": 0, "y": -67 },
					"clanIcon": { "alpha": 80, "h": 16, "visible": true, "w": 16, "x": 63, "y": -59 },
					"contourIcon": { "visible": false },
					"damageText": {
						"alpha": 100,
						"blowupMessage": "{{dmg}}!",
						"color": null,
						"damageMessage": "{{dmg}}",
						"font": { "align": "center", "bold": true, "italic": false, "name": "OCR A Extended", "size": 14 },
						"maxRange": 100,
						"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
						"speed": 2,
						"visible": true,
						"x": 0,
						"y": -67
					},
					"damageTextPlayer": {
						"$ref": {"path":"markers.ally.alive.normal.damageText"},
						"font": { "name":"AGRevueCyr" }
					},
					"damageTextSquadman": {
						"$ref": {"path":"markers.ally.alive.normal.damageText"},
						"font": { "name":"Dead Postman 2001" }
					},
					"healthBar": {
						"alpha": 70,
						"border": { "alpha": 30, "color": "0x000000", "size": 1 },
						"color": null,
						"damage": { "alpha": 80, "color": "{{c:hp-ratio}}", "fade": 2 },
						"fill": { "alpha": 30 },
						"height": 2,
						"lcolor": null,
						"visible": true,
						"width": 61,
						"x": -30,
						"y": -37
					},
					"levelIcon": { "visible": false },
					"vehicleIcon": {
						"alpha": 100,
						"color": null,
						"maxScale": 100,
						"scaleX": 0,
						"scaleY": 16,
						"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
						"showSpeaker": true,
						"visible": true,
						"x": 0,
						"y": -16
					},
					"textFields": [
						{
							"name": "Current Health",
							"alpha": 100,
							"color": "0xFFFFFF",
							"font": { "align": "center", "bold": true, "italic": false, "name": "$FieldFont", "size": 11 },
							"format": "{{hp}} / {{hp-max}}",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 4, "strength": 150 },
							"visible": true,
							"x": 0,
							"y": -20
						},
						{
							"name": "xwn",
							"alpha": 100,
							"color": "{{c:xwn}}",
							"font": { "align": "center", "bold": false, "italic": false, "name": "OCR A Extended", "size": 12 },
							"format": "{{xwn8%2s|--}}",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": -12,
							"y": -58
						},
						{
							"name": "vrate",
							"alpha": 100,
							"color": "{{c:t-rating}}",
							"font": { "align": "center", "bold": false, "italic": false, "name": "OCR A Extended", "size": 12 },
							"format": "{{t-rating%d~%|--%}}",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 12,
							"y": -58
						},
						{
							"name": "Vehicle",
							"alpha": 100,
							"color": null,
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 12 },
							"format": "{{vehicle}}{{turret}}",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 0,
							"y": -36
						},
						{
							"name": "shot",
							"alpha": "{{a:hp-ratio}}",
							"color": "{{c:hp}}",
							"font": { "align": "center", "bold": true, "italic": false, "name": "$FieldFont", "size": 20 },
							"format": "^",
							"shadow": { "alpha": "70", "angle": 0, "color": "{{c:system}}", "distance": 0, "size": 3, "strength": 200 },
							"visible": true,
							"x": 0,
							"y": -80
						},
						{
							"name": "name",
							"alpha": 100,
							"color": null,
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 13 },
							"format": "{{name%.14s~..}}",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 0,
							"y": -49
						}
					]
				},//вот конец первого описания
				"extended": ${"markers.ally.alive.normal"}//расширенный маркер полностью дублирует обычный, Вам не интересно
				
			},
			"dead": {
				"normal": {//вот тут из мёртвого я поубирал лишнее
					"$ref": {"path":"markers.ally.alive.normal"},//ссылаюсь на живой, как на основание
					"clanIcon": { "visible": false },//выключаю лишнее, как "owerride param" в примере
					"healthBar": { "visible": false },
					"vehicleIcon": { "visible": false },
					"textFields": [//текстовые поля необходимо полностью переописывать, ибо это один массив и оттуда переопределить один элемент нельзя
						{
							"alpha": 100,
							"color": null,
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 13 },
							"format": "{{vehicle}}",
							"name": "Vehicle",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 0,
							"y": 15
						}
					]
				},
				"extended": {
					"$ref": {"path":"markers.ally.alive.normal"},
					"clanIcon": { "visible": false },
					"healthBar": { "visible": false },
					"vehicleIcon": { "visible": false },
					"textFields": [
						{
							"alpha": 100,
							"color": "{{c:xwn}}",
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 11 },
							"format": "{{xwn8%2s|--}}",
							"name": "Rating twr",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": -12,
							"y": -12
						},
						{
							"alpha": 100,
							"color": "{{c:t-rating}}",
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 11 },
							"format": "{{t-rating%d~%|--%}}",
							"name": "vrate",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 12,
							"y": -12
						},
						{
							"alpha": 80,
							"color": null,
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 13 },
							"format": "{{nick}}",
							"name": "Player Name",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 0,
							"y": -2
						},
						{
							"alpha": 80,
							"color": null,
							"font": { "align": "center", "bold": false, "italic": false, "name": "$FieldFont", "size": 13 },
							"format": "{{vehicle}}",
							"name": "Vehicle Name",
							"shadow": { "alpha": 100, "angle": 90, "color": "0x000000", "distance": 0, "size": 6, "strength": 200 },
							"visible": true,
							"x": 0,
							"y": 15
						}
					]
				}
			}
		},

Простейший пример - в тексте урона я переназначаю параметр шрифта, не трогая других. Так же можно сменить два или три параметра не меняя остального.
Link to comment
Short link
Share on other sites

Что бы постоянно не следить за изменением шкалы цветов и введением новых рейтингов, подгружаю регулярно обновляемый дефолтный color.xc в котором меня не устраивают несколько параметров...

  "colors": {
    "$ref": { "file": "default/colors.xc", "path": "colors" },
    "damage": {
      "squadman_enemy_hit": ${"colors.xc":"def.sq"},
      "squadman_enemy_kill": ${"colors.xc":"def.sq"},
      "squadman_enemy_blowup": ${"colors.xc":"def.sq"}
    }
  }
  • Upvote 1
Link to comment
Short link
Share on other sites

Что бы постоянно не следить за изменением шкалы цветов и введением новых рейтингов, подгружаю регулярно обновляемый дефолтный color.xc в котором меня не устраивают несколько параметров...

  "colors": {
    "$ref": { "file": "default/colors.xc", "path": "colors" },
    "damage": {
      "squadman_enemy_hit": ${"colors.xc":"def.sq"},
      "squadman_enemy_kill": ${"colors.xc":"def.sq"},
      "squadman_enemy_blowup": ${"colors.xc":"def.sq"}
    }
  }

а куда ты дописываешь свою ссылку? в battle.xc?

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

Что ты называешь своей ссылкой? оО

Хорошо, спрошу по-другому: нижеуказанный текст расположен в каком файле конфига?

Что бы постоянно не следить за изменением шкалы цветов и введением новых рейтингов, подгружаю регулярно обновляемый дефолтный color.xc в котором меня не устраивают несколько параметров...

  "colors": {
    "$ref": { "file": "default/colors.xc", "path": "colors" },
    "damage": {
      "squadman_enemy_hit": ${"colors.xc":"def.sq"},
      "squadman_enemy_kill": ${"colors.xc":"def.sq"},
      "squadman_enemy_blowup": ${"colors.xc":"def.sq"}
    }
  }
Link to comment
Short link
Share on other sites

Хорошо, спрошу по-другому: нижеуказанный текст расположен в каком файле конфига?

Хм...

подгружаю регулярно обновляемый дефолтный color.xc

"$ref": { "file": "default/colors.xc", "path": "colors" },

Разве я не "явно" указал? :)
Link to comment
Short link
Share on other sites

Разве я не "явно" указал? :)

Явно указал файл НА который ссылаешься, однако никак не указал файл ИЗ которого ссылаешься...

Или как-то по-другому можно трактовать 

нижеуказанный текст расположен в каком файле конфига?

'оффтоп'

можете не отвечать, уже не интересно... И все-таки господин форумчанин знатный тролль!
Edited by Duv21
Link to comment
Short link
Share on other sites

Явно указал файл НА который ссылаешься, однако никак не указал файл ИЗ которого ссылаешься...

Или как-то по-другому можно трактовать 

'оффтоп'

можете не отвечать, уже не интересно... И все-таки господин форумчанин знатный тролль!

Тю епт... Ну ты как обиделся...

У меня весь конфиг в xvm.xc, кроме некоторых вышеописанных вставок с дефолтных файлов.

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

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...