ktulho 5,790 #370333 Posted December 18, 2016 @kupsw, в файле vinfo.py в строке 25 не хватает отступов. Должно быть так: @xvm.export('vinfo.shell_damage', deterministic=False) def shell_damage(): vehicle = BigWorld.player() shotDescr = vehicle.vehicleTypeDescriptor.shot if shotDescr['shell']['kind'] == 'HIGH_EXPLOSIVE': return "%i" % (shotDescr['shell']['damage'][0] // 2) else: return "%i" % (shotDescr['shell']['damage'][0]) Quote Share this post Link to post Short link Share on other sites
kupsw 5 #370354 Posted December 18, 2016 Спасибо! Помогло. Оказываться, что нехватка отступов тоже сильно влияет. Буду теперь знать. Век живи век учись. Quote Share this post Link to post Short link Share on other sites
androdizel 8 #370459 Posted December 18, 2016 (edited) ktulho почему то не убирается уровень техники и зеркальность иконок при загрузке боя пробовал все версии XVM даже последний ночник ставил на чистый клиент ничего не меняется в соответствующих файлах (battleLoading, battleLoadingTips, battle) изменения соответствующие фасл на тру делал реакции ноль.? Edited December 18, 2016 by androdizel Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #370460 Posted December 18, 2016 Экран загрузки не адаптирован под 0.9.17 Quote Share this post Link to post Short link Share on other sites
daftGear 33 #370461 Posted December 18, 2016 ktulho почему то не убирается уровень техники и зеркальность иконок при загрузке боя пробовал все версии XVM даже последний ночник ставил на чистый клиент ничего не меняется в соответствующих файлах (battleLoading, battleLoadingTips, battle) изменения соответствующие фасл на тру делал реакции ноль.? Загрузочный экран пока не работает. Quote Share this post Link to post Short link Share on other sites
androdizel 8 #370464 Posted December 18, 2016 спс Quote Share this post Link to post Short link Share on other sites
kupsw 5 #370489 Posted December 19, 2016 Возник вопрос. Был скрипт (sixthSense.py), который при засвете время отсчитывал засвета. Так он сейчас работает или тоже в запрещенных стал? Quote Share this post Link to post Short link Share on other sites
refaol 223 #370510 Posted December 19, 2016 Скрипт работает, в запрещенных его нет. Quote Share this post Link to post Short link Share on other sites
adri1 11 #370952 Posted December 21, 2016 (edited) repair for 0.9.17 We poor Chinese update to 0.9.17 yesterday There may be some potential mistakes. And I do not know why. I write a python macro to show the friendly arty's aiming position. It will display as white points in the minimap and white circle in the battle view. from xvm import aimingposition @ Xvm.export ( 'xvm.aimpos', deterministic = False) def refreshAimPos (): aimingposition.posManager.refreshList () return '' { "AimPos": { "Enabled": true, "UpdateEvent": "ON_EVERY_FRAME", "Alpha": 0, "Format": "{{py: xvm.aimpos ()}}" } } aimingposition.zip Edited December 21, 2016 by adri1 2 Quote Share this post Link to post Short link Share on other sites
vizhu 69 #371073 Posted December 21, 2016 (edited) Сделал py_macros {{py:xvm.sixthSenseTimer(10)}}. Аргумент (10) - начало отсчета, можете поставить свой. Пример использования. В файл battleLabels.xc добавить: ${ "battleLabelsTemplates.xc":"def.sixthSenseTimer"} В файл battleLabelsTemplates.xc добавить: "sixthSenseTimer": { "enabled": true, "updateEvent": "PY(ON_SIXTH_SENSE_SHOW)", "x": 0, "y": 270, "width": 50, "height": 50, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": {"align": "center", "size": 36 }, "format": "{{py:xvm.sixthSenseTimer(10)}}" } Файл скопировать в \res_mods\configs\xvm\py_macro\ sixthSense.rar В XVM-6.5.1.1-RELEASE перестал работать ? B лог полученного урона то же (( Edited December 21, 2016 by vizhu Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #371105 Posted December 21, 2016 @vizhu, папка py_macro на месте? Quote Share this post Link to post Short link Share on other sites
vizhu 69 #371106 Posted December 21, 2016 @vizhu, папка py_macro на месте? ДА battleLabelsTemplates.xc /** * Battle inteface text fields. * Текстовые поля боевого интерфейса. */ { // Definitions. // Шаблоны. "def": { "hitlogHeader": { "enabled": true, "updateEvent": "ON_DAMAGE_CAUSED, ON_PANEL_MODE_CHANGED", "x": 500, "y": 30, "width": 500, "height": 1000, "textFormat": { "color": "0xF4EFE8", "size": 15 }, "format": "{{hitlog-header}}" // Format of the full hitlog (header and body) // Формат полного хит-лога (шапка и тело) // "format": "{{hitlog-header}}\n{{hitlog-body}}" }, "hitlogBody": { "enabled": false, "hotKeyCode": 56, "onHold": "true", "visibleOnHotKey": false, "updateEvent": "ON_DAMAGE_CAUSED, ON_PANEL_MODE_CHANGED", "x": "{{pp.mode=0?5|{{py:math.sum({{pp.widthLeft}},50)}}}}", "y": "{{pp.mode=0?85|60}}", "width": 500, "height": 1000, "textFormat": { "color": "0xF4EFE8", "size": 15 }, "format": "{{hitlog-body}}" }, // Total hp indicator. // Индикатор общего HP команд. "totalHP": { "enabled": false, "updateEvent": "PY(ON_UPDATE_HP)", "x": 0, "y": 30, "screenHAlign": "center", "align": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "font": "mono", "size": 18, "align": "center" }, "format": "{{py:xvm.total_hp.text}}" }, // Avg damage on current vehicle. // Средний урон на текущей технике. "avgDamage": { "enabled": false, "updateEvent": "PY(ON_UPDATE_HP)", "x": -170, "y": 30, "screenHAlign": "center", "align": "right", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "size": 15, "align": "center" }, "format": "{{py:xvm.total_hp.avgDamage('{{l10n:avgDamage}}: ',{{hitlog.dmg-total}})}}" }, // Threshold necessary for achievements "High caliber". // Порог необходимый для получения достижения "Основной калибр". "mainGun": { "enabled": false, "updateEvent": "PY(ON_UPDATE_HP)", "x": 170, "y": 30, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "size": 15, "align": "center" }, "format": "{{py:xvm.total_hp.mainGun('{{l10n:mainGun}}: ',{{hitlog.dmg-total}})}}" }, // Chance of winning. // Шанс на победу. "winChance": { "enabled": true, "updateEvent": "ON_VEHICLE_DESTROYED", "x": 230, "y": 2, "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": { "size": 15 }, "format": "{{xvm-stat?{{l10n:Team strength}}: {{py:xvm.team_strength('{{allyStrengthLive}}','{{enemyStrengthLive}}')}}}}" }, // Log of the received damage (see damageLog.xc). // Лог полученного урона (см. damageLog.xc). "damageLog": { "enabled": true, "updateEvent": "PY(ON_HIT)", "x": 240, "y": 0, "width": 300, "height": 233, "screenVAlign": "bottom", "shadow": { "distance": "{{py:xvm.damageLog.dLog_shadow('distance')}}", "angle": "{{py:xvm.damageLog.dLog_shadow('angle')}}", "color": "{{py:xvm.damageLog.dLog_shadow('color')}}", "alpha": "{{py:xvm.damageLog.dLog_shadow('alpha')}}", "blur": "{{py:xvm.damageLog.dLog_shadow('blur')}}", "strength": "{{py:xvm.damageLog.dLog_shadow('strength')}}", "hideObject": "{{py:xvm.damageLog.dLog_shadow('hideObject')}}", "inner": "{{py:xvm.damageLog.dLog_shadow('inner')}}", "knockout": "{{py:xvm.damageLog.dLog_shadow('knockout')}}", "quality": "{{py:xvm.damageLog.dLog_shadow('quality')}}" }, "textFormat": { "color": "0xF4EFE8", "size": 16}, "format": "{{py:xvm.damageLog.dLog}}", "mouseEvents": { "mouseDown": "dLog_mouseDown", "mouseUp": "dLog_mouseUp", "mouseMove": "dLog_mouseMove" } }, // Display the last damage (hit) (see damageLog.xc). // Отображение последнего урона (попадания) (см. damageLog.xc). "lastHit": { "enabled": true, "updateEvent": "PY(ON_LAST_HIT)", "x": -120, "y": 200, "width": 200, "height": 100, "screenHAlign": "center", "screenVAlign": "center", "shadow": { "distance": "{{py:xvm.damageLog.lastHit_shadow('distance')}}", "angle": "{{py:xvm.damageLog.lastHit_shadow('angle')}}", "color": "{{py:xvm.damageLog.lastHit_shadow('color')}}", "alpha": "{{py:xvm.damageLog.lastHit_shadow('alpha')}}", "blur": "{{py:xvm.damageLog.lastHit_shadow('blur')}}", "strength": "{{py:xvm.damageLog.lastHit_shadow('strength')}}", "hideObject": "{{py:xvm.damageLog.lastHit_shadow('hideObject')}}", "inner": "{{py:xvm.damageLog.lastHit_shadow('inner')}}", "knockout": "{{py:xvm.damageLog.lastHit_shadow('knockout')}}", "quality": "{{py:xvm.damageLog.lastHit_shadow('quality')}}" }, "textFormat": {"align": "center", "color": "0xF4EFE8", "size": 16 }, "format": "{{py:xvm.damageLog.lastHit}}", "mouseEvents": { "mouseDown": "lastHit_mouseDown", "mouseUp": "lastHit_mouseUp", "mouseMove": "lastHit_mouseMove" } }, "fire": { "enabled": true, "updateEvent": "PY(ON_FIRE)", "x": 120, "y": 200, "width": 200, "height": 100, "alpha": "{{py:xvm.damageLog.fire}}", "screenHAlign": "center", "screenVAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": {"align": "center", "color": "0xF4EFE8", "size": 16 }, "format": "ПОЖАР" }, "totalEfficiency": { "enabled": true, "updateEvent": "PY(ON_TOTAL_EFFICIENCY)", "x": 240, "y": -2, "width": 300, "height": 22, "screenVAlign": "bottom", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": { "color": "0xE3E3E3", "size": 16 }, "format": "<textformat tabstops='[65,130,196]' leading='-2' ><img src='xvm://res/icons/Efficiency/damage.png'> {{py:xvm.totalDamage}}<tab><img src='xvm://res/icons/Efficiency/assist.png'> {{py:xvm.totalAssist}}<tab><img src='xvm://res/icons/Efficiency/reflect.png'> {{py:xvm.totalBlocked}}<tab><img src='xvm://res/icons/Efficiency/discover.png'> {{py:xvm.detection}}</textformat>" }, "sixthSenseTimer": { "enabled": true, "updateEvent": "PY(ON_SIXTH_SENSE_SHOW)", "x": 0, "y": 215, "width": 60, "height": 50, "screenHAlign": "center", "shadow": { "distance": 3, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 }, "textFormat": {"align": "center", "size": 34 }, "format": "<font face='Verdana' color='#F4C37E'>{{py:xvm.sixthSenseTimer(10)%01.1f}}<font size='10'>{{py:xvm.sixthSenseTimer(10)?с.}}</font" }, "battleClock": { "enabled": true, "updateEvent": "ON_EVERY_SECOND", "x": 0, "y": 45, "width": 200, "height": 40, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": {"align": "center", "size": 20 }, "format": "{{py:xvm.formatDate('%a %b %d %H:%M:%S')}}" } } } Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #371109 Posted December 21, 2016 @vizhu, папку config и файл xvm.log прикрепите. Quote Share this post Link to post Short link Share on other sites
vizhu 69 #371115 Posted December 21, 2016 @vizhu, папку config и файл xvm.log прикрепите. configs.rar python.log Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #371134 Posted December 21, 2016 @vizhu, обратитесь в эту тему 2016-12-21 19:40:37.653: INFO: ============================= 2016-12-21 19:40:37.653: INFO: 2016-12-21 19:40:37: [ERROR] ./res_mods/mods//xfw/python\xfw\events.pyc 2016-12-21 19:40:37.653: ERROR: Traceback (most recent call last): 2016-12-21 19:40:37.653: ERROR: File "./res_mods/mods//xfw/python\xfw\events.py", line 55, in __event_handler 2016-12-21 19:40:37.653: ERROR: e.fire(*a, **k) 2016-12-21 19:40:37.653: ERROR: File "./res_mods/mods//xfw/python\xfw\events.py", line 24, in fire 2016-12-21 19:40:37.653: ERROR: handler(*args, **keywargs) 2016-12-21 19:40:37.653: ERROR: File "res_mods/configs/xvm/py_macro\battleMessages.py", line 117, in onHealthChanged 2016-12-21 19:40:37.653: ERROR: if battleMessagesConfig['teamDamage']['enabled']: 2016-12-21 19:40:37.653: ERROR: TypeError: string indices must be integers, not str 2016-12-21 19:40:37.653: INFO: ============================= Quote Share this post Link to post Short link Share on other sites
bes1 115 #371166 Posted December 21, 2016 (edited) @vizhu, папку config и файл xvm.log прикрепите. В @xvm.xc УБЕРИ "teamDamage": ${"teamDamage.xc":"teamDamage"} похоже хмлку выкинул с конфига ,а в @xvm.xc всё ещё прописано Edited December 21, 2016 by _bes_1 Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #371290 Posted December 22, 2016 (edited) должно работать в width, вот нормализация действительно не будет работать, но ее можно и в самом питоне сделать. к сожалению не работатет пробовал так "totalHPally": { "enabled": true, "updateEvent": "PY(ON_UPDATE_HP)", "x": -200, "y": 30, "width": "{{py:xvm.total_hp.ally(230)}}", "height": 25, "screenHAlign": "center", "format": "<img src='cfg://Kornet_WA/img/totalHP/hp-ally-alive.png'>" }, так "width": "{{py:xvm.total_hp.ally:230}}", и так "format": "<img src='cfg://Kornet_WA/img/totalHP/hp-ally-alive.png' width='{{py:xvm.total_hp.ally:230}}' height='25'>" ни чего не пошло. Edited December 22, 2016 by Kornet_WA Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #371329 Posted December 22, 2016 к сожалению не работатет пробовал так "totalHPally": { "enabled": true, "updateEvent": "PY(ON_UPDATE_HP)", "x": -200, "y": 30, "width": "{{py:xvm.total_hp.ally(230)}}", "height": 25, "screenHAlign": "center", "format": "<img src='cfg://Kornet_WA/img/totalHP/hp-ally-alive.png'>" }, можно сделать, чтобы такая конструкция заработала Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #371333 Posted December 22, 2016 можно сделать, чтобы такая конструкция заработала Если есть время переделай пожалуйста скрипт totalHP. сделай немного универсальности если конечно не в ущерб производительности. Можно тему отдельную создать, а то фича есть нормально ни чего не вытащишь и темы нет. с позволения опишу хотелки: 1.Основной калибр возможность выбора через конфиг символа или надписи при получении и не возможности получении медали. 2. полоски хп с возможностью выбора символа через конфиг (прямая, наклонная черта), если сделаешь что бы вышеописанная структура работа вообще цены не будет. 3. Выбор центрального символа через конфиг по перевесу команд и его окрас 4. вывод цифрового значения перевеса и его окрас. И с последующим запулением в дефолт( если макс конечно будет не против) Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #371354 Posted December 22, 2016 (edited) 1.Основной калибр возможность выбора через конфиг символа или надписи при получении и не возможности получении медали. , в каких случаях не возможно получить медаль? 4. вывод цифрового значения перевеса и его окрас. , можно сйчас реализовать: "format": "<font color='{{py:math.sub({{py:xvm.total_hp.ally}}, {{py:xvm.total_hp.enemy}})>0?#00FF00|#FF0000}}'>{{py:math.sub({{py:xvm.total_hp.ally}}, {{py:xvm.total_hp.enemy}})}}</font>" "totalHPally": { "enabled": true, "updateEvent": "PY(ON_UPDATE_HP)", "x": -200, "y": 30, "width": "{{py:xvm.total_hp.ally(230)}}", "height": 25, "screenHAlign": "center", "format": "<img src='cfg://Kornet_WA/img/totalHP/hp-ally-alive.png'>" }, добавил поддержку этой конструкции total_hp.rar (не проверял). Edited December 23, 2016 by ktulho 1 Quote Share this post Link to post Short link Share on other sites