Jump to content
Korean Random
night_dragon_on

[Stopped] [8.8.2, 11.08.21] "night_dragon_on" config & addons

Recommended Posts

Если нужен цвет то макросом, если вывести обычным числом со знаком минуса, то можно обойтись тем что выше писал. Панелька не должна сильно влиять на производительность, наверное. Пока никто вроде бы на какие то жёсткие просадки не жаловался.

Да не,фпс не садит,инет у меня тупит,периодически лампа лага загорается,видно из за этого средний то работает,то нет.Кстати не только средний,в это время и разница хп ноль при загрузке,хотя такое редко бывает,чтоб у тим хп было одинаковым.Просто чем еще объяснить эту карусель,но нормально работает,то нет.Еще лог не смотрел,ну вернее из клиента не выходил,может он что покажет.

На минус в принципе можно забить,а вот цвет макросом наверное не выведешь,тем более градиентом.Как макросом отличить перевес в твою сторону или врагов))

П.С:все таки ошибку пишет в лог:

И вот этот символ мне не понятен:

done = '<img src="img://gui/maps/icons/library/attentionIconFilledBig.png" width="26" height="26" align="middle" vspace="-9">',мы же убрали этот знак,вместо него пишет насколько больше настрелял свыше нормы(среднего)?

2017-01-30 21:59:41: [ERROR] Traceback (most recent call last):
  File "C:\Games\World_of_Tanks\res_mods\mods/packages\xvm_main\python\python_macro.py", line 157, in process_python_macro
    return (func(), deterministic)
  File "C:\Games\World_of_Tanks\res_mods\mods/packages\xvm_main\python\python_macro.py", line 150, in <lambda>
    return (lambda: func(*args), deterministic)
  File "res_mods/configs/xvm/py_macro\dmg_count.py", line 66, in avg_damage
    avgDamage = none
NameError: global name 'none' is not defined
arg='avg_damage(2217)'
Edited by Slava7572

Share this post


Link to post

Short link
Share on other sites

мы же убрали этот знак,вместо него пишет насколько больше настрелял свыше нормы(среднего)?

 

Я то убрал, почему то у тебя в файликах он остался, к примеру в этом приложенном архиве.

Share this post


Link to post

Short link
Share on other sites

код копировал,по инструкции))

Так там нет переменной "done", может ты его вместе с картинкой скопировал из предыдущего изначального скрипта (который подставлял и настаивал в первый раз).

Edited by night_dragon_on

Share this post


Link to post

Short link
Share on other sites

Так там нет переменной "done", может ты его вместе с картинкой скопировал из предыдущего изначального скрипта (который подставлял и настаивал в первый раз).

Действительно,исправил,на реплее в логе вроде чисто,сейчас в бою попробую.

П.С:все равно,то работает,то нон выводит:(

Еще по поводу цвета,было бы лучше,чтоб и обычный средний красило градиентом.Как это в sign_hp реализовано,если средний не настрелял,то красного к желтому по мере настрела,сверх нормы от желтого к фиолетовому(допустим граница три средних,дальше просто фиолет).

Я наверное уже надоел тебе?)))Уже самого достало,не получится еще раз добится нормальной работы,оставлю обычный средний без настрела и цвета,бог с ним.

post-4302-0-45343200-1485873969_thumb.jpg

post-4302-0-79562100-1485873973_thumb.jpg

post-4302-0-96821600-1485873977_thumb.jpg

Edited by Slava7572

Share this post


Link to post

Short link
Share on other sites

night_dragon_on,спасибо с отключением hitlog. Хотелось бы еще отключить ручник для пт.Спасибо :gawi:

Share this post


Link to post

Short link
Share on other sites

как панель счета активировать?

 

Шапка темы > Процесс установки > Настройка элементов конфига

Видос

 

Хотелось бы еще отключить ручник для пт.

 

В XVM-ме такого функционала нет. 

Edited by night_dragon_on
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Видос в шапку добавьте, пока не посмотрел, не включил панель

Share this post


Link to post

Short link
Share on other sites

LiganDeMorgan, on 18 Jan 2017 - 08:25, said:

 

чтобы ХП в ушах появлялось по нажатию АЛЬТ

 

 

Заменить: playersPanelTemplates.xc

Перестало работать

 

Прадон, забыл включить в Settings.xc  :shy:

Edited by BlackGur

Share this post


Link to post

Short link
Share on other sites

Оказывается все работает,я просто принцип не сразу понял.Ноль выводится до тех пор пока средний не набьешь,а уже потом считает все,что плюсом.Вообще полезная штука получилась,кто следит за средним уроном,я даже подумываю его вывести на постоянку,а калибр под альт.Интересно,их совместить никак нельзя,классический,то,как ты реализовал изначально и этот скрипт?Сначала считает до среднего,а затем все,что плюсом?

Share this post


Link to post

Short link
Share on other sites

Интересно,их совместить никак нельзя,классический,то,как ты реализовал изначально и этот скрипт? Сначала считает до среднего,а затем все,что плюсом?

Так уже пример давал же, присмотрись к данному сообщению.

Edited by night_dragon_on

Share this post


Link to post

Short link
Share on other sites

Шрифт поставь.

 

 

Так уже пример давал же, присмотрись к данному сообщению.

Ок,гляну.Сорри за тупняк,я всему сам учусь,никакого компьютерного образования нет))) 

П.С:получается вот так должно быть?Чисто для проверки.

#####################################################################
# imports

import BigWorld
import xvm_battle.python.fragCorrelationPanel as panel
from CurrentVehicle import g_currentVehicle
from gui.Scaleform.daapi.view.lobby.hangar.Hangar import Hangar
from gui.shared import g_itemsCache
from xfw import *
import traceback

#####################################################################
# constants

actual_arenaUniqueID = None
playerAvgDamage = None
max_hp_enemy = 0

#####################################################################
# handlers

@xvm.export('high_сaliber', deterministic=False)
def high_caliber(dmg_total):
    global actual_arenaUniqueID, max_hp_enemy
    arenaUniqueID = BigWorld.player().arenaUniqueID
    if actual_arenaUniqueID != arenaUniqueID:
        actual_arenaUniqueID = arenaUniqueID
        max_hp_enemy = 0
    if panel.teams_totalhp[1] > max_hp_enemy:
        max_hp_enemy = panel.teams_totalhp[1]
    battletype = BigWorld.player().arena.guiType
    if (battletype != 1) or (max_hp_enemy == 0):
        return
    else:
        symbol = '<img src="img://gui/maps/icons/achievement/32x32/mainGun.png" width="26" height="26" align="middle" vspace="-9">'
        done = '<img src="img://gui/maps/icons/library/done.png" width="20" height="20" align="middle" vspace="-9">'
        threshold = max_hp_enemy * 0.2 if max_hp_enemy > 5000 else 1000
        high_caliber = int(threshold - dmg_total)
        if high_caliber <= 0:
            high_caliber = done
    return '%s%s' % (symbol, high_caliber) if max_hp_enemy >= 1000 else ''

@registerEvent(Hangar, '_Hangar__updateParams')
def Hangar__updateParams(self):
    try:
        global playerAvgDamage
        playerAvgDamage = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage()
        return playerAvgDamage
    except:
        err(traceback.format_exc())

@xvm.export('avg_damage', deterministic=False)
def avg_damage(dmg_total):
    global playerAvgDamage
    battletype = BigWorld.player().arena.guiType
    if battletype != 1:
        return
    elif playerAvgDamage == None:
        return
    else:
        symbol = '<img src="img://gui/maps/icons/achievement/32x32/stormLord2.png" width="26" height="26" align="middle" vspace="-9">'
        done = '<img src="img://gui/maps/icons/library/done.png" width="20" height="20" align="middle" vspace="-9">'
        avgDamage = int(playerAvgDamage - dmg_total)
        if avgDamage <= 0:
            avgDamage = done
    return '%s%s' % (symbol, avgDamage)

@xvm.export('avg_damage_alt', deterministic=False)
def avg_damage_alt(dmg_total):
    global playerAvgDamage
    battletype = BigWorld.player().arena.guiType
    if battletype != 1:
        return
    elif playerAvgDamage == None:
        return
    else:
        color = 'FFFFFF'
        symbol = '<img src="img://gui/maps/icons/achievement/32x32/stormLord2.png" width="26" height="26" align="middle" vspace="-9">'
        none = '<img src="img://gui/maps/icons/library/attentionIconFilledBig.png" width="26" height="26" align="middle" vspace="-9">'
        avgDamage = int(playerAvgDamage - dmg_total)
        if avgDamage > 0:
            avgDamage = none
            return '%s%s' % (none, 0)
        else:
            avgDamage = abs(avgDamage)
            if avgDamage > 50:
                color = 'FFC103'
            if avgDamage > 1000:
                color = 'C9FF03'
            if avgDamage > 2000:
                color = '60FF00'
            if avgDamage > 2500:
                color = '02CA5F'
            if avgDamage > 3000:
                color = '02C9B3'
            if avgDamage > 9999:
                color = 'D042F3'
            return '%s<font color="#%s">%s</font>' % (symbol, color, avgDamage)

@xvm.export('sign_color', deterministic=False)
def sign_color():
    return panel.total_hp_color

@xvm.export('sign_hp', deterministic=False)
def sign_hp():
    result = panel.teams_totalhp[0] - panel.teams_totalhp[1]
    return result

@xvm.export('sign_hp_color', deterministic=False)
def sign_hp_color():
    result = panel.teams_totalhp[0] - panel.teams_totalhp[1]
    return "<font color='#%s'>%s</font>" % (sign_color(), result) 

А в конфиге две секции(естественно подключен в battleLabels.xc):

    // Средний урон.
    "avg_damage": {
      "enabled": true,
      "updateEvent": "ON_DAMAGE_CAUSED",
      "hotKeyCode": 56,
      "onHold": true,
      "visibleOnHotKey": true,
      "x": 321,
      "y": 1,
      "width": 90,
      "height": 30,
      "alpha": 100,
      "align": "center",
      "screenHAlign": "center",
      "antiAliasType": "advanced",
      "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 },
      "textFormat": { "font": "NDO", "size": 17, "color": "0xFFFFFF", "align": "left" },
      "format": "{{battletype!=event_battles?<b>{{py:avg_damage({{hitlog.dmg-total}})}}</b>}}"
    },
    // Средний урон.
    "avg_damage_alt": {
      "enabled": true,
      "updateEvent": "ON_DAMAGE_CAUSED",
      "hotKeyCode": 56,
      "onHold": true,
      "visibleOnHotKey": true,
      "x": 321,
      "y": 1,
      "width": 90,
      "height": 30,
      "alpha": 100,
      "align": "center",
      "screenHAlign": "center",
      "antiAliasType": "advanced",
      "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 },
      "textFormat": { "font": "NDO", "size": 17, "color": "0xFFFFFF", "align": "left" },
      "format": "{{battletype!=event_battles?<b>{{py:avg_damage_alt({{hitlog.dmg-total}})}}</b>}}"
    }, 

Так?Или я опять что то пропустил или недопонял?))

Edited by Slava7572

Share this post


Link to post

Short link
Share on other sites

А в конфиге две секции(естественно подключен в battleLabels.xc):

Так?Или я опять что то пропустил или недопонял?))

 

'Вот так'

 

'battleLabelsTemplates.xc'

    // Средний урон.
    "avg_damage": {
      "enabled": true,
      "updateEvent": "ON_DAMAGE_CAUSED",
      "hotKeyCode": 56,
      "onHold": true,
      "visibleOnHotKey": true,
      "x": 321,
      "y": 1,
      "width": 90,
      "height": 30,
      "alpha": 100,
      "align": "center",
      "screenHAlign": "center",
      "antiAliasType": "advanced",
      "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 },
      "textFormat": { "font": "NDO", "size": 17, "color": "0xFFFFFF", "align": "left" },
      "format": "{{battletype!=event_battles?<b>{{py:avg_damage({{hitlog.dmg-total}})}}</b>}}"
    },

'dmg_count.py'

#####################################################################
# imports

import BigWorld
import xvm_battle.python.fragCorrelationPanel as panel
from CurrentVehicle import g_currentVehicle
from gui.Scaleform.daapi.view.lobby.hangar.Hangar import Hangar
from gui.shared import g_itemsCache
from xfw import *
import traceback

#####################################################################
# constants

actual_arenaUniqueID = None
playerAvgDamage = None
max_hp_enemy = 0

#####################################################################
# handlers

@xvm.export('high_сaliber', deterministic=False)
def high_caliber(dmg_total):
    global actual_arenaUniqueID, max_hp_enemy
    arenaUniqueID = BigWorld.player().arenaUniqueID
    if actual_arenaUniqueID != arenaUniqueID:
        actual_arenaUniqueID = arenaUniqueID
        max_hp_enemy = 0
    if panel.teams_totalhp[1] > max_hp_enemy:
        max_hp_enemy = panel.teams_totalhp[1]
    battletype = BigWorld.player().arena.guiType
    if (battletype != 1) or (max_hp_enemy == 0):
        return
    else:
        symbol = '<img src="img://gui/maps/icons/achievement/32x32/mainGun.png" width="26" height="26" align="middle" vspace="-9">'
        done = '<img src="img://gui/maps/icons/library/done.png" width="20" height="20" align="middle" vspace="-9">'
        threshold = max_hp_enemy * 0.2 if max_hp_enemy > 5000 else 1000
        high_caliber = int(threshold - dmg_total)
        if high_caliber <= 0:
            high_caliber = done
    return '%s%s' % (symbol, high_caliber) if max_hp_enemy >= 1000 else ''

@registerEvent(Hangar, '_Hangar__updateParams')
def Hangar__updateParams(self):
    try:
        global playerAvgDamage
        playerAvgDamage = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage()
        return playerAvgDamage
    except:
        err(traceback.format_exc())

@xvm.export('avg_damage', deterministic=False)
def avg_damage(dmg_total):
    global playerAvgDamage
    battletype = BigWorld.player().arena.guiType
    if battletype != 1:
        return
    elif playerAvgDamage == None:
        return
    else:
        color = 'FFFFFF'
        symbol = '<img src="img://gui/maps/icons/library/cybersport/emblems/default_32x32.png" width="32" height="32" align="middle" vspace="-10">'
        none = '<img src="img://gui/maps/icons/library/attentionIconFilledBig.png" width="25" height="25" align="middle" vspace="-8">'
        avgDamage = int(playerAvgDamage - dmg_total)
        if avgDamage <= 0:
            avgDamage = abs(avgDamage)
            if avgDamage > 500:
                color = 'FE0E00'
            if avgDamage > 750:
                color = 'FE7903'
            if avgDamage > 1000:
                color = 'F8F400'
            if avgDamage > 1800:
                color = '60FF00'
            if avgDamage > 2500:
                color = '02C9B3'
            if avgDamage > 9999:
                color = 'D042F3'
            return '%s<font color="#%s">%s</font>' % (symbol, color, avgDamage)
        else:
            return '%s%s' % (none, avgDamage)

@xvm.export('sign_color', deterministic=False)
def sign_color():
    return panel.total_hp_color

@xvm.export('sign_hp', deterministic=False)
def sign_hp():
    result = panel.teams_totalhp[0] - panel.teams_totalhp[1]
    return result

@xvm.export('sign_hp_color', deterministic=False)
def sign_hp_color():
    result = panel.teams_totalhp[0] - panel.teams_totalhp[1]
    return "<font color='#%s'>%s</font>" % (sign_color(), result)

 

Edited by night_dragon_on
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

'Вот так'

 

'battleLabelsTemplates.xc'

    // Средний урон.
    "avg_damage": {
      "enabled": true,
      "updateEvent": "ON_DAMAGE_CAUSED",
      "hotKeyCode": 56,
      "onHold": true,
      "visibleOnHotKey": true,
      "x": 321,
      "y": 1,
      "width": 90,
      "height": 30,
      "alpha": 100,
      "align": "center",
      "screenHAlign": "center",
      "antiAliasType": "advanced",
      "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 1.5 },
      "textFormat": { "font": "NDO", "size": 17, "color": "0xFFFFFF", "align": "left" },
      "format": "{{battletype!=event_battles?<b>{{py:avg_damage({{hitlog.dmg-total}})}}</b>}}"
    },

'dmg_count.py'

#####################################################################
# imports

import BigWorld
import xvm_battle.python.fragCorrelationPanel as panel
from CurrentVehicle import g_currentVehicle
from gui.Scaleform.daapi.view.lobby.hangar.Hangar import Hangar
from gui.shared import g_itemsCache
from xfw import *
import traceback

#####################################################################
# constants

actual_arenaUniqueID = None
playerAvgDamage = None
max_hp_enemy = 0

#####################################################################
# handlers

@xvm.export('high_сaliber', deterministic=False)
def high_caliber(dmg_total):
    global actual_arenaUniqueID, max_hp_enemy
    arenaUniqueID = BigWorld.player().arenaUniqueID
    if actual_arenaUniqueID != arenaUniqueID:
        actual_arenaUniqueID = arenaUniqueID
        max_hp_enemy = 0
    if panel.teams_totalhp[1] > max_hp_enemy:
        max_hp_enemy = panel.teams_totalhp[1]
    battletype = BigWorld.player().arena.guiType
    if (battletype != 1) or (max_hp_enemy == 0):
        return
    else:
        symbol = '<img src="img://gui/maps/icons/achievement/32x32/mainGun.png" width="26" height="26" align="middle" vspace="-9">'
        done = '<img src="img://gui/maps/icons/library/done.png" width="20" height="20" align="middle" vspace="-9">'
        threshold = max_hp_enemy * 0.2 if max_hp_enemy > 5000 else 1000
        high_caliber = int(threshold - dmg_total)
        if high_caliber <= 0:
            high_caliber = done
    return '%s%s' % (symbol, high_caliber) if max_hp_enemy >= 1000 else ''

@registerEvent(Hangar, '_Hangar__updateParams')
def Hangar__updateParams(self):
    try:
        global playerAvgDamage
        playerAvgDamage = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage()
        return playerAvgDamage
    except:
        err(traceback.format_exc())

@xvm.export('avg_damage', deterministic=False)
def avg_damage(dmg_total):
    global playerAvgDamage
    battletype = BigWorld.player().arena.guiType
    if battletype != 1:
        return
    elif playerAvgDamage == None:
        return
    else:
        color = 'FFFFFF'
        symbol = '<img src="img://gui/maps/icons/library/cybersport/emblems/default_32x32.png" width="32" height="32" align="middle" vspace="-10">'
        none = '<img src="img://gui/maps/icons/library/attentionIconFilledBig.png" width="25" height="25" align="middle" vspace="-8">'
        avgDamage = int(playerAvgDamage - dmg_total)
        if avgDamage <= 0:
            avgDamage = abs(avgDamage)
            if avgDamage > 500:
                color = 'FE0E00'
            if avgDamage > 750:
                color = 'FE7903'
            if avgDamage > 1000:
                color = 'F8F400'
            if avgDamage > 1800:
                color = '60FF00'
            if avgDamage > 2500:
                color = '02C9B3'
            if avgDamage > 9999:
                color = 'D042F3'
            return '%s<font color="#%s">%s</font>' % (symbol, color, avgDamage)
        else:
            return '%s%s' % (none, avgDamage)

@xvm.export('sign_color', deterministic=False)
def sign_color():
    return panel.total_hp_color

@xvm.export('sign_hp', deterministic=False)
def sign_hp():
    result = panel.teams_totalhp[0] - panel.teams_totalhp[1]
    return result

@xvm.export('sign_hp_color', deterministic=False)
def sign_hp_color():
    result = panel.teams_totalhp[0] - panel.teams_totalhp[1]
    return "<font color='#%s'>%s</font>" % (sign_color(), result)

 

Спасибо огромное,я бы сам не допер.В реплее ошибок не выдает,сейчас проверю в онлайне.

П.С:все красиво,не устану благодарить тебя)))Спасибо большое!

П.П,С:слушай,одно уточнение можно?Я выставил для себя(и не только) такие диапазоны:

if avgDamage <= 0:
            avgDamage = abs(avgDamage)
            if avgDamage > 1:
                color = 'FFC103'
            if avgDamage > 1000:
                color = 'C9FF03'
            if avgDamage > 1500:
                color = '60FF00'
            if avgDamage > 2000:
                color = '02CA5F'
            if avgDamage > 2500:
                color = '02C9B3'
            if avgDamage > 9999:
                color = 'D042F3' 

Получается фиолет никогда не настреляешь?Там граница 9999.А если поставить 3К например,то все,что выше будет фиолетом или там нет границы и фиолет будет именно 3К,а дальше бесцветный?Если знак > в другую сторону поставить будет работать?2500 до 3000 бирюза,а все,что свыше фиолет.Или просто дописать еще диапазон с любым цветом и 9999?

 

post-4302-0-13027700-1486261869_thumb.jpg

Edited by Slava7572

Share this post


Link to post

Short link
Share on other sites

Здравствуйте. Установил вашу сборку модов и столкнулся с проблемой. Вылетает с ангара, как только погрузился тут же принудительное завершение работы.
Пробовал через безопасный режим войти в бой закрыть игру через Alt+F4 и запустить с модами, в итоге бой играю и всё круто работает, а в ангар не пускает.



Проблема решена, извините.
Виновник E:\WoT\WorldOfTanks.exe -clientGraphicsAPI d3d9

Edited by deppcool

Share this post


Link to post

Short link
Share on other sites
Получается фиолет никогда не настреляешь?Там граница 9999.

 

Почему никогда, к примеру на только что купленной технике, например на fv183, вышел в бой нанес 10к урона тогда дойдешь до этой планки.

 

А если поставить 3К например,то все,что выше будет фиолетом или там нет границы и фиолет будет именно 3К,а дальше бесцветный?

 

Все что выше 3к будет окрашено.

 

Или просто дописать еще диапазон с любым цветом и 9999?

 

Да хоть сотню диапазонов прописывай, как душе угодно.

Edited by night_dragon_on
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@night_dragon_on, хочу спросить,как сделать зум 2,5 3,5 и т.д.? Пробовал прописывать в файле camera.хс,но получается хаос при приближении и отдалении. 

Share this post


Link to post

Short link
Share on other sites

хочу спросить,как сделать зум 2,5 3,5 и т.д.?

 

Разделяя точкой целые части:

"zooms": [2.5, 3.5, 4, 8, 16, 25],
Edited by night_dragon_on
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...