Jump to content
Korean Random
Kotyarko_O

"Калькулятор эффективности" средствами XVM.

Recommended Posts

 

Обновлено.

 

 

Приветствую, уважаемый Kotyarko_O !

 

Прежде чем задать вопрос, хочу сказать, что данную строчку, в начале темы, я прочитал ---> "... Данные, отображаемые этим аддоном, не могут являться точными ..." , и тем не менее, прошу прощения за тупость, уж очень большое несоответствие получается (иногда показатель win8 под 20000 отображался, что, отнюдь, не соответствует классу моей игры).

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

 

Вот скриншоты с сегодняшнего боя ...

 

post-8064-0-69503800-1486630157_thumb.png

 

post-8064-0-46501000-1486630166.png

 

Риббоны (если я их правильно называю) все включены ...

 

post-8064-0-79545000-1486630188_thumb.png

 

Desktop.rar

 

Посмотрите, пож-та, что у меня не так.

 

С уважением.    :flag: 

Share this post


Link to post

Short link
Share on other sites

 

 

Понятно, мод показаний после-боевой статистики в ангаре установлен другой, но ведь оперирует он, наверное, теми же данными?
Теми же. Но рассчитывается всё иначе, по другой формуле.
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites

скажите, у всех нормально считает eff?

на 17.1 ещё не пробовал, а на прошлой вообще практический не считало.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

EFF просто дичь,только выезжаю на ТТ,так EFF зашкаливает,значения под 14к.

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

EFF просто дичь,только выезжаю на ТТ,так EFF зашкаливает,значения под 14к.

тоже самое и у меня

Share this post


Link to post

Short link
Share on other sites

EFF просто дичь,только выезжаю на ТТ,так EFF зашкаливает,значения под 14к.

тоже самое и у меня

Можете прикрепить реплей?

Share this post


Link to post

Short link
Share on other sites

 

 

Приветствую, Kotyarko_O !

 

К сожалению, battleEfficiency конфликтует с totalEfficiency, точнее, с параметром отвечающим за показания количества засвеченных противников.

 

post-8064-0-91655300-1488476653.png

 

убираю файл battleEfficiency.py из res_mods\configs\xvm\py_macro

 

post-8064-0-64193800-1488476885.png

 

Посмотрите, пож-та.

С уважением.    :flag:  :flag:  :flag: 

P.S. В предыдущем патче вроде всё работало.

Share this post


Link to post

Short link
Share on other sites

@ЧАЙНИК, проверьте с этим  attachicon.gifbattleEfficiency.rar

 

P.S. Вот так попробуйте.

 

Спасибо. Сейчас попробую.  

 

Большое спасибо, ktulho, всё работает.

Респект!!!   :flag: :flag: :flag:

Edited by ЧАЙНИК

Share this post


Link to post

Short link
Share on other sites

Обновлено.

  • Нормализованы показатели аддона в сравнении с показателями других модификаций подобного типа.

    Сравнение:
    post-16412-0-89389400-1488547574.jpgpost-16412-0-03162000-1488547575.jpg
    post-16412-0-16289700-1488547575.jpgpost-16412-0-39204300-1488547575.jpg
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@Kotyarko_O, почему делишь на 2?

Многие мне пишут, что значения сильно разнятся, сравнивая с остальными модификациями. Я обмазался сверху двумя отдельными модами, вывел свои значения и сравнил. Из РЭ убрал расчёт коэффициента и разделил всё на 2, ВН8 просто разделил на два. И показатели аддона приблизились к показателям других модов. Всё просто.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Многие мне пишут, что значения сильно разнятся, сравнивая с остальными модификациями. Я обмазался сверху двумя отдельными модами, вывел свои значения и сравнил. Из РЭ убрал расчёт коэффициента значения и поделил на 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 by Ekspoint

Share this post


Link to post

Short link
Share on other sites
у меня вот так

Ну, в этих формулах тоже деление на 2. К чему был этот вопрос тогда?

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...