Kornet_WA Posted July 23, 2017 Share Posted July 23, 2017 Возможно, но у меня желание нет. На данный момент, вроде, в ru секторе популярны 3 мода, реализующий данный функционал. Жаль. Активистов твоего уровня очень мало, night_dragon_on тоже не будет делать, Kotyarko_O пропал куда то, а больше ни кого и не знаю. Честно сказать ты и так на доброй воле многое сделал для нас Громаднейшее спасибо за это. @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 23, 2017 Share Posted July 23, 2017 .А вообще сложно допустим адаптировать уже готовый код,но средствами ХВМ? , не сложно. ХВМ пользовалось бы популярностью не меньше,чем тот же демедж лог)) , наверняка пользовалось бы большой популярностью.@Kornet_WA, @Slava7572, переделывать этот мод под XVM нет ни какого смысла. Но если очень хочется, то это не сложно. Заменить такие конструкции: def new_onBecomePlayer(self): old_onBecomePlayer(self) stat.battleResultsAvailable.set() stat.load() old_onBecomePlayer = Account.onBecomePlayer Account.onBecomePlayer = new_onBecomePlayer на такие: @registerEvent(Account, 'onBecomePlayer') def new_onBecomePlayer(self): stat.battleResultsAvailable.set() stat.load() Или такие: def new_onBecomeNonPlayer(self): stat.battleResultsAvailable.clear() old_onBecomeNonPlayer(self) old_onBecomeNonPlayer = Account.onBecomeNonPlayer Account.onBecomeNonPlayer = new_onBecomeNonPlayer на такие: @overrideMethod(Account, 'onBecomeNonPlayer') def new_onBecomeNonPlayer(base, self): stat.battleResultsAvailable.clear() base(self) И сделать чтение конфигурационных файлов через XVM (так удобнее). В данном моде, вроде, ни чего больше менять не надо. Если будут вопросы, то задавайте, наверняка кто-нибудь ответит. 3 @ Quote Link to comment Short link Share on other sites More sharing options...
vlad_cs_sr Posted July 24, 2017 Share Posted July 24, 2017 сделать чтение конфигурационных файлов через XVM (так удобнее). я тока понял, что тут прописан путь для папки статистики def load(self):.. path = '/'.join(['.', 'res_mods', 'configs', 'wotstat']).. если заменить на def load(self):.. path = '/'.join(['.', 'res_mods', 'configs', 'xvm', 'wotstat']) то папка, вроде, должна читаться из конфигс\хвм? @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 24, 2017 Share Posted July 24, 2017 @vlad_cs_sr, я имел ввиду перенести настройки в XVM. То есть добавить в @xvm.xc: "wotstat": ${"wotstat.xc":"wotstat"}, Добавить в папку со своим конфигом файл wotstat.xc. И перенести туда содержимое файла config.json. В скрипт добавить импорт: import xvm_main.python.config as config После этого, в скрипте заменяем такие конструкции: self.config.get('battleStatPatterns',[])self.config.get('dailyAutoResetHour', 4)и т.д. на такие config.get('wotstat/battleStatPatterns',[])config.get('wotstat/dailyAutoResetHour', 4) 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Slava7572 Posted July 24, 2017 Share Posted July 24, 2017 , не сложно. , наверняка пользовалось бы большой популярностью. @Kornet_WA, @Slava7572, переделывать этот мод под XVM нет ни какого смысла. Но если очень хочется, то это не сложно. Заменить такие конструкции: def new_onBecomePlayer(self): old_onBecomePlayer(self) stat.battleResultsAvailable.set() stat.load()old_onBecomePlayer = Account.onBecomePlayerAccount.onBecomePlayer = new_onBecomePlayer на такие: @registerEvent(Account, 'onBecomePlayer')def new_onBecomePlayer(self): stat.battleResultsAvailable.set() stat.load() Или такие: def new_onBecomeNonPlayer(self): stat.battleResultsAvailable.clear() old_onBecomeNonPlayer(self)old_onBecomeNonPlayer = Account.onBecomeNonPlayerAccount.onBecomeNonPlayer = new_onBecomeNonPlayer на такие: @overrideMethod(Account, 'onBecomeNonPlayer')def new_onBecomeNonPlayer(base, self): stat.battleResultsAvailable.clear() base(self) И сделать чтение конфигурационных файлов через XVM (так удобнее). В данном моде, вроде, ни чего больше менять не надо. Если будут вопросы, то задавайте, наверняка кто-нибудь ответит. Вы просто лучший)))Обязательно переделаю как время будет.С точки зрения производительности(как я понял) может смысла и нет,но он есть хотя бы потому,что все будет в одном комплексном моде ХВМ,опять же не будет проблем с постоянными обновлениями картохи. Спасибо! 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 24, 2017 Share Posted July 24, 2017 опять же не будет проблем с постоянными обновлениями картохи , почему не будет? Такие же проблемы, как и в отдельном моде, будут. @ Quote Link to comment Short link Share on other sites More sharing options...
Slava7572 Posted July 24, 2017 Share Posted July 24, 2017 , почему не будет? Такие же проблемы, как и в отдельном моде, будут. Я имею ввиду перекомпил и прочие еженедельные "радости",сейчас правда в этом плане чуть легче,не каждый патч меняют что то кардинально,но все же намного проще исправить .ру файл,чем .рус :) @ Quote Link to comment Short link Share on other sites More sharing options...
Kornet_WA Posted July 24, 2017 Share Posted July 24, 2017 Хотелось бы конечно и новых плюшек. например размер окна по вертикали, просил полиройда говорил что возможно но так и забиыл. Выбор первой вкладки в окне статистики по умолчанию. Информационные сообщения от ВГ иногда висят под статистикой. Кстати сообщение о предыдущем бое в чат логичнее было бы засунуть сюда туда же и фишку на ограничение строк в чате. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
vlad_cs_sr Posted July 24, 2017 Share Posted July 24, 2017 , наверняка пользовалось бы большой популярностью. @Kornet_WA, @Slava7572, переделывать этот мод под XVM нет ни какого смысла. Но если очень хочется, то это не сложно. Заменить такие конструкции: def new_onBecomePlayer(self): old_onBecomePlayer(self) stat.battleResultsAvailable.set() stat.load() old_onBecomePlayer = Account.onBecomePlayer Account.onBecomePlayer = new_onBecomePlayer на такие: @registerEvent(Account, 'onBecomePlayer') def new_onBecomePlayer(self): stat.battleResultsAvailable.set() stat.load() Или такие: def new_onBecomeNonPlayer(self): stat.battleResultsAvailable.clear() old_onBecomeNonPlayer(self) old_onBecomeNonPlayer = Account.onBecomeNonPlayer Account.onBecomeNonPlayer = new_onBecomeNonPlayer на такие: @overrideMethod(Account, 'onBecomeNonPlayer') def new_onBecomeNonPlayer(base, self): stat.battleResultsAvailable.clear() base(self) И сделать чтение конфигурационных файлов через XVM (так удобнее). В данном моде, вроде, ни чего больше менять не надо. Если будут вопросы, то задавайте, наверняка кто-нибудь ответит. @vlad_cs_sr, я имел ввиду перенести настройки в XVM. То есть добавить в @xvm.xc: "wotstat": ${"wotstat.xc":"wotstat"}, Добавить в папку со своим конфигом файл wotstat.xc. И перенести туда содержимое файла config.json. В скрипт добавить импорт: import xvm_main.python.config as config После этого, в скрипте заменяем такие конструкции: self.config.get('battleStatPatterns',[]) self.config.get('dailyAutoResetHour', 4) и т.д. на такие config.get('wotstat/battleStatPatterns',[]) config.get('wotstat/dailyAutoResetHour', 4) В общем, намутил чего-то, и оно не взлетело mod_stat.zip Зато мод пишет ошибки в журнал xvm.log @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 25, 2017 Share Posted July 25, 2017 Зато мод пишет ошибки в журнал , это надо у @sirmax спросить. В py_macro запрещено использовать eval()? @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted July 25, 2017 Share Posted July 25, 2017 Запрещено @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 25, 2017 Share Posted July 25, 2017 Значит не так просто будет переделать данный мод на py_macro. @ Quote Link to comment Short link Share on other sites More sharing options...
vlad_cs_sr Posted July 25, 2017 Share Posted July 25, 2017 С другой стороны, лично для меня, если мод не будет включен в состав дефолта, всё равно, что отдельный устанавливать, что аддон. @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted July 25, 2017 Share Posted July 25, 2017 (edited) @sirmax, а с этим поможешь? ну или хотя бы какой *.ру отвечает за вывод статистики на вкладке "достижения/техника"? Edited July 25, 2017 by Kapany3uk @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted July 25, 2017 Share Posted July 25, 2017 Я не смотрел, нет времени. Логика отображения в достижениях во флеше, а не в питоне. @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 25, 2017 Share Posted July 25, 2017 ну или хотя бы какой *.ру отвечает за вывод статистики на вкладке "достижения/техника"? , а то что выложил night_dragon_on не помогло? @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted July 25, 2017 Share Posted July 25, 2017 (edited) , а то что выложил night_dragon_on не помогло? помогло, очень! Инфа "осталось побед до" кроме как в ангаре в достижениях нигде больше не выводилась, ее продублировать - 10 строк кода. Но с макросами статистики вопрос в другом: зачем заново писать код для расчета wn8 и Eff если есть готовый в "недрах" хвм и его можно вывести в виджете? вот если макросы не расшариваются для ангара, тогда придется, но тут ведь еще паровозом придется писать код на окраску по значению, по сути "с нуля" создавать эти макросы с динамической окраской... имхо не настолько я хочу этот виджет, чтобы так заморачиваться (с моим уровнем знаний - задачка на пару недель минимум, да и вряд ли самостоятельно осилю - классический случай когда желание намного опережает возможность)... Edited July 25, 2017 by Kapany3uk @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 25, 2017 Share Posted July 25, 2017 но тут ведь еще паровозом придется писать код на окраску по значению, по сути "с нуля" создавать эти макросы с динамической окраской... , ну это не потребуется, есть же ├────────────────────────────┼──────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────── │xvm.py (utils.py) │{{py:xvm.dynamic_color_rating(r, v)}} │макрос плавного перехода цвета между границами цветов из файла color.xc, r - название секции из │ │ │файла color.xc, v - значение. Пример: {{py:xvm.dynamic_color_rating('x', {{xwn8}})}} ├────────────────────────────┼──────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────── @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted July 25, 2017 Share Posted July 25, 2017 , ну это не потребуется, есть же ├────────────────────────────┼──────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────── │xvm.py (utils.py) │{{py:xvm.dynamic_color_rating(r, v)}} │макрос плавного перехода цвета между границами цветов из файла color.xc, r - название секции из │ │ │файла color.xc, v - значение. Пример: {{py:xvm.dynamic_color_rating('x', {{xwn8}})}} ├────────────────────────────┼──────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────── тут "плавный" переход, а надо "резкий", 1430 - желтый, 1431 - зеленый (пример, цифры с потолка) @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 25, 2017 Share Posted July 25, 2017 тут "плавный" переход, а надо "резкий", 1430 - желтый, 1431 - зеленый (пример, цифры с потолка) , да ты даже не заметишь разницы), Если сделаешь макросы статистики, то я добавлю макрос "резкого" перехода.) @ 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.