WrongAlex 0 #250946 Posted February 13, 2015 Здравствуйте. Я немного почитал конфиги, и в файле «alpha.xc» увидел вот такие квадратные скобки: // Динамическая прозрачность по оставшемуся здоровью. "hp": [ { "value": 200, "alpha": ${"alphaHP.very_low" } }, { "value": 400, "alpha": ${"alphaHP.low" } }, { "value": 1000, "alpha": ${"alphaHP.average" } }, { "value": 9999, "alpha": ${"alphaHP.above_average"} } ], В других похожих местах — фигурные скобки (например, первые три параметра в том же alpha.xc). Скажите, это нормально? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #250951 Posted February 13, 2015 @WrongAlex, квадратные скобки обозначают массив. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #260363 Posted March 28, 2015 (edited) Добавил давнюю хотелку по подстановке значений из конфига в строке. Реализовано через макрос {{.}}.Например, есть конфиг: { "my": { "value": "X" }, ... } Чтобы подставить значение, необходимо написать макрос: "My value is: {{.my.value}} Единственное ограничение - пути должны указываться от корня конфига, а не от текущей секции конфига. То есть если "my" определена в файле "texts.xc", то макрос будет {{.texts.my.value}}. Макрос статический, так что на производительность сильно влиять не должен, но нужно проверять. Вложенные макросы должны работать (не проверял).Возможности открываются безграничные - как минимум, можно делать свои собственные секции texts, и указывать, например: "format": "<font face='xvm'>{{.def.texts.xvmuser.{{xvm-user}}}}</font>" Edited March 28, 2015 by sirmax 7 Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #260385 Posted March 28, 2015 (edited) подстановке значений из конфига в строке я же правильно понимаю, что прописав, к примеру, в файле texts.xc секцию: (давно стояла такая секция в старых архивах конфига, только, ес-но, не работала) // Текст для макроса {{squad-num}}, шрифт 'Wingdings 2' "mySquad": { "1": "➊", // => "1" "2": "➋", // => "2" "3": "➌", // => "3" "4": "➍", // => "4" "5": "➎", // => "5" "6": "➏", // => "6" "7": "➐" // => "7" } в панели "ушей" вывожу "format: "<font face='Wingdings 2'>{{.texts.mySquad.{{squad-num}}}}</font>" и все работает? Спрашиваю, потому что, к сожалению, не могу войти в бой уже 3-ю итерацию тестового сервера (виснет на окне загрузки), пока могу только "лазить" в ангаре... зы или правильно {{.texts.texts.mySquad...}} --> {{.файл.секция.мойМакрос...}} ?? Edited March 28, 2015 by Duv21 Quote Share this post Link to post Short link Share on other sites
XSerzHX 580 #260386 Posted March 28, 2015 (edited) кстати норм, думаю такая подстановка упростит подстановки через конкретное значение в макросе Edited March 28, 2015 by XSerzHX Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #260388 Posted March 28, 2015 я же правильно понимаю, что прописав, к примеру, в файле texts.xc секцию: (давно стояла такая секция в старых архивах конфига, только, ес-но, не работала) // Текст для макроса {{squad-num}}, шрифт 'Wingdings 2' "mySquad": { "1": "➊", // => "1" "2": "➋", // => "2" "3": "➌", // => "3" "4": "➍", // => "4" "5": "➎", // => "5" "6": "➏", // => "6" "7": "➐" // => "7" } в панели "ушей" вывожу "format: "<font face='Wingdings 2'>{{.texts.mySquad.{{squad-num}}}}</font>"и все работает? Да, так должно работать. Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #260432 Posted March 28, 2015 (edited) Да, так должно работать при отсутствии значения (к примеру номер взвода) отдает undefined 'код+скрин' в "texts" стоит: // Текст для цифр 0-7, шрифт 'Wingdings 2', конструкция {{.texts.myNumber.{{...макрос числа...}}}} "myNumber": { "0": "<font face='Wingdings 2'></font>", "1": "<font face='Wingdings 2'></font>", ... "7": "<font face='Wingdings 2'></font>" } в "playersPanel" стоит // "format": "<font size='16' color='{{squad?#FFB964|#FFFFFF}}'>{{.texts.myNumber.{{squad-num}}}}</font>" Edited March 28, 2015 by Duv21 Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #260434 Posted March 28, 2015 Исправил. Quote Share this post Link to post Short link Share on other sites
anatoly999 137 #260880 Posted March 31, 2015 Создал файл test1.xc в папке с конфигом со следующим содержимым: { "test": { "text": "qwerty" } } Пытаюсь вызвать через макрос {{.test1.test.text}}, но ничего не происходит. Что я делаю не так?Стоит последний ночник 4036 Quote Share this post Link to post Short link Share on other sites
seriych 2,178 #260882 Posted March 31, 2015 @neLeax, и где прописано, чтобы этот файл грузился в конфиг? 1 Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #260889 Posted March 31, 2015 через макрос {{.test1.test.text}} в @xvm.xc надо добавить ссылку на файл по типу "myMacros" : ${"test1.xc":"test"} - тогда этот файл будет подгружаться, а вот писать макрос надо так: сначала идет название ссылки в @xvm - в моем примере это .myMacros, а потом сразу требуемое внутри корневой секции файла без названия самой корневой секции - это ведь просто подстановка - в твоем случае .text и в конце параметр (у тебя .qwerty): {{.myMacros.text.qwerty}} 1 Quote Share this post Link to post Short link Share on other sites
anatoly999 137 #260895 Posted March 31, 2015 @neLeax, и где прописано, чтобы этот файл грузился в конфиг? в @xvm.xc надо добавить ссылку на файл по типу "myMacros" : ${"test1.xc":"test"} - тогда этот файл будет подгружаться, а вот писать макрос надо так: сначала идет название ссылки в @xvm - в моем примере это .myMacros, а потом сразу требуемое внутри корневой секции файла без названия самой корневой секции - это ведь просто подстановка - в твоем случае .text и в конце параметр (у тебя .qwerty): {{.myMacros.text.qwerty}} Вот блин, затупил. Забыл вписать файл в @xvm. Спасибо, разобрался:) Quote Share this post Link to post Short link Share on other sites
seriych 2,178 #262029 Posted April 8, 2015 Исправил.проверка на отсутствие значения не срабатывает: "myname": { "seriych_RU": "тунеядец", "sergy40_RU": "алкоголик" }, {{.myname.{{name}}|{{name}}}} Везде пустую строку отдает для непрописанных ников Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #262037 Posted April 8, 2015 (edited) Везде пустую строку отдает для непрописанных ников а так работает {{name=Duv21?{{._my.{{name}}}}|{{name%.18s~..}}}} проверял на реплее 0.9.6 (поэтому без "_RU") Edited April 8, 2015 by Duv21 Quote Share this post Link to post Short link Share on other sites
vlad_cs_sr 1,575 #262046 Posted April 8, 2015 Наверно, думает, что 2 нейм у Серыча тоже надо забрать из "myname" Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #262051 Posted April 8, 2015 проверка на отсутствие значения не срабатывает: "myname": { "seriych_RU": "тунеядец", "sergy40_RU": "алкоголик" }, {{.myname.{{name}}|{{name}}}} Везде пустую строку отдает для непрописанных ников Добавил возможность использовать форматирование для подстановок. Quote Share this post Link to post Short link Share on other sites
anatoly999 137 #262058 Posted April 8, 2015 @sirmax, а сложно ли сделать, чтобы макрос {{.}} работал в полях, где присутствуют значения true\false? Хочу вынести настройку в файл, которая бы одновременно включала ХП в ушах, но выключала бы ХП противников в хитлоге. Обычные подстановки в этих полях работают, но ими так сделать не получится. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #262060 Posted April 8, 2015 @sirmax, а сложно ли сделать, чтобы макрос {{.}} работал в полях, где присутствуют значения true\false? Хочу вынести настройку в файл, которая бы одновременно включала ХП в ушах, но выключала бы ХП противников в хитлоге. Обычные подстановки в этих полях работают, но ими так сделать не получится. Пиши пример использования, ну и проверь его для начала. Я не понимаю что именно ты хочешь сделать. Quote Share this post Link to post Short link Share on other sites
anatoly999 137 #262071 Posted April 8, 2015 (edited) Пиши пример использования, ну и проверь его для начала. Я не понимаю что именно ты хочешь сделать.Создал два файла в корне конфига.Первый для настроек @setting.xc, с содержимым: { "setting": { "AltModeHP": true, } } Второй - textsDef.xc с текстовыми подстановками: { "textsDef": { "invertor": { "true": false, "false": true } } } Я хочу сделать, чтобы при "AltModeHP": true, в опцию "allowHpInPanelsAndMinimap" подставлялось true (это сейчас работает с простыми подстановками: ${"@setting.xc":"setting.AltModeHP"} ), а это же время в опцию "hpLeft" "enabled": отдавалась значение false с помощью конструкции: {{.textsDef.invertor.{{.setting.AltModeHP}}}}.Но проблема в том, что макрос {{.}} не работает в этих полях. Edited April 8, 2015 by neLeax Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #262081 Posted April 8, 2015 Но проблема в том, что макрос {{.}} не работает в этих полях. Понятно. Макросы работают не во всех полях, а только там, где предусмотрено. Делать во всех слишком накладно. Quote Share this post Link to post Short link Share on other sites