Jump to content
Korean Random

Topsy-Turvy

User
  • Posts

    7
  • Joined

  • Last visited

Posts posted by Topsy-Turvy

  1. Спасибо большое. То что нужно.

     

    В общем необходимо подписаться на сообщение battleResults в системном чате. Достать из сообщения id боя. Через data provider запросить результаты этого боя.

     

    Видимо Chunor на это и намекал говоря о системном чате, но я его не понял.

  2. В общем мой пример неправильный. Он перехватывает вызов окна с результатами боя. Пользователь может не открыть это окно. Или открыть его несколько раз.

     

    Я нашел другой способ:

    g_playerEvents.onBattleResultsReceived

    позволяет подписаться на получение результатов боя. Этот способ работает гораздо лучше. Однако по какой-то причине это событие происходит не всегда. В некоторых случаях я вижу, что в чате появилось уведомление об окончании боя, но результатов не пришло. Я пока не нашел закономерность. Есть подозрение, что если вышел из боя до его окончания, то результат придется запросить явно. Буду признателен, если кто-то прояснит.

  3. Парни, я кажется разобрался :) Скопипастил чуть меньше чем все из 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)
  4. Здравствуйте,

     

    Хочу сделать мод считающий доходность танка. Питон знаю. Подскажите, с чего начать? Пока не понимаю нужно ли мне декомпилировать скрипт и вставить в него свой код? Или я могу подложить свой скрипт, в нем подписаться на событие об окончании боя и получить результаты в ивенте?

×
×
  • Create New...