Slava7572 1,685 #377951 Posted January 30, 2017 (edited) Если нужен цвет то макросом, если вывести обычным числом со знаком минуса, то можно обойтись тем что выше писал. Панелька не должна сильно влиять на производительность, наверное. Пока никто вроде бы на какие то жёсткие просадки не жаловался. Да не,фпс не садит,инет у меня тупит,периодически лампа лага загорается,видно из за этого средний то работает,то нет.Кстати не только средний,в это время и разница хп ноль при загрузке,хотя такое редко бывает,чтоб у тим хп было одинаковым.Просто чем еще объяснить эту карусель,но нормально работает,то нет.Еще лог не смотрел,ну вернее из клиента не выходил,может он что покажет. На минус в принципе можно забить,а вот цвет макросом наверное не выведешь,тем более градиентом.Как макросом отличить перевес в твою сторону или врагов)) П.С:все таки ошибку пишет в лог: И вот этот символ мне не понятен: 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 January 30, 2017 by Slava7572 Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #377963 Posted January 31, 2017 мы же убрали этот знак,вместо него пишет насколько больше настрелял свыше нормы(среднего)? Я то убрал, почему то у тебя в файликах он остался, к примеру в этом приложенном архиве. Share this post Link to post Short link Share on other sites
Slava7572 1,685 #377999 Posted January 31, 2017 Я то убрал, почему то у тебя в файликах он остался, к примеру в этом приложенном архиве. Так отсюда код копировал,по инструкции)) Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #378002 Posted January 31, 2017 (edited) код копировал,по инструкции)) Так там нет переменной "done", может ты его вместе с картинкой скопировал из предыдущего изначального скрипта (который подставлял и настаивал в первый раз). Edited January 31, 2017 by night_dragon_on Share this post Link to post Short link Share on other sites
Slava7572 1,685 #378007 Posted January 31, 2017 (edited) Так там нет переменной "done", может ты его вместе с картинкой скопировал из предыдущего изначального скрипта (который подставлял и настаивал в первый раз). Действительно,исправил,на реплее в логе вроде чисто,сейчас в бою попробую. П.С:все равно,то работает,то нон выводит:( Еще по поводу цвета,было бы лучше,чтоб и обычный средний красило градиентом.Как это в sign_hp реализовано,если средний не настрелял,то красного к желтому по мере настрела,сверх нормы от желтого к фиолетовому(допустим граница три средних,дальше просто фиолет). Я наверное уже надоел тебе?)))Уже самого достало,не получится еще раз добится нормальной работы,оставлю обычный средний без настрела и цвета,бог с ним. Edited January 31, 2017 by Slava7572 Share this post Link to post Short link Share on other sites
amito 0 #378008 Posted January 31, 2017 night_dragon_on,спасибо с отключением hitlog. Хотелось бы еще отключить ручник для пт.Спасибо Share this post Link to post Short link Share on other sites
ilyafox 0 #378009 Posted January 31, 2017 Для тупых можно? как панель счета активировать? Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #378021 Posted January 31, 2017 (edited) как панель счета активировать? Шапка темы > Процесс установки > Настройка элементов конфига Видос Хотелось бы еще отключить ручник для пт. В XVM-ме такого функционала нет. Edited January 31, 2017 by night_dragon_on 1 Share this post Link to post Short link Share on other sites
arm 6 #378024 Posted January 31, 2017 Видос в шапку добавьте, пока не посмотрел, не включил панель Share this post Link to post Short link Share on other sites
BlackGur 0 #378096 Posted February 1, 2017 (edited) LiganDeMorgan, on 18 Jan 2017 - 08:25, said: чтобы ХП в ушах появлялось по нажатию АЛЬТ Заменить: playersPanelTemplates.xc Перестало работать Прадон, забыл включить в Settings.xc Edited February 1, 2017 by BlackGur Share this post Link to post Short link Share on other sites
Slava7572 1,685 #378254 Posted February 2, 2017 Оказывается все работает,я просто принцип не сразу понял.Ноль выводится до тех пор пока средний не набьешь,а уже потом считает все,что плюсом.Вообще полезная штука получилась,кто следит за средним уроном,я даже подумываю его вывести на постоянку,а калибр под альт.Интересно,их совместить никак нельзя,классический,то,как ты реализовал изначально и этот скрипт?Сначала считает до среднего,а затем все,что плюсом? Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #378263 Posted February 2, 2017 (edited) Интересно,их совместить никак нельзя,классический,то,как ты реализовал изначально и этот скрипт? Сначала считает до среднего,а затем все,что плюсом? Так уже пример давал же, присмотрись к данному сообщению. Edited February 2, 2017 by night_dragon_on Share this post Link to post Short link Share on other sites
skanchik 0 #378270 Posted February 2, 2017 (edited) Edited February 2, 2017 by skanchik Share this post Link to post Short link Share on other sites
Slava7572 1,685 #378273 Posted February 2, 2017 (edited) shot_011.jpg Шрифт поставь. Так уже пример давал же, присмотрись к данному сообщению. Ок,гляну.Сорри за тупняк,я всему сам учусь,никакого компьютерного образования нет))) П.С:получается вот так должно быть?Чисто для проверки. ##################################################################### # 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 February 2, 2017 by Slava7572 Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #378300 Posted February 3, 2017 (edited) А в конфиге две секции(естественно подключен в 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 February 3, 2017 by night_dragon_on 1 Share this post Link to post Short link Share on other sites
Slava7572 1,685 #378385 Posted February 3, 2017 (edited) 'Вот так' '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? Edited February 5, 2017 by Slava7572 Share this post Link to post Short link Share on other sites
deppcool 1 #378434 Posted February 3, 2017 (edited) Здравствуйте. Установил вашу сборку модов и столкнулся с проблемой. Вылетает с ангара, как только погрузился тут же принудительное завершение работы.Пробовал через безопасный режим войти в бой закрыть игру через Alt+F4 и запустить с модами, в итоге бой играю и всё круто работает, а в ангар не пускает.Проблема решена, извините.Виновник E:\WoT\WorldOfTanks.exe -clientGraphicsAPI d3d9 Edited February 3, 2017 by deppcool Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #378581 Posted February 5, 2017 (edited) Получается фиолет никогда не настреляешь?Там граница 9999. Почему никогда, к примеру на только что купленной технике, например на fv183, вышел в бой нанес 10к урона тогда дойдешь до этой планки. А если поставить 3К например,то все,что выше будет фиолетом или там нет границы и фиолет будет именно 3К,а дальше бесцветный? Все что выше 3к будет окрашено. Или просто дописать еще диапазон с любым цветом и 9999? Да хоть сотню диапазонов прописывай, как душе угодно. Edited February 5, 2017 by night_dragon_on 1 Share this post Link to post Short link Share on other sites
Kibersen 8 #379706 Posted February 14, 2017 @night_dragon_on, хочу спросить,как сделать зум 2,5 3,5 и т.д.? Пробовал прописывать в файле camera.хс,но получается хаос при приближении и отдалении. Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #379716 Posted February 14, 2017 (edited) хочу спросить,как сделать зум 2,5 3,5 и т.д.? Разделяя точкой целые части: "zooms": [2.5, 3.5, 4, 8, 16, 25], Edited February 14, 2017 by night_dragon_on 1 Share this post Link to post Short link Share on other sites