Arni Ex 95 #477286 Posted February 13, 2020 (edited) 5 часов назад, ADv сказал: Как вычислить недостающую картинку? Ищи запись в логе, указывающую на неё, с путём C:\Games\World_of_Tanks\res_mods\...\....png. Или как у автора темы: WARNING: Image 'img://gui/maps/icons/library/proficiency/class_icons_0.png' wasn't created in ProcessImageTags Edited February 13, 2020 by Arni Ex Quote Share this post Link to post Short link Share on other sites
ADv 10 #477290 Posted February 13, 2020 5 часов назад, Arni Ex сказал: Ищи запись в логе, указывающую на неё, с путём C:\Games\World_of_Tanks\res_mods\...\....png. Или как у автора темы: WARNING: Image 'img://gui/maps/icons/library/proficiency/class_icons_0.png' wasn't created in ProcessImageTags Естественно, я искал. В логе нет указаний на то, что это за картинка. python.log Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #477304 Posted February 13, 2020 13 часов назад, ADv сказал: Как вычислить недостающую картинку? А она в самом верху лога есть,где ошибка начинается,просто они иногда с несуществующим расширением и не всегда возможно такой метод использовать. Quote Share this post Link to post Short link Share on other sites
sergbodr 10 #477333 Posted February 13, 2020 @Slava7572 там же такая фигня /.png и никаккую пустышку не воткнёшь, это скрипт надо мастерить, чтобы эту простынь закрыть, тут один обещал, но, видимо, руки так и не дошли. Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #477339 Posted February 13, 2020 28 минут назад, sergbodr сказал: это скрипт надо мастерить в тот же,что Буш выкладывал,впиши еще один пример Quote Share this post Link to post Short link Share on other sites
Arni Ex 95 #477346 Posted February 13, 2020 (edited) 2 часа назад, sergbodr сказал: никаккую пустышку не воткнёшь Edited February 13, 2020 by Arni Ex Quote Share this post Link to post Short link Share on other sites
BuSH 174 #477347 Posted February 13, 2020 1 час назад, Slava7572 сказал: в тот же,что Буш выкладывал,впиши еще один пример Так-то туда можно всё написать, но поиск в строке это лютейшая дичь в плане производительности. По нормальному, нужно сам объект выдернуть и лучше создающий эти десятки тысяч строк а не их потом фильтровать. Я тут на днях знатно поковырялся в этих модах и чуть въехал в этот ооп, пытаясь понять как гуй общается с питоном через daapi. И по ходу осилю как-то выдернуть вызов лога пишущего простыню тем же оверрайт метод с XFW. Завтра буду дома, попробую фиксануть типа нативно. А там и до омтального не далеко. 3 Quote Share this post Link to post Short link Share on other sites
lenyadish 118 #477542 Posted February 16, 2020 результат ошибки у тс - однозначно использование wg tunera - у меня просто то же самое ((( Quote Share this post Link to post Short link Share on other sites
BornToKill_ 110 #477554 Posted February 16, 2020 @lenyadish никаких тюнеров и твикеров не использую и точно так же питон завален такими ошибками. кстати, тс тоже говорил, что не юзает никакие проги для поднятия фпс. Quote Share this post Link to post Short link Share on other sites
lenyadish 118 #477625 Posted February 17, 2020 16.02.2020 в 22:36, BornToKill_ сказал: @lenyadish никаких тюнеров и твикеров не использую и точно так же питон завален такими ошибками. кстати, тс тоже говорил, что не юзает никакие проги для поднятия фпс. Ну в любом случае это результат 1.7.1, восстановление игры помогает Меняет всего-то ничего ))) В основном иконки к игре Quote Share this post Link to post Short link Share on other sites
BuSH 174 #477661 Posted February 18, 2020 Тю епт, написал вам тут маляву пару дней назад, сел почитать проконало ли а то потестить было некогда А малява не засабмичена. Такой вышел py_macro: import BigWorld from xfw.events import overrideStaticMethod from xfw_actionscript.python import * from xvm_main.python.logger import * from helpers.EffectsList import EffectsListPlayer @overrideStaticMethod(EffectsListPlayer, 'clear') def _EffectsListPlayer_clear(base): import logging logging.getLogger('helpers').setLevel(logging.WARNING) from helpers.EffectsList import EffectsListPlayer base Отличие от мода с предыдущей страницы — требование к процу умножено на ноль. Картоха, в какой там, 1.7.1 просто добавила строку вывода кеша эффектов (или хз че это) в лог. Только вывод в лог, вся логика осталась неизменна. Предыдущий мод вынюхивал эти строки, десятки тысяч строк после каждого боя, и тупо их отбрасывал. Этот паймакро вырубает логировалку, но только внутри этой функции (надеюсь на это, влом проверять на верочку) ну и та картохина строка вывода в лог тупо игнорится. Если че, моя хата с краю, про питон вчера узнал ) Ох поповозился с этим последним base. ПИсал base() по шаблону с других скриптов и трейс мне втюхивает чтобы давал ему экземпляр вместо класса а то нотколейбл. Пока я тут пытался въехать во всю муть которую гоняет daapi между флешем и питоном, логировал все ивенты в автобусе и наблюдал где эти все овнеры флеша скачут, которые тоже в логе бесят. Думаю, загляну туда ближайшее время. Тупо чистить лог вообще не интересно, двойная работа. 3 Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #477670 Posted February 18, 2020 3 часа назад, BuSH сказал: Такой вышел py_macro Трудно сказать по производительности,с большим запасом у меня,но работает,вместо прошлого поставил. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #477674 Posted February 18, 2020 (edited) 6 часов назад, BuSH сказал: Ох поповозился с этим последним base. ПИсал base() по шаблону с других скриптов и трейс мне втюхивает чтобы давал ему экземпляр вместо класса а то нотколейбл. Может надо было так: @overrideStaticMethod(EffectsListPlayer, 'clear') def _EffectsListPlayer_clear(base, cls): import logging logging.getLogger('helpers').setLevel(logging.WARNING) from helpers.EffectsList import EffectsListPlayer base() ? И импорты лучше убрать из функции. Особенно, если функция часто вызывается. P.S. это я попутал с @classmetod. Edited February 18, 2020 by ktulho Quote Share this post Link to post Short link Share on other sites
ADv 10 #477688 Posted February 18, 2020 (edited) 8 часов назад, BuSH сказал: Тю епт, написал вам тут маляву пару дней назад, сел почитать проконало ли а то потестить было некогда А малява не засабмичена. Такой вышел py_macro: import BigWorld from xfw.events import overrideStaticMethod from xfw_actionscript.python import * from xvm_main.python.logger import * from helpers.EffectsList import EffectsListPlayer @overrideStaticMethod(EffectsListPlayer, 'clear') def _EffectsListPlayer_clear(base): import logging logging.getLogger('helpers').setLevel(logging.WARNING) from helpers.EffectsList import EffectsListPlayer base Я правильно понял? В \res_mods\configs\xvm\py_macro\mod_effectlist_cleaner_macro.py ? mod_effectlist_cleaner_macro.py Edited February 18, 2020 by ADv Quote Share this post Link to post Short link Share on other sites
justdj 13 #477689 Posted February 18, 2020 from helpers import EffectsList EffectsList.LOG_WARNING = lambda *_, **__: None А Юра говорит не надо изобретать велосипед и вот так работает Quote Share this post Link to post Short link Share on other sites
BuSH 174 #477705 Posted February 19, 2020 15 часов назад, ktulho сказал: Может надо было так: Это ты знаешь как надо, а в моей ситуации надо так, как заработает ). Я частенько имею дело с разными языками, но только в процедурке. ООП для меня открытие. По импортам... Нашёл мануал по logger, отключать его можно только с корня, который ещё узнать надо и в каком-то примере нашёл такой-то подход, Переключил логлевел там от куда пришёл а потом вкинул поверх необходимый модуль на нужный уровень. Именно такой подход позволяет тупо скипать ту строку. 11 часов назад, justdj сказал: EffectsList.LOG_WARNING = lambda *_, **__: None Ещё бы въехать куда это ты её завернул... Я сходу подумал о переопределении тупо этой переменной, но отключалка попалась быстрее в гуглеже. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #477709 Posted February 19, 2020 8 минут назад, BuSH сказал: Ещё бы въехать куда это ты её завернул... Вроде не надо ни куда заворачивать. Должно быть достаточно этих двух строк. Quote Share this post Link to post Short link Share on other sites
BuSH 174 #477710 Posted February 19, 2020 (edited) @ktulho видать ты не понял о чем я... ВОт он для EffectsList.LOG_WARNING присвоил другое значение. Когда game.py вызовет этот метод clear(). Куда будет ломится та переменная с таким-то значением? Такой был вопрос, но его гуглонуть уже давно было проще чем... Upd. И это... Сорян за сарказм, но когда народ в панике, не может ни норм поиграть без перезапусков клиента постоянных, ни помутить дичи всякой так как орион после 2-3 боя складывался от напора в лог. А когда челядь пошла рыться в неизвестности в поисках спасения, дак врыв с фразами типа "та тут изи". Edited February 19, 2020 by BuSH Quote Share this post Link to post Short link Share on other sites
sergbodr 10 #477713 Posted February 19, 2020 Товарищи, объясните оленю, куда его ставить и нужно ли убирать предыдущий вариант? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #477714 Posted February 19, 2020 16 минут назад, BuSH сказал: Куда будет ломится та переменная с таким-то значением? Видимо в lambda *_, **__: None, и функция всегда будет возвращать None. 32 минуты назад, BuSH сказал: Сорян за сарказм, но когда народ в панике, не может ни норм поиграть без перезапусков клиента постоянных, ни помутить дичи всякой так как орион после 2-3 боя складывался от напора в лог. А когда челядь пошла рыться в неизвестности в поисках спасения, дак врыв с фразами типа "та тут изи". Я давно не играю, и в данной теме меня заинтересовало, только @overrideStaticMethod. Мне ещё не приходилось его использовать. Quote Share this post Link to post Short link Share on other sites