Jump to content
Korean Random

n3vVv1n

User
  • Content Count

    11
  • Joined

  • Last visited

Everything posted by n3vVv1n

  1. Вообще-то я писал конкретно про арту, потому что геймплей на ней серьёзно поменялся после ребаланса. Разница между играющими на ней и не играющими стала расти по WN8 не в пользу играющих. Можно, конечно, каким-то образом считать равным нулю WN8 на арте для не играющих на ней после ребаланса, но этот вариант мне кажется более неподходящим.
  2. Не встречал подобную тему, направьте, если есть. Итак, формула расчёта WN8 никак не учитывает ассист на танках, в том числе, новое оглушение на арте. На данный момент урон на арте стал наноситься меньше, чем до ребаланса, поэтому у тех, кто играет сейчас, WN8 на артах и по аккаунту падает или ниже, чем у других. Например, игрок1 и игрок2 до ребаланса держали 3к дамага на арте, но после него игрок1 перестал играть конкретно на арте, а игрок2 продолжил, но дамаг у него стал проседать до 2к. Получается, что WN8 у первого будет выше, хотя он не имеет никакого отношения к реальному положению дел, т.е. для WN8 выгоднее было перестать играть на арте после ребаланса... Видел акки, на которых сыграли несколько боёв на арте после ребаланса и "испугались" продолжать, боясь за статку. Сейчас можно высчитывать средний урон по оглушённым вами целям, API это позволяет. Предлагаю следующий вариант, который мне кажется более адекватным под сложившуюся ситуацию: для расчёте коэффициентов по арте учитывать сумму нанесённого урона и урона по оглушению, а не только нанесённый урон. Тогда показатели до ребаланса арты и после станут более-менее равными. Опыт и достаточное умение игры на арте позволяют мне делать подобные суждения. Хотелось бы увидеть обсуждение или обоснованный отказ от этого (не уверен, что расчёты станут гораздо дольше от этого). Спасибо.
  3. Сумма произведений уровней танков на кол-во боёв на них, делённая на общее кол-во боёв.
  4. Генеральные не идут же в общую статистику.
  5. На код: import BigWorld from gui.shared import g_itemsCache import datetime from PlayerEvents import g_playerEvents from messenger.storage import storage_getter def log(s): logfile = open('n3vVv1n.log', 'a') try: logfile.write('%s: %s\n' % (datetime.datetime.now().strftime('%Y.%m.%d %H:%M:%S'), s)) except: print 'Exception' logfile.close() return None def init(): test = n3vVv1n_mod() class n3vVv1n_mod(): logfile = open('n3vVv1n.log', 'w') logfile.close() def usersStorage(self): return None usersStorage = storage_getter('users')(usersStorage) def playerCtx(self): return None playerCtx = storage_getter('playerCtx')(playerCtx) def __init__(self): g_playerEvents.onAccountShowGUI += self.onAccountShowGUI g_playerEvents.onAccountBecomePlayer += self.onAccountBecomePlayer def onAccountBecomePlayer(self): self.playerCtx.onClanInfoChanged += self.onClanInfoChanged_new def callback(self, *args): lastBattleTime = args[0]['total']['lastBattleTime'] log('Последняя битва: ' + str(lastBattleTime)) def onAccountShowGUI(self, ctx): playerID = BigWorld.player().databaseID log('myID: ' + str(playerID)) def onClanInfoChanged_new(self): clanAbbrev = self.playerCtx.getClanAbbrev() log('Клан: ' + clanAbbrev) members = self.usersStorage.getClanMembersIterator() for memb in members: log(memb.getID()) req = g_itemsCache.items.dossiers.getUserDossierRequester(memb.getID()) req.getAccountDossier()(self.callback) В логах ошибка по каждому игроку клана вида: 2017-01-20 00:09:20.986: ERROR: [ERROR] (scripts/client/gui/shared/utils/requesters/DossierRequester.py, 235): Error while server request (code=-5): Identical requests cooldown 2017-01-20 00:09:20.986: ERROR: Traceback (most recent call last): 2017-01-20 00:09:20.986: ERROR: File "scripts/client/Account.py", line 325, in onCmdResponse 2017-01-20 00:09:20.986: ERROR: File "scripts/client/Account.py", line 985, in <lambda> 2017-01-20 00:09:20.986: ERROR: File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 144, in <lambda> 2017-01-20 00:09:20.986: ERROR: File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 241, in __processValueResponse 2017-01-20 00:09:20.986: ERROR: File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 135, in proxyCallback 2017-01-20 00:09:20.987: ERROR: File "mod_n3vVv1n_small", line 44, in callback 2017-01-20 00:09:20.987: ERROR: TypeError: 'NoneType' object has no attribute '__getitem__' Похоже, что нужна задержка между вызовами. Помогайте .
  6. Спасибо, двигаюсь дальше.
  7. На: import BigWorld from gui.shared import g_itemsCache from datetime import datetime from PlayerEvents import g_playerEvents def init(): test = TestEvents() print '* Main. Init' print '* Tестовый мод загружен' class TestEvents(): def __init__(self): g_playerEvents.onAccountShowGUI += self.onAccountShowGUI g_playerEvents.onAccountBecomePlayer += self.onAccountBecomePlayer print '* TestEvents. Init' def onAccountBecomePlayer(self): print '* TestEvents. Подготовка ко входу в ангар' def callback(*args): lastBattleTime = args[0]['total']['lastBattleTime'] print datetime.fromtimestamp(lastBattleTime) print args def onAccountShowGUI(self, ctx): print '* TestEvents. Игрок в ангаре' playerID = BigWorld.player().databaseID print playerID req = g_itemsCache.items.dossiers.getUserDossierRequester(playerID) req.getAccountDossier()(self.callback) Ответ: 2017-01-10 21:25:42.750: INFO: * TestEvents. Игрок в ангаре 2017-01-10 21:25:42.751: INFO: 20214289 2017-01-10 21:25:42.959: ERROR: Traceback (most recent call last): 2017-01-10 21:25:42.959: ERROR: File "scripts/client/Account.py", line 341, in onCmdResponseExt 2017-01-10 21:25:42.959: ERROR: File "scripts/client/Account.py", line 985, in <lambda> 2017-01-10 21:25:42.959: ERROR: File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 144, in <lambda> 2017-01-10 21:25:42.959: ERROR: File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 244, in __processValueResponse 2017-01-10 21:25:42.960: ERROR: File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 135, in proxyCallback 2017-01-10 21:25:42.960: ERROR: File "mod_n3vVv1n_small", line 22, in callback 2017-01-10 21:25:42.960: ERROR: AttributeError: TestEvents instance has no attribute '__getitem__'
  8. Написал такое: import BigWorld from gui.shared import g_itemsCache from datetime import datetime from PlayerEvents import g_playerEvents def log(s): logfile = open('n3vVv1n.log', 'a') try: logfile.write('%s: %s\n' % (datetime.datetime.now().strftime('%Y.%m.%d %H:%M:%S'), s)) except: print 'Exception' logfile.close() return None logfile = open('n3vVv1n.log', 'w') logfile.close() def callback(*args): lastBattleTime = args[0]['total']['lastBattleTime'] log(datetime.fromtimestamp(lastBattleTime)) def func_onAccountBecomePlayer(): log(BigWorld.player().name) log(BigWorld.player().databaseID) req = g_itemsCache.items.dossiers.getUserDossierRequester(BigWorld.player().databaseID) req.getAccountDossier()(callback) g_playerEvents.onAccountBecomePlayer += func_onAccountBecomePlayer в python.log ошибка: 2017-01-09 01:47:55.588: ERROR: [EXCEPTION] (scripts/common/Event.py, 46): Traceback (most recent call last): File "scripts/common/Event.py", line 44, in __call__ File "mod_n3vVv1n_small", line 27, in func_onAccountBecomePlayer File "scripts/client/gui/shared/utils/requesters/DossierRequester.py", line 401, in getUserDossierRequester TypeError: int() argument must be a string or a number, not 'NoneType' А в какой момент вообще можно получать BigWorld.player().databaseID?
  9. Это просто время записи в лог.
  10. Сделал примерно так: BigWorld.player().requestPlayerInfo(self.playerID, self.mycallback) в лог записало кучу инфы вида: но я не увидел явно нужной информации...
  11. Здравствуйте. Извините, я весьма далёк от данной темы, но некое поверхностное представление получил. Хотелось бы получить любую помощь в таком вопросе: как извлечь информацию из профиля любого игрока (вообще нужен клановый) из поля "Последний раз был в бою: ...", т.к. она там всегда актуальна, а в WGAPI обновляется только после завершения игровой сессии. Спасибо.
×
×
  • Create New...