Popular Post Kotyarko_O Posted October 13, 2016 Popular Post Share Posted October 13, 2016 (edited) Таймер ремонта модулей. Bitbucket: https://bitbucket.org/Kotyarko_O/wot-xvm.py_macro/src/master/ Установка: 'battleLabelsTemplates.xc' // Rewritable default format // Перезаписываемый формат по-умолчанию "repairTimeItem": { "width": 47, "height": 40, "screenHAlign": "left", "screenVAlign": "bottom", "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 4 }, "textFormat": { "color": "0xF4EFE8", "size": 17, "align": "center", "valign": "center" } }, // Repair timer for engine // Таймер ремонта двигателя "repairTimeEngine": { "$ref": { "path":"def.repairTimeItem" }, "enabled": true, "updateEvent": "PY(ON_ENGINE_UPDATE)", "x": 4, "y": -141, "format": "<b>{{py:repairTimeEngine}}</b>" }, // Repair timer for gun // Таймер ремонта орудия "repairTimeGun": { "$ref": { "path":"def.repairTimeItem" }, "enabled": true, "updateEvent": "PY(ON_GUN_UPDATE)", "x": 4, "y": -63, "format": "<b>{{py:repairTimeGun}}</b>" }, // Repair timer for turret rotator // Таймер ремонта механизма поворота башни "repairTimeTurret": { "$ref": { "path":"def.repairTimeItem" }, "enabled": true, "updateEvent": "PY(ON_TURRETROTATOR_UPDATE)", "x": 4, "y": -24, "format": "<b>{{py:repairTimeTurret}}</b>" }, // Repair timer for complex-items (chassis\wheels) // Таймер ремонта для гусениц\колёс "repairTimeComplex": { "$ref": { "path":"def.repairTimeItem" }, "enabled": true, "updateEvent": "PY(ON_COMPLEX_UPDATE)", "x": 177, "y": -141, "format": "<b>{{py:repairTimeComplex}}</b>" }, // Repair timer for surveying device // Таймер ремонта приборов наблюдения "repairTimeSurveying": { "$ref": { "path":"def.repairTimeItem" }, "enabled": true, "updateEvent": "PY(ON_SURVEYINGDEVICE_UPDATE)", "x": 177, "y": -102, "format": "<b>{{py:repairTimeSurveying}}</b>" }, // Repair timer for radio // Таймер ремонта радиостанции "repairTimeRadio": { "$ref": { "path":"def.repairTimeItem" }, "enabled": true, "updateEvent": "PY(ON_RADIO_UPDATE)", "x": 177, "y": -63, "format": "<b>{{py:repairTimeRadio}}</b>" } 'battleLabels.xc' ${ "battleLabelsTemplates.xc":"def.repairTimeEngine" }, ${ "battleLabelsTemplates.xc":"def.repairTimeGun" }, ${ "battleLabelsTemplates.xc":"def.repairTimeTurret" }, ${ "battleLabelsTemplates.xc":"def.repairTimeComplex" }, ${ "battleLabelsTemplates.xc":"def.repairTimeSurveying" }, ${ "battleLabelsTemplates.xc":"def.repairTimeRadio" } Содержимое архива распаковать в "res_mods\configs\xvm\py_macro": repairTime.rar Аддон доступен в дефолтной поставке XVM. Примечания: Объяснение несоответствия отображаемого времени ремонта с фактическим моментом ремонта модуля: https://bugs.wargaming.net/issues/17069#change-41705 Edited August 8, 2020 by Kotyarko_O 39 @ Quote Link to comment Short link Share on other sites More sharing options...
BuSH Posted October 13, 2016 Share Posted October 13, 2016 (edited) Таймер ремонта. Подогнано пока что только для гусениц. И таймер не полноценный, но для начала сойдёт, я думаю. Сходу не взлетело... 2016-10-13 17:29:07: [ERROR] Traceback (most recent call last): File "xvm_main/python_macro.py", line 154, in process_python_macro File "xvm_main/python_macro.py", line 141, in get_function ValueError: Function syntax error: repairingTime arg='repairingTime' в battleLabels.xc ссылку не забыли добавить?Та всё есть: релизная версия xvm`а стоит? Если да, то там функции должны быть в другом формате, заканчиваться скобками. 2016-10-13 17:28:47: xvm 0.9.16 (http://www.modxvm.com/) for WoT 0.9.16 2016-10-13 17:28:47: Branch: default, Revision: 6577 "format": "{{py:repairingTime()}}"Вот так работает. Спасибо. Edited October 13, 2016 by BuSH @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted October 13, 2016 Share Posted October 13, 2016 @BuSH, в battleLabels.xc ссылку не забыли добавить? @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 13, 2016 Author Share Posted October 13, 2016 (edited) @BuSH, релизная версия xvm`а стоит? Если да, то там функции должны быть в другом формате, заканчиваться скобками. battleLabelsTemplates.xc: "format": "<b>{{py:repairingTime()}}</b>" Branch: default, Revision: 6577 XVM-6.4.6.3-dev: ... * py_macro: скобки для функций без аргументов могут быть опущены Установите последнюю ночную сборку, или попробуйте скобки приписать, как я показал выше. Edited October 13, 2016 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
BuSH Posted October 13, 2016 Share Posted October 13, 2016 p.s. буду благодарен за реплеи с выведенными из строя башней, орудием, двигателем, приборами наблюдения (вроде всё ломающееся перечислил).Может сходу нужно в новую тему уезжать раз такой замах? @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 13, 2016 Share Posted October 13, 2016 за реплеи с выведенными из строя башней крит башни + последующий крит гусли 20161012_2109_ussr-R109_T54S_28_desert.wotreplay 1 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted October 13, 2016 Share Posted October 13, 2016 Таймер ремонта. Подогнано пока что только для гусениц. И таймер не полноценный, но для начала сойдёт, я думаю. Можешь уже отдельную тему создавать. :) Чувствую, скоро нужен будет раздел для py_macro. 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 13, 2016 Author Share Posted October 13, 2016 крит башни + последующий крит гусли Спасибо, башня с гусеницей готовы. Нарою всё остальное - выложу новую версию. 2 @ Quote Link to comment Short link Share on other sites More sharing options...
panteror Posted October 13, 2016 Share Posted October 13, 2016 Спасибо, башня с гусеницей готовы. Нарою всё остальное - выложу новую версию. Nice work The timer is full second (10, 9, 8... ), possibility to have hundredth in future release ? @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 13, 2016 Author Share Posted October 13, 2016 (edited) The timer is full second (10, 9, 8... ), possibility to have hundredth in future release ? Of course. There will be individual timer. @sirmax, т.к. здесь будет 5 текстовых полей для каждого модуля, лучше на каждое вводить отдельное событие или пользоваться одним, но для всех? Я не знаю, что будет лучше по производительности: обновление нескольких полей при одном событии или несколько событий, но по одному обновлённому полю. Edited October 13, 2016 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted October 13, 2016 Share Posted October 13, 2016 Думаю лучше: лучше на каждое вводить отдельное событие @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 13, 2016 Share Posted October 13, 2016 Спасибо, башня с гусеницей готовы. Нарою всё остальное - выложу новую версию. движок, орудие 20161013_2031_germany-G97_Waffentrager_IV_02_malinovka.wotreplay приборы наблюдения, орудие replay_last_battle.wotreplay 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 13, 2016 Author Share Posted October 13, 2016 @Kapany3uk, большое спасибо. Обновил для всех модулей. В следующем обновлении будет полноценный таймер и, скорее всего, отдельные события. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted October 13, 2016 Share Posted October 13, 2016 (edited) @sirmax, т.к. здесь будет 5 текстовых полей для каждого модуля, лучше на каждое вводить отдельное событие или пользоваться одним, но для всех? Я не знаю, что будет лучше по производительности: обновление нескольких полей при одном событии или несколько событий, но по одному обновлённому полю. Если события одинаковые, то лучше одно на всех. Если у каждого поля свое хитрое поведение, например, значение поля меняется раз в секунду, то лучше для него сделать отдельное событие, чтобы в холостую не гонять. С другой стороны, надо смотреть на управляемость этого всего. Если реализация сделана в разных .py файлах, то лучше разделить события, чтобы у народа не было вопросов как их включить. По производительности одно или несколько событий будет не сильно отличаться. Edited October 13, 2016 by sirmax 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Последний из могикан... Posted October 13, 2016 Share Posted October 13, 2016 хорошая весчь ++ @ Quote Link to comment Short link Share on other sites More sharing options...
Сербия Posted October 13, 2016 Share Posted October 13, 2016 @Kotyarko_O, спасибо за работу. Не по теме: может кто это сделать в XVM WotXp http://www.koreanrandom.com/forum/topic/24591-09-wotxp-расширенное-отображение-опыта-экипажа-и-тех/ @ Quote Link to comment Short link Share on other sites More sharing options...
hat3k Posted October 13, 2016 Share Posted October 13, 2016 Большое спасибо за таймер. Вопрос, а нужны ли "с."? @ Quote Link to comment Short link Share on other sites More sharing options...
daftGear Posted October 13, 2016 Share Posted October 13, 2016 (edited) "$ref": { "path":"defaultItem" }, забыл дописать вроде "$ref": { "path":"def.defaultItem" }, Edited October 13, 2016 by NagibMan @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted October 13, 2016 Author Share Posted October 13, 2016 (edited) Если события одинаковые, то лучше одно на всех. Если у каждого поля свое хитрое поведение, например, значение поля меняется раз в секунду, то лучше для него сделать отдельное событие, чтобы в холостую не гонять. С другой стороны, надо смотреть на управляемость этого всего. Если реализация сделана в разных .py файлах, то лучше разделить события, чтобы у народа не было вопросов как их включить. По производительности одно или несколько событий будет не сильно отличаться. Понял, спасибо. Когда начал делать самостоятельные таймеры, вопрос отпал, потому что там без отдельных событий никак. Вопрос, а нужны ли "с."? Наверное, нет. И без них всё понятно смотрится (при отдельном таймере). UPD. Обновлено. Введены отдельные таймеры для каждого модуля. The timer is full second (10, 9, 8... ), possibility to have hundredth in future release ? Done. Edited October 13, 2016 by Kotyarko_O 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 13, 2016 Share Posted October 13, 2016 Обновлено. Введены отдельные таймеры для каждого модуля. из того что бросилось в глаза: 1. не проставляется ноль после точки при целых секундах, отчего изображение скачет 2. на реплее при повторном крите того же модуля таймер не отображается 3 @ 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.