Topsy-Turvy Posted July 26, 2015 Share Posted July 26, 2015 Здравствуйте, Хочу сделать мод считающий доходность танка. Питон знаю. Подскажите, с чего начать? Пока не понимаю нужно ли мне декомпилировать скрипт и вставить в него свой код? Или я могу подложить свой скрипт, в нем подписаться на событие об окончании боя и получить результаты в ивенте? @ Quote Link to comment Short link Share on other sites More sharing options...
Topsy-Turvy Posted July 27, 2015 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Chunor Posted August 10, 2015 Share Posted August 10, 2015 а статистика в чат системных сообщений отправляется? И будет работать после боя? @ Quote Link to comment Short link Share on other sites More sharing options...
Topsy-Turvy Posted August 17, 2015 Author Share Posted August 17, 2015 В общем мой пример неправильный. Он перехватывает вызов окна с результатами боя. Пользователь может не открыть это окно. Или открыть его несколько раз. Я нашел другой способ: g_playerEvents.onBattleResultsReceived позволяет подписаться на получение результатов боя. Этот способ работает гораздо лучше. Однако по какой-то причине это событие происходит не всегда. В некоторых случаях я вижу, что в чате появилось уведомление об окончании боя, но результатов не пришло. Я пока не нашел закономерность. Есть подозрение, что если вышел из боя до его окончания, то результат придется запросить явно. Буду признателен, если кто-то прояснит. @ Quote Link to comment Short link Share on other sites More sharing options...
vlad_cs_sr Posted August 17, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Topsy-Turvy Posted August 17, 2015 Author Share Posted August 17, 2015 (edited) Спасибо большое. То что нужно. В общем необходимо подписаться на сообщение battleResults в системном чате. Достать из сообщения id боя. Через data provider запросить результаты этого боя. Видимо Chunor на это и намекал говоря о системном чате, но я его не понял. Edited August 17, 2015 by Topsy-Turvy @ 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.