WrongAlex Posted February 13, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 13, 2015 Share Posted February 13, 2015 @WrongAlex, квадратные скобки обозначают массив. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted March 28, 2015 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted March 28, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
XSerzHX Posted March 28, 2015 Share Posted March 28, 2015 (edited) кстати норм, думаю такая подстановка упростит подстановки через конкретное значение в макросе Edited March 28, 2015 by XSerzHX @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted March 28, 2015 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted March 28, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
sirmax Posted March 28, 2015 Author Share Posted March 28, 2015 Исправил. @ Quote Link to comment Short link Share on other sites More sharing options...
anatoly999 Posted March 31, 2015 Share Posted March 31, 2015 Создал файл test1.xc в папке с конфигом со следующим содержимым: { "test": { "text": "qwerty" } } Пытаюсь вызвать через макрос {{.test1.test.text}}, но ничего не происходит. Что я делаю не так?Стоит последний ночник 4036 @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted March 31, 2015 Share Posted March 31, 2015 @neLeax, и где прописано, чтобы этот файл грузился в конфиг? 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted March 31, 2015 Share Posted March 31, 2015 через макрос {{.test1.test.text}} в @xvm.xc надо добавить ссылку на файл по типу "myMacros" : ${"test1.xc":"test"} - тогда этот файл будет подгружаться, а вот писать макрос надо так: сначала идет название ссылки в @xvm - в моем примере это .myMacros, а потом сразу требуемое внутри корневой секции файла без названия самой корневой секции - это ведь просто подстановка - в твоем случае .text и в конце параметр (у тебя .qwerty): {{.myMacros.text.qwerty}} 1 @ Quote Link to comment Short link Share on other sites More sharing options...
anatoly999 Posted March 31, 2015 Share Posted March 31, 2015 @neLeax, и где прописано, чтобы этот файл грузился в конфиг? в @xvm.xc надо добавить ссылку на файл по типу "myMacros" : ${"test1.xc":"test"} - тогда этот файл будет подгружаться, а вот писать макрос надо так: сначала идет название ссылки в @xvm - в моем примере это .myMacros, а потом сразу требуемое внутри корневой секции файла без названия самой корневой секции - это ведь просто подстановка - в твоем случае .text и в конце параметр (у тебя .qwerty): {{.myMacros.text.qwerty}} Вот блин, затупил. Забыл вписать файл в @xvm. Спасибо, разобрался:) @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted April 8, 2015 Share Posted April 8, 2015 Исправил.проверка на отсутствие значения не срабатывает: "myname": { "seriych_RU": "тунеядец", "sergy40_RU": "алкоголик" }, {{.myname.{{name}}|{{name}}}} Везде пустую строку отдает для непрописанных ников @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted April 8, 2015 Share Posted April 8, 2015 (edited) Везде пустую строку отдает для непрописанных ников а так работает {{name=Duv21?{{._my.{{name}}}}|{{name%.18s~..}}}} проверял на реплее 0.9.6 (поэтому без "_RU") Edited April 8, 2015 by Duv21 @ Quote Link to comment Short link Share on other sites More sharing options...
vlad_cs_sr Posted April 8, 2015 Share Posted April 8, 2015 Наверно, думает, что 2 нейм у Серыча тоже надо забрать из "myname" @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 8, 2015 Author Share Posted April 8, 2015 проверка на отсутствие значения не срабатывает: "myname": { "seriych_RU": "тунеядец", "sergy40_RU": "алкоголик" }, {{.myname.{{name}}|{{name}}}} Везде пустую строку отдает для непрописанных ников Добавил возможность использовать форматирование для подстановок. @ Quote Link to comment Short link Share on other sites More sharing options...
anatoly999 Posted April 8, 2015 Share Posted April 8, 2015 @sirmax, а сложно ли сделать, чтобы макрос {{.}} работал в полях, где присутствуют значения true\false? Хочу вынести настройку в файл, которая бы одновременно включала ХП в ушах, но выключала бы ХП противников в хитлоге. Обычные подстановки в этих полях работают, но ими так сделать не получится. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 8, 2015 Author Share Posted April 8, 2015 @sirmax, а сложно ли сделать, чтобы макрос {{.}} работал в полях, где присутствуют значения true\false? Хочу вынести настройку в файл, которая бы одновременно включала ХП в ушах, но выключала бы ХП противников в хитлоге. Обычные подстановки в этих полях работают, но ими так сделать не получится. Пиши пример использования, ну и проверь его для начала. Я не понимаю что именно ты хочешь сделать. @ Quote Link to comment Short link Share on other sites More sharing options...
anatoly999 Posted April 8, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 8, 2015 Author Share Posted April 8, 2015 Но проблема в том, что макрос {{.}} не работает в этих полях. Понятно. Макросы работают не во всех полях, а только там, где предусмотрено. Делать во всех слишком накладно. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.