ktulho Posted June 13, 2018 Share Posted June 13, 2018 2 часа назад, sirmax сказал: вместо локализованного текста нужно использовать ключи локализации Может сделать, чтобы оба варианта поддерживалось? @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 13, 2018 Share Posted June 13, 2018 смысл в том, что ключи универсальны для любого языка, соответственно конфиг не будет привязан к одной локализации. Иначе фича будет ограничена, ей будет не удобно пользоваться. @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2018 Share Posted June 13, 2018 @sirmax и я о том же. В дефолте прописать ключи, и оставить возможность использовать шаблоны. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 13, 2018 Share Posted June 13, 2018 Насчет такого варианта не возражаю, хотя считаю, что ключей достаточно. Локализованный текст тоже нужно из файлов локализации брать, потому что руками набивать - это плохо. Пропустят пробел, и будут писать, что не работает. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 13, 2018 Share Posted June 13, 2018 (edited) 10 часов назад, sirmax сказал: только вместо локализованного текста нужно использовать ключи локализации 5 часов назад, sirmax сказал: хотя считаю, что ключей достаточно Ключами немного не то получается, в шаблонах прописываем ключ: i18n.makeString('#system_messages:connected') Получаем на выходе: Добро пожаловать на сервер '%s' World of Tanks! По этому шаблону мы не можем скрыть текст в системном канале т.к наименование сервера не указано. И так не только с сервером, в локализации множество фраз аналогично дополняется (Ремонт: ..., Куплено: ... и т.п). Edited June 13, 2018 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2018 Share Posted June 13, 2018 (edited) @night_dragon_on а если так: connectionMgr = dependency.instance(IConnectionManager) i18n.makeString('#system_messages:connected'.format(connectionMgr.serverUserName)) P.S. А, это же в конфиге надо прописывать P.P.S. ключи надо сравнивать раньше. Хотя раньше негде. Edited June 13, 2018 by ktulho @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 13, 2018 Share Posted June 13, 2018 17 минут назад, ktulho сказал: ключи надо сравнивать раньше Я же ранее упомянул что помимо именно этой фразы полно других в которые так или иначе данные подставляются, например: i18n.makeString('#system_messages:artefact_apply/money_success') %(kind)s '%(name)s' снято с машины. Потрачено %(money)s. i18n.makeString('#system_messages:artefact_apply/success') %(kind)s '%(name)s' установлено на машину. i18n.makeString('#system_messages:artefact_buy/not_enough_crystal') Покупка %(kind)s '%(name)s' не удалась. Недостаточно бон. И т.п., так что первоначальный вариант записи непосредственно текстом единственно возможный. @ Quote Link to comment Short link Share on other sites More sharing options...
aleksei.zemlyanskii@facebo Posted June 13, 2018 Share Posted June 13, 2018 Стесняюсь спросить а где моды XVM? нашел самый свежий вопрос к разрабам? @ Quote Link to comment Short link Share on other sites More sharing options...
ADv Posted June 13, 2018 Share Posted June 13, 2018 (edited) @ktulho поймал ошибку и вылет с новым скриптом infoAutoAim.py Захватил противника в автоприцел, он скрылся передо мной за камнем, после чего пропал из засвета. Когда появился - игра вылетела, в логе - указанная ошибка. Реплей, к сожалению, не сохранился из-за вылета. Пустой temp.wotreplay остался. 2018-06-13 18:01:41.495: INFO: ============================= 2018-06-13 18:01:41.495: INFO: 2018-06-13 18:01:41: [ERROR] mods/xfw/python/xfw/events.pyc 2018-06-13 18:01:41.495: ERROR: Traceback (most recent call last): 2018-06-13 18:01:41.495: ERROR: File "mods/xfw/python/xfw/events.py", line 57, in __event_handler 2018-06-13 18:01:41.496: ERROR: File "mods/xfw/python/xfw/events.py", line 24, in fire 2018-06-13 18:01:41.497: ERROR: File "res_mods/configs/xvm/py_macro\infoAutoAim.py", line 79, in onLockTarget 2018-06-13 18:01:41.497: ERROR: hideMarker(oldTarget) 2018-06-13 18:01:41.497: ERROR: File "res_mods/configs/xvm/py_macro\infoAutoAim.py", line 31, in hideMarker 2018-06-13 18:01:41.497: ERROR: node = target.appearance.compoundModel.node('hull') 2018-06-13 18:01:41.497: ERROR: AttributeError: 'NoneType' object has no attribute 'appearance' 2018-06-13 18:01:41.497: INFO: ============================= Полный лог в аттаче. python.log Edited June 13, 2018 by ADv 1 @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2018 Share Posted June 13, 2018 18 минут назад, night_dragon_on сказал: Я же ранее упомянул что помимо именно этой фразы полно других в которые так или иначе данные подставляются, например: Как раз с этими примерами проблем нет. Их все можно перехватить в SystemMessages.pushI18nMessage() 7 минут назад, ADv сказал: поймал ошибку и вылет с новым скриптом infoAutoAim.py Спасибо, но лучше писать в соответствующую тему. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 13, 2018 Share Posted June 13, 2018 я ж говорю - посмотрите, как сделано в отключении тултипов 1 @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 13, 2018 Share Posted June 13, 2018 (edited) @sirmax , текст то уберется таким способом @overrideMethod(i18n, 'makeString') Но само сообщение пустое будет висеть в ЦУ. Edited June 13, 2018 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2018 Share Posted June 13, 2018 (edited) Может так: @overrideMethod(i18n, 'makeString') def _i18n_makeString(base, key, *args, **kwargs): if key in config.get('hangar/hideMessagePatterns', []): return '' return base(key, *args, **kwargs) В принципе здесь и проверку шаблонов можно делать. Edited June 13, 2018 by ktulho @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 13, 2018 Share Posted June 13, 2018 (edited) @ktulho , так пустое сообщение останется в ЦУ. Edited June 13, 2018 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2018 Share Posted June 13, 2018 @night_dragon_on ну вместо '' можно возвращать какую-нибудь последовательность, а в as_setMessagesListS перехватывать эту последовательность. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 13, 2018 Share Posted June 13, 2018 ну так у меня и сделано, вы бы хоть посмотрели @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 13, 2018 Share Posted June 13, 2018 (edited) Так смотрели, если ключ совпал с тем что прописано в конфиге возвращается константа: return XVM_TOOLTIPS.HIDE Но я так и не понял почему она далее ищется в tooltipId if XVM_TOOLTIPS.HIDE not in tooltipId Она же имеет постоянное значение, на нее ничего не присваивается. (или у меня просто голова после смены не варит сегодня и я чего то перед носом не вижу ). Edited June 13, 2018 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 13, 2018 Share Posted June 13, 2018 (edited) ищется, чтобы скрыть. в первом методе помечаем то, что надо скрыть, во втором - скрываем. "not in" - потому что tooltipId - это уже локализованный текст (почему так называется переменная - это к WG). А она может быть форматированной, с лишними тегами. Поэтому ищем уникальный текст во всей строке. Edited June 13, 2018 by sirmax 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kaeptn Posted June 26, 2018 Share Posted June 26, 2018 В 13.6.2018 в 09:10, sirmax сказал: meaning that the keys are universal for any language, respectively, the config will not be tied to one localization. Otherwise, the feature will be limited, it will not be convenient to use. this mod: http://forum.worldoftanks.eu/index.php?/topic/496784-0919-tidy-messenger/ can filter messages by message ID, language independet. maybe his approach is interesting in this case? @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted July 5, 2018 Share Posted July 5, 2018 @sirmax, есть ли возможность, при просмотре риплеев, сделать загрузку скриптов из py_macro пораньше, перед событием onBecomePlayer? @ 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.