ЧАЙНИК 163 #378976 Posted February 9, 2017 Обновлено. Приветствую, уважаемый Kotyarko_O ! Прежде чем задать вопрос, хочу сказать, что данную строчку, в начале темы, я прочитал ---> "... Данные, отображаемые этим аддоном, не могут являться точными ..." , и тем не менее, прошу прощения за тупость, уж очень большое несоответствие получается (иногда показатель win8 под 20000 отображался, что, отнюдь, не соответствует классу моей игры). Ну, и по мимо всего прочего, показатели "в бою" и "в ангаре" разнятся. Понятно, мод показаний после-боевой статистики в ангаре установлен другой, но ведь оперирует он, наверное, теми же данными? Вот скриншоты с сегодняшнего боя ... Риббоны (если я их правильно называю) все включены ... Desktop.rar Посмотрите, пож-та, что у меня не так. С уважением. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #379070 Posted February 9, 2017 Понятно, мод показаний после-боевой статистики в ангаре установлен другой, но ведь оперирует он, наверное, теми же данными? Теми же. Но рассчитывается всё иначе, по другой формуле. 1 Quote Share this post Link to post Short link Share on other sites
ЧАЙНИК 163 #379071 Posted February 9, 2017 Теми же. Но рассчитывается всё иначе, по другой формуле. Благодарю. Quote Share this post Link to post Short link Share on other sites
belyavsky 3 #380277 Posted February 22, 2017 2017-02-22 14:48:17: [ERROR] Traceback (most recent call last): File "C:\Games\World_of_Tanks\res_mods\mods/packages\xvm_main\python\python_macro.py", line 128, in load_macros_lib execute(code, file_name, {'xvm': XvmNamespace}) File "C:\Games\World_of_Tanks\res_mods\mods/packages\xvm_main\python\python_macro.py", line 112, in execute raise ExecutionException("{} at file '{}' line {}: {}".format(error_name, file_name, line_number, message))ExecutionException: AttributeError at file 'res_mods/configs/xvm/py_macro\battleEfficiency.py' line 42: type object 'BattleRibbonsPanel' has no attribute '_BattleRibbonsPanel__addBattleEfficiencyEvent' в питон логе 0.9.17.1 Quote Share this post Link to post Short link Share on other sites
alex_alex 35 #380328 Posted February 22, 2017 скажите, у всех нормально считает eff? 1 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #380351 Posted February 22, 2017 Обновлено. Адаптировано для 9.17.1. Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #380376 Posted February 22, 2017 скажите, у всех нормально считает eff? на 17.1 ещё не пробовал, а на прошлой вообще практический не считало. 1 Quote Share this post Link to post Short link Share on other sites
Gtraicer 2 #381249 Posted February 25, 2017 EFF просто дичь,только выезжаю на ТТ,так EFF зашкаливает,значения под 14к. 2 Quote Share this post Link to post Short link Share on other sites
belyavsky 3 #381540 Posted February 27, 2017 EFF просто дичь,только выезжаю на ТТ,так EFF зашкаливает,значения под 14к. тоже самое и у меня Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #381599 Posted February 27, 2017 EFF просто дичь,только выезжаю на ТТ,так EFF зашкаливает,значения под 14к. тоже самое и у меня Можете прикрепить реплей? Quote Share this post Link to post Short link Share on other sites
belyavsky 3 #381679 Posted February 28, 2017 Можете прикрепить реплей? replay_last_battle.wotreplay Quote Share this post Link to post Short link Share on other sites
ЧАЙНИК 163 #382043 Posted March 2, 2017 Приветствую, Kotyarko_O ! К сожалению, battleEfficiency конфликтует с totalEfficiency, точнее, с параметром отвечающим за показания количества засвеченных противников. убираю файл battleEfficiency.py из res_mods\configs\xvm\py_macro Посмотрите, пож-та. С уважением. P.S. В предыдущем патче вроде всё работало. Quote Share this post Link to post Short link Share on other sites
ktulho 5,780 #382047 Posted March 2, 2017 (edited) @ЧАЙНИК, проверьте с этим P.S. Вот так попробуйте. Edited March 2, 2017 by ktulho 1 Quote Share this post Link to post Short link Share on other sites
ЧАЙНИК 163 #382062 Posted March 2, 2017 (edited) @ЧАЙНИК, проверьте с этим battleEfficiency.rar P.S. Вот так попробуйте. Спасибо. Сейчас попробую. Большое спасибо, ktulho, всё работает. Респект!!! :flag: Edited March 2, 2017 by ЧАЙНИК Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #382079 Posted March 2, 2017 Обновлено. 1 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #382171 Posted March 3, 2017 Обновлено. Нормализованы показатели аддона в сравнении с показателями других модификаций подобного типа.Сравнение: 1 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #382172 Posted March 3, 2017 @Kotyarko_O, почему делишь на 2? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #382173 Posted March 3, 2017 (edited) @Kotyarko_O, почему делишь на 2? Многие мне пишут, что значения сильно разнятся, сравнивая с остальными модификациями. Я обмазался сверху двумя отдельными модами, вывел свои значения и сравнил. Из РЭ убрал расчёт коэффициента и разделил всё на 2, ВН8 просто разделил на два. И показатели аддона приблизились к показателям других модов. Всё просто. Edited March 3, 2017 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #382175 Posted March 3, 2017 (edited) Многие мне пишут, что значения сильно разнятся, сравнивая с остальными модификациями. Я обмазался сверху двумя отдельными модами, вывел свои значения и сравнил. Из РЭ убрал расчёт коэффициента значения и поделил на 2, ВН8 просто поделил на два. И показатели аддона приблизились к показателям других модов. Всё просто. у меня вот так формулы class Calculator_rankings(object): def wn8(self, avgDmg, avgDef, avgSpot, avgFrag, avgWin, expDmg, expSpot, expFrag, expDef, expWin): rWin = max(((avgWin / expWin - 0.71) / (1 - 0.71)), 0) rDmg = max(((avgDmg / expDmg - 0.22) / (1 - 0.22)), 0) rFrag = max(min(rDmg + 0.2, ((avgFrag / expFrag - 0.12) / (1 - 0.12))), 0) rSpot = max(min(rDmg + 0.1, ((avgSpot / expSpot - 0.38) / (1 - 0.38))), 0) rDef = max(min(rDmg + 0.1, ((avgDef / expDef - 0.10) / (1 - 0.10))), 0) return max(0, int(980 * rDmg + 210 * rDmg * rFrag + 155 * rFrag * rSpot + 75 * rDef * rFrag + 145 * min(1.8, rWin))) def eff(self, avgDmg, avgDef, avgCap, avgSpot, avgTier, avgFrag): return int(round(avgDmg * (10 / (avgTier + 2)) * (0.23 + 2 * avgTier / 100) + avgFrag * 250 + avgSpot * 150 + math.log(avgCap + 1, 1.732) * 150 + avgDef * 150)) def xeff(self, x): if x > 2300: return 100 return int(max(0, min(100, x * (x * (x * (x * (x * (x * 6.449e-18 - 4.089e-14) + 8.302e-11) - 4.433e-08) - 4.82e-05) + 0.1257) - 40.42))) def xwn8(self, x): if x > 3800: return 100 return int(max(0, min(100, x * (x * (x * (x * (x * (-x * 9.762e-20 + 1.6221e-15) - 1.007e-11) + 2.7916e-08) - 3.6982e-05) + 0.05577) - 1.3))) calculator_ranking = Calculator_rankings() аддоны class BattleRibbons(object): def populate(self, base): if not base._BattleRibbonsPanel__enabled: base._BattleRibbonsPanel__ribbonsAggregator.resume() def onSettingsChanged(self, base): self.populate(base) def showRibbon(self, base, ribbon): if ribbon.getType() in ribbons_panel._RIBBONS_FMTS: updater = ribbons_panel._RIBBONS_FMTS[ribbon.getType()] updater(ribbon, base._BattleRibbonsPanel__arenaDP, self.battleEfficiencyEvent) def battleEfficiencyEvent(self, ribbonID, ribbonType='', leftFieldStr='', vehName='', vehType='', rightFieldStr=''): if ribbonType == BET.DETECTION: if len(leftFieldStr.strip()) == 0: g_calculator.avgSpot += 1 else: g_calculator.avgSpot += int(leftFieldStr[1:]) if ribbonType == BET.DEFENCE: g_calculator.avgDef += int(leftFieldStr) if g_calculator.avgDef >= 100: g_calculator.avgDef = 100 if ribbonType == BET.CAPTURE: g_calculator.avgCap = int(leftFieldStr) g_battleRibbons = BattleRibbons() @registerEvent(ribbons_panel.BattleRibbonsPanel, '_populate') def ribbons_panel_populate(self): g_battleRibbons.populate(self) @registerEvent(ribbons_panel.BattleRibbonsPanel, '_BattleRibbonsPanel__onSettingsChanged') def ribbons_panel_onSettingsChanged(self, diff): g_battleRibbons.onSettingsChanged(self) @registerEvent(ribbons_panel.BattleRibbonsPanel, '_BattleRibbonsPanel__onRibbonAdded') def ribbons_panel_onRibbonAdded(self, ribbon): g_battleRibbons.showRibbon(self, ribbon) Edited March 3, 2017 by Ekspoint Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #382176 Posted March 3, 2017 (edited) у меня вот так Ну, в этих формулах тоже деление на 2. К чему был этот вопрос тогда? Edited March 3, 2017 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites