ddar Posted May 4, 2019 Share Posted May 4, 2019 Помню, что читал здесь на форуме про макросы вида {{ * }}, которые можно делать самостоятельно. Джва дня ищу, не могу найти тему. Подскажите? @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 4, 2019 Share Posted May 4, 2019 @ddar есть макросы {{.}} Специальные макросы ┌───┬──────────┬───┬───┬───┬───┬───┬───┬───┬─────────────────────────────────────────────────────── │SDH│ macro │ BL│ PP│ SF│ MM│ VM│ HI│ HL│ Description ├───┼──────────┼───┼───┼───┼───┼───┼───┼───┼─────────────────────────────────────────────────────── │ S │ {{.}} │ X │ X │ X │ X │ X │ X │ X │ для подстановки значения из конфига: {{.путь.к.значению.в.конфиге}} (например: {{.language}}, {{.def.mycolors.ally}}) └───┴──────────┴───┴───┴───┴───┴───┴───┴───┴─────────────────────────────────────────────────────── @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 4, 2019 Author Share Posted May 4, 2019 @ktulho да, наверное это он. Все не то. А можно значение макроса присвоить переменной, чтобы потом её использовать в другом месте? Чтобы например результат макроса из прицела использовать в маркерах @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 4, 2019 Share Posted May 4, 2019 5 минут назад, ddar сказал: Чтобы например результат макроса из прицела использовать в маркерах А они точно там не работают? По идее должны, правда значения будут обновляться только при изменении hp, при засвете техники в кругу отрисовки, или если засвеченная техника заехала в круг отрисовки. @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 4, 2019 Author Share Posted May 4, 2019 (edited) @ktulho они работают, но ошибки в логе я так и не смог убрать. Такая строка в маркерах работает без ошибок "format": "{{py:sight.damageShell}}" а вот такая "format": "{{py:mul({{py:sight.damageShell}}, 0.75)}}" уже с кучей таких ошибок SyntaxError: invalid syntax arg='mul(, 0.75)' 2019-05-04 16:24:20: [ERROR] Traceback (most recent call last): File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 156, in process_python_macro (func, deterministic) = get_function(arg) File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 144, in get_function args = ast.literal_eval(args_string) File "scripts/common/Lib/ast.py", line 49, in literal_eval File "scripts/common/Lib/ast.py", line 37, in parse File "<unknown>", line 1 (, 0.75) ^ Edited May 4, 2019 by ddar @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 4, 2019 Share Posted May 4, 2019 7 минут назад, ddar сказал: уже с кучей таких ошибок Я же показывал как убрать ошибки: "format": "{{py:sight.damageShell?{{py:mul({{py:sight.damageShell}}, 0.75)}}}}" @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 4, 2019 Author Share Posted May 4, 2019 (edited) 17 минут назад, ktulho сказал: Я же показывал как убрать ошибки: Неа, не помогает. Я так понимаю, макрос отдает значение, поэтому умножение выполняется (или пытается выполниться), но в логе все равно ошибки. А главное, результат умножения есть и все работает как надо. Вот прямо сейчас запустил реплей с такой строкой xvm.log markers.xc Edited May 4, 2019 by ddar @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 4, 2019 Share Posted May 4, 2019 @ddar может у вас ещё где-нибудь прописано такая строка? Попробуйте поменять 0.75 на 0.76. @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 4, 2019 Author Share Posted May 4, 2019 (edited) @ktulho больше нигде, я проверял xvm.log markers.xc Edited May 4, 2019 by ddar @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 4, 2019 Share Posted May 4, 2019 @ddar тогда такой вариант: "alpha": "{{{{py:mul({{py:sight.damageShell?{{py:sight.damageShell}}|0}}, 0.75)}}>{{hp}}?100|0}}" Или может покороче получится: "alpha": "{{{{py:mul({{py:sight.damageShell|0}}, 0.75)}}>{{hp}}?100|0}}" 2 @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 4, 2019 Author Share Posted May 4, 2019 @ktulho и вновь большое спасибо @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 4, 2019 Share Posted May 4, 2019 @ddar а покороче вариант работает? @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 4, 2019 Author Share Posted May 4, 2019 @ktulho да. Я подлиннее и не проверял, сразу короткий взял. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
aster Posted May 4, 2019 Share Posted May 4, 2019 Какие интересные идеи проверяются. Спасибо. @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 6, 2019 Author Share Posted May 6, 2019 (edited) Не могу разобраться с синтаксисом. Помогите. В @xvm.xc у меня есть блок "mainShadow": { "alpha": 50, "angle": 90, "blur": 1, "color": "0x000000", "distance": 1, "strength": 1.5 }, В playersPanelTemplates в блок level я добавляю тень: "shadow": {{.mainShadow}}, Но тень не добавляется, остается та, что по-умолчанию. Для проверки я вставляю эту же тень в format: "format": {{.mainShadow}} и вижу, что все хорошо, значение передается. С помощью такого блока тень нормально подключается: "shadow": ${ "@xvm.xc": "mainShadow" }, Почему же тогда тень не подключается красивым {{.mainShadow}}? И второй вопрос - а откуда там вообще тень по-умолчанию? playersPanel.xc playersPanelTemplates.xc Edited May 6, 2019 by ddar @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted May 6, 2019 Share Posted May 6, 2019 3 часа назад, ddar сказал: Почему же тогда тень не подключается красивым {{.mainShadow}}? Могу только выдвинуть предположение. {{.}} - это макрос, макрос не может возвращать целую секцию, он может возвращать только значение. А еще не стоит использовать макросы там, где можно обойтись без них, они могут нагружать систему. Поэтому в данном случае с любой стороны правильнее использовать использовать ссылки. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
ddar Posted May 6, 2019 Author Share Posted May 6, 2019 @ktulho понял, спасибо @ 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.