-
Posts
7,508 -
Joined
-
Last visited
-
Days Won
54
Everything posted by seriych
-
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
В питоне для упорядочивания последовательности действий используются не скобки или специальные слова, как в других языках, а количество отступов в начале строки. В зависимости от компилятора смешивание пробелов и табуляций в начале одной строки может быть как вообще запрещено, так и приводить к непредсказуемым последствиям, так как компилятор не знает, какому количеству пробелов соответсвует табуляция. Так что используй что-то одно для отступов: либо только пробелы, либо только табуляцию.У меня в notepad++ забиндено на сочетание клавиш убирание замыкающих отступов, преобразование всех табуляций в пробелы и сохранение файла. Всегда сохраняю программные файлы этим сочетанием клавиш и нет проблем. -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
тоже самое, что ты в "if total_hp_start is None:" -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
А я сам не знаю, как это правильно сделать. Первое что пришло в голову сработало: import xvm_battle.python.fragCorrelationPanel as panel @xvm.export('thp') def total_hp_string(): try: type(total_hp_start) except: global total_hp_start, A, B A = panel.teams_totalhp[0] B = panel.teams_totalhp[1] total_hp_start = A + B #blablabla но может как-то адекватнее можно без проверки try type() -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
Ага, понял, "deterministic=True" по умолчанию прописали. Это для производительности надо? Иначе непонятно, зачем @neLeax, Соответственно, можно упростить: #kanat.py: import xvm_battle.python.fragCorrelationPanel as panel @xvm.export('diff_hp', deterministic=False) def diff_hp(): st = '{{py:xvm.total_hp.text()}}' return full_string(st) @xvm.export('diff_hp_pic', deterministic=False) def diff_hp_pic(): st = '<img src="xvm://res/icons/kanat.png">' return full_string(st) def full_string(st1): a = panel.teams_totalhp[0] b = panel.teams_totalhp[1] st2 = '<font size="4" alpha="#00">' + (' ' * int(450*abs(a - b)/max(a, b))) + '</font>' if b > a: st1, st2 = st2, st1 return st1 + st2 "totalHP": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 0, "y": 36, "width": 500, "height": 150, "autoSize": "center", "align": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 4 }, "currentFieldDefaultStyle": { "color": "0xF4EFE8", "size": 15 }, "format": "{{py:diff_hp()}}" }, "totalHPpic": { "$ref": { "path": "def.totalHP"}, "y": 10, "format": "{{py:diff_hp_pic()}}" }, // battleLabels.xc: ${ "battleLabelsTemplates.xc":"def.totalHPpic" }, ${ "battleLabelsTemplates.xc":"def.totalHP" }, -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
да -
Цветовая дифференциация шта... урона (XWM)
seriych replied to zerox21's topic in XVM: General Discussion and Troubleshooting
вообще-то {{v.c_xtdb}} -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
Уфф, обрадовал, а то я уж подумал, что зря столько мучился.Я дописываю неразрывные пробелы перед или после поля с текстом/картинкой, количество которых пропорционально разнице в HP. #kanat.py: @xvm.export('diff_hp_pic') def diff_hp_pic(a, b): st = '<img src="xvm://res/icons/kanat.png">' return full_string(a, b, st) @xvm.export('diff_hp') def diff_hp(a, b): st = '{{py:xvm.total_hp.text()}}' return full_string(a, b, st) def full_string(a, b, st1): st2 = '<font size="4" face="$FieldFont" alpha="#00">' + (' ' * int(450*abs(a - b)/max(a, b))) + '</font>' if b > a: st1, st2 = st2, st1 return st1 + st2 // battleLabelsTemplates.xc: "totalHP": { "enabled": true, "updateEvent": "ON_PLAYERS_HP_CHANGED", "x": 0, "y": 36, "width": 500, "height": 150, "autoSize": "center", "align": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 4 }, "currentFieldDefaultStyle": { "color": "0xF4EFE8", "size": 15 }, "format": "{{py:diff_hp({{py:xvm.total_hp.ally()}},{{py:xvm.total_hp.enemy()}})}}" }, "totalHPpic": { "$ref": { "path": "def.totalHP"}, "y": 10, "format": "{{py:diff_hp_pic({{py:xvm.total_hp.ally()}},{{py:xvm.total_hp.enemy()}})}}" }, // battleLabels.xc: ${ "battleLabelsTemplates.xc":"def.totalHPpic" }, ${ "battleLabelsTemplates.xc":"def.totalHP" }, Угадай, кто там будет отвечать:-) Почему код выше работает, а если сделать так, то нет: тык Разобрался: http://www.koreanrandom.com/forum/topic/31856-totalhp/?do=findComment&comment=329924 И как из .xc файла передать в питон строковый аргумент со спецсимволами. Например, те же '{{py:xvm.total_hp.text()}}' или '<img src="xvm://res/icons/kanat.png">'? -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
разве в "x" оно работает? наверное, не стоит трогать дефолтные файлы, лучше свой создавать, ибо если человек будут несколько конфигов пробовать, у него проблемы будут. В идеале грузить питон непосредственно из .xc файла конфига, но хз можно ли это по-нормальному сделать -
нет. Ну я моды не пишу. Но с новыми фичами в виде XMQP и питон макросов поиграться хочется. Плюс надо по юзерскриптам доделать кое чего. И самое главное обнаружилась возможность сделать стату за период практически нахаляву, я с этим пока играюсь, косяки метода смотрю. Инфа будет, наверное, после того как с XMQP разберутся.
-
[Полоса захвата / Capture bar]
seriych replied to █XlebniDizele4ku's topic in Components of XVM and Addons (py_macro)
"format":"<font size='20' alpha='#00'>.</font><font size='{{cap.points>70?20|16}}'>{{cap.points}}</font>" -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
Вспомнилось мне тут одно обсужденьице... мы как-то формулу предпочтительную обсуждали. Можешь тут почитать:http://www.koreanrandom.com/forum/topic/16856-дефолтный-конфиг-обсуждение-default-cfg-discussions/page-43#entry324777 -
[Полоса захвата / Capture bar]
seriych replied to █XlebniDizele4ku's topic in Components of XVM and Addons (py_macro)
http://www.koreanrandom.com/forum/topic/1760-полоса-захвата-capture-bar/page-24#entry329157 -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
ага, работает, спс -
Динамические макросы в Python
seriych replied to goodman's topic in Components of XVM and Addons (py_macro)
@sirmax,При каждом обращении к питон макросу новая песочница образуется, а как запомнить значение какой-то переменной при первом использовании макроса, чтобы при следующих можно было обратиться к изначальному значению? Вот, например, хочу суммарное хп команд на начало боя запомнить, есть вариант нормальный? -
XVM не реагирует на "labels": {"enabled": false...
seriych replied to Yusha's topic in Bug Reports & Testing
от темы -
[0.9.15] 21 вариант простых контурных иконок с названиями танков
seriych replied to seriych's topic in Mods and Software
upd. 0.9.15 -
[0.9.15] 21 вариант простых контурных иконок с названиями танков
seriych replied to seriych's topic in Mods and Software
надо названия танков сделать. Мне лень. Я завтра(уже сегодня) постараюсь. Честно-честно -
[Полоса захвата / Capture bar]
seriych replied to █XlebniDizele4ku's topic in Components of XVM and Addons (py_macro)
captureBar.xc номер базы на показывает в режимах с двумя базами. Не смотрел еще что с этим делать -
есть такое, спс