Topsy-Turvy 1 Posted July 26, 2015 Здравствуйте, Хочу сделать мод считающий доходность танка. Питон знаю. Подскажите, с чего начать? Пока не понимаю нужно ли мне декомпилировать скрипт и вставить в него свой код? Или я могу подложить свой скрипт, в нем подписаться на событие об окончании боя и получить результаты в ивенте? Quote Share this post Link to post Short link Share on other sites
Topsy-Turvy 1 #285184 Posted July 27, 2015 Парни, я кажется разобрался :) Скопипастил чуть меньше чем все из XVM, но что куда стало понятнее. import BigWorld from debug_utils import LOG_ERROR, LOG_DEBUG from gui.Scaleform.daapi.view.BattleResultsWindow import BattleResultsWindow def BattleResultsWindow_as_setDataS(base, self, data): LOG_DEBUG('It works!') LOG_DEBUG('%s' % (data)) return base(self, data) def _OverrideMethod(cls, method, handler): orig = getattr(cls, method) newm = lambda *a, **k: handler(orig, *a, **k) if type(orig) is not property: setattr(cls, method, newm) else: setattr(cls, method, property(newm)) def _RegisterEvents(): _OverrideMethod(BattleResultsWindow, 'as_setDataS', BattleResultsWindow_as_setDataS) BigWorld.callback(0, _RegisterEvents) Quote Share this post Link to post Short link Share on other sites
Chunor 1 #287047 Posted August 10, 2015 а статистика в чат системных сообщений отправляется? И будет работать после боя? Quote Share this post Link to post Short link Share on other sites
Topsy-Turvy 1 #287772 Posted August 17, 2015 В общем мой пример неправильный. Он перехватывает вызов окна с результатами боя. Пользователь может не открыть это окно. Или открыть его несколько раз. Я нашел другой способ: g_playerEvents.onBattleResultsReceived позволяет подписаться на получение результатов боя. Этот способ работает гораздо лучше. Однако по какой-то причине это событие происходит не всегда. В некоторых случаях я вижу, что в чате появилось уведомление об окончании боя, но результатов не пришло. Я пока не нашел закономерность. Есть подозрение, что если вышел из боя до его окончания, то результат придется запросить явно. Буду признателен, если кто-то прояснит. Quote Share this post Link to post Short link Share on other sites
vlad_cs_sr 1,575 #287782 Posted August 17, 2015 Хочу сделать мод считающий доходность танка. Моды сессионной статистики показывают доходность. А этот вариант и потанковую стату выводит: http://www.koreanrandom.com/forum/topic/12373-09-wn8-%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0-%D0%B7%D0%B0-%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8E/ Quote Share this post Link to post Short link Share on other sites
Topsy-Turvy 1 #287793 Posted August 17, 2015 (edited) Спасибо большое. То что нужно. В общем необходимо подписаться на сообщение battleResults в системном чате. Достать из сообщения id боя. Через data provider запросить результаты этого боя. Видимо Chunor на это и намекал говоря о системном чате, но я его не понял. Edited August 17, 2015 by Topsy-Turvy Quote Share this post Link to post Short link Share on other sites