MIAPAK 154 #412646 Posted November 20, 2017 народ подскажите как убрать процентное соотношение прочности команд? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #412647 Posted November 20, 2017 3 минуты назад, MIAPAK сказал: народ подскажите как убрать процентное соотношение прочности команд? Добавить в файл elements.xc секцию. Но в лог будут сыпаться предупреждения. Quote Share this post Link to post Short link Share on other sites
DKRUBEN 19 #412652 Posted November 20, 2017 @ktulho lock this please python: from xfw import * from xvm_main.python.logger import * from xvm_main.python.stats import _stat from xvm.parser_addon import parser_addon from xvm.damageLog import RATINGS import BigWorld import time from Avatar import PlayerAvatar from Vehicle import Vehicle from gui.Scaleform.daapi.view.battle.classic.stats_exchange import FragsCollectableStats import xvm_main.python.config as config from helpers import dependency from skeletons.account_helpers.settings_core import ISettingsCore from constants import ARENA_GUI_TYPE from gui.Scaleform.daapi.view.battle.shared.minimap.plugins import ArenaVehiclesPlugin from gui.Scaleform.daapi.view.meta.BattleStatisticDataControllerMeta import BattleStatisticDataControllerMeta playersEnemyAlive = {} playersAllyAlive = {} playersEnemyDead = {} playersAllyDead = {} aliveVehType = {'LT': '', 'MT': '', 'HT': '', 'SPG': '', 'TD': '', 'unknown': ''} deadVehType = {'LT': '', 'MT': '', 'HT': '', 'SPG': '', 'TD': '', 'unknown': ''} enemyVehicleAlive = None allyVehicleAlive = None enemyVehicleDead = None allyVehicleDead = None playerTeam = -1 autoReloadConfig = False twoLine = False countAlly = 0 countEnemy = 0 arenaGuiType = None allyOrder = [] enemyOrder = [] chooseRating = None directSortByLevelAllys = True directSortByLevelEnemies = True def readConfig(): global aliveVehType, deadVehType, twoLine, enemyOrder, allyOrder, arenaGuiType, autoReloadConfig, chooseRating, directSortByLevelEnemies, directSortByLevelAllys scale = config.networkServicesSettings.scale name = config.networkServicesSettings.rating r = '{}_{}'.format(scale, name) if r in RATINGS: chooseRating = RATINGS[r]['name'] else: chooseRating = 'xwgr' if scale == 'xvm' else 'wgr' autoReloadConfig = config.get('autoReloadConfig') aliveVehType['LT'] = config.get('fragCorrelation/vtypeAlive/LT', "<font face='xvm' color='#238C23'>:</font>") aliveVehType['MT'] = config.get('fragCorrelation/vtypeAlive/MT', "<font face='xvm' color='#B79B2D'>;</font>") aliveVehType['HT'] = config.get('fragCorrelation/vtypeAlive/HT', "<font face='xvm' color='#AA2F31'>? </font>") aliveVehType['SPG'] = config.get('fragCorrelation/vtypeAlive/SPG', "<font face='xvm' color='#7D04A0'>-</font>") aliveVehType['TD'] = config.get('fragCorrelation/vtypeAlive/TD', "<font face='xvm' color='#1447A0'>.</font>") aliveVehType['unknown'] = config.get('fragCorrelation/vtypeAlive/unknown', "<font face='xvm' color='#dfdfd0'>D</font>") deadVehType['LT'] = config.get('fragCorrelation/vtypeDead/LT', "<font face='xvm' color='#387638'>:</font>") deadVehType['MT'] = config.get('fragCorrelation/vtypeDead/MT', "<font face='xvm' color='#9c9c36'>;</font>") deadVehType['HT'] = config.get('fragCorrelation/vtypeDead/HT', "<font face='xvm' color='#803c3c'>? </font>") deadVehType['SPG'] = config.get('fragCorrelation/vtypeDead/SPG', "<font face='xvm' color='#854994'>-</font>") deadVehType['TD'] = config.get('fragCorrelation/vtypeDead/TD', "<font face='xvm' color='#465a97'>.</font>") deadVehType['unknown'] = config.get('fragCorrelation/vtypeDead/unknown', "<font face='xvm' color='#dfdfd0'>D</font>") showStandartMarkers = config.get('fragCorrelation/showStandartMarkers', False) enemyOrder = config.get('fragCorrelation/markersEnemiesOrder', ['HT', 'MT', 'TD', 'SPG', 'LT', 'unknown']) allyOrder = config.get('fragCorrelation/markersAllysOrder', ['HT', 'MT', 'TD', 'SPG', 'LT', 'unknown']) directSortByLevelAllys = config.get('fragCorrelation/directSortByLevelAllys', True) directSortByLevelEnemies = config.get('fragCorrelation/directSortByLevelEnemies', True) if not showStandartMarkers: settingsCore = dependency.instance(ISettingsCore) if settingsCore.isSettingChanged('showVehiclesCounter', False): settingsCore.applySetting('showVehiclesCounter', False) settingsCore.onSettingsChanged({'showVehiclesCounter': False}) arenaGuiType = BigWorld.player().arenaGuiType if arenaGuiType in [ARENA_GUI_TYPE.EPIC_RANDOM, ARENA_GUI_TYPE.EPIC_RANDOM_TRAINING]: twoLine = config.get('fragCorrelation/twoLineEpicRandom', False) else: twoLine = False def getAliveVehicle(vehicles, countHalf, isAlly=True): if isAlly: sign = -1 if directSortByLevelAllys else 1 vehicles.sort(key=lambda x: [x['vehTypeNumber'], sign * x['level']]) else: sign = -1 if directSortByLevelEnemies else 1 vehicles.sort(key=lambda x: [x['vehTypeNumber'], sign * x['level']]) s = [parser_addon(aliveVehType[i['vehType']], i) for i in vehicles] if twoLine and (len(s) >= countHalf): s.insert(countHalf, '\n') return ''.join(s) if s is not None else '' def getDeadVehicle(vehicles, countHalf, isAlly=True): if isAlly: sign = -1 if directSortByLevelAllys else 1 vehicles.sort(key=lambda x: [x['vehTypeNumber'], sign * x['level']]) else: sign = -1 if directSortByLevelEnemies else 1 vehicles.sort(key=lambda x: [x['vehTypeNumber'], sign * x['level']]) s = [parser_addon(deadVehType[i['vehType']], i) for i in vehicles] l = len(s) - countHalf if twoLine and (l > 0): s.insert(l, '\n') return ''.join(s) if s is not None else '' def readColor(sec, m, xm=None): colors = config.get('colors/' + sec) if m is not None and colors is not None: for val in colors: if val['value'] > m: return '#' + val['color'][2:] if val['color'][:2] == '0x' else val['color'] elif xm is not None: colors_x = config.get('colors/x') for val in colors_x: if val['value'] > xm: return '#' + val['color'][2:] if val['color'][:2] == '0x' else val['color'] def getStats(name): if (_stat.resp is not None) and ('players' in _stat.resp) and (name in _stat.resp['players']): stats = _stat.resp['players'][name] xwn8 = stats.get('xwn8', None) xwtr = stats.get('xwtr', None) xeff = stats.get('xeff', None) xwgr = stats.get('xwgr', None) return {'c:wn8': readColor('wn8', stats.get('wn8', None), xwn8), 'c:xwn8': readColor('x', xwn8), 'c:wtr': readColor('wtr', stats.get('wtr', None), xwtr), 'c:xwtr': readColor('x', xwtr), 'c:eff': readColor('eff', stats.get('eff', None), xeff), 'c:xeff': readColor('x', xeff), 'c:wgr': readColor('wgr', stats.get('wgr', None), xwgr), 'c:xwgr': readColor('x', xwgr), 'c:xte': readColor('x', stats.get('v').get('xte', None))} else: return {'c:wn8': None, 'c:xwn8': None, 'c:wtr': None, 'c:xwtr': None, 'c:eff': None, 'c:xeff': None, 'c:wgr': None, 'c:xwgr': None, 'c:xte': None} def update(vInfoVO): global playersEnemyAlive, playersAllyAlive, playersEnemyDead, playersAllyDead, countAlly, countEnemy, playerTeam global enemyVehicleAlive, allyVehicleAlive, enemyVehicleDead, allyVehicleDead if not (enemyOrder and allyOrder) or autoReloadConfig: readConfig() renameDict = {'lightTank': 'LT', 'mediumTank': 'MT', 'heavyTank': 'HT', 'SPG': 'SPG', 'AT-SPG': 'TD', None: 'unknown'} if playerTeam < 0: playerTeam = BigWorld.player().team _vehicleID = vInfoVO.vehicleID _vehicleType = vInfoVO.vehicleType vehInfo = {'vehType': renameDict[_vehicleType.classTag], 'level': _vehicleType.level, 'c:r': '{{c:%s}}' % chooseRating, 'playerName': vInfoVO.player.name} isNewPlayerAlive = (_vehicleID in playersAllyAlive) or (_vehicleID in playersEnemyAlive) isNewPlayerDead = (_vehicleID in playersAllyDead) or (_vehicleID in playersEnemyDead) if vInfoVO.isAlive() and not isNewPlayerAlive: if vInfoVO.team == playerTeam: vehInfo['vehTypeNumber'] = allyOrder.index(vehInfo['vehType']) playersAllyAlive[_vehicleID] = vehInfo countAlly += 1 allyVehicleAlive = getAliveVehicle(playersAllyAlive.values(), countAlly >> 1) else: vehInfo['vehTypeNumber'] = enemyOrder.index(vehInfo['vehType']) playersEnemyAlive[_vehicleID] = vehInfo countEnemy += 1 enemyVehicleAlive = getAliveVehicle(playersEnemyAlive.values(), countEnemy >> 1, False) as_event('ON_UPDATE_FRAG_COR_BAR') elif (not vInfoVO.isAlive()) and not isNewPlayerDead: if vInfoVO.team == playerTeam: if _vehicleID in playersAllyAlive: playersAllyDead[_vehicleID] = playersAllyAlive[_vehicleID] del playersAllyAlive[_vehicleID] allyVehicleAlive = getAliveVehicle(playersAllyAlive.values(), countAlly >> 1) else: vehInfo['vehTypeNumber'] = allyOrder.index(vehInfo['vehType']) playersAllyDead[_vehicleID] = vehInfo allyVehicleDead = getDeadVehicle(playersAllyDead.values(), countAlly >> 1) else: if _vehicleID in playersEnemyAlive: playersEnemyDead[_vehicleID] = playersEnemyAlive[_vehicleID] del playersEnemyAlive[_vehicleID] enemyVehicleAlive = getAliveVehicle(playersEnemyAlive.values(), countEnemy >> 1, False) else: vehInfo['vehTypeNumber'] = enemyOrder.index(vehInfo['vehType']) playersEnemyDead[_vehicleID] = vehInfo enemyVehicleDead = getDeadVehicle(playersEnemyDead.values(), countEnemy >> 1, False) as_event('ON_UPDATE_FRAG_COR_BAR') elif (_vehicleType.classTag is not None) and isNewPlayerAlive: if (_vehicleID in playersAllyAlive) and (playersAllyAlive[_vehicleID]['vehType'] == 'unknown'): vehInfo['vehTypeNumber'] = allyOrder.index(vehInfo['vehType']) playersAllyAlive[_vehicleID] = vehInfo allyVehicleAlive = getAliveVehicle(playersAllyAlive.values(), countAlly >> 1) as_event('ON_UPDATE_FRAG_COR_BAR') elif (_vehicleID in playersEnemyAlive) and (playersEnemyAlive[_vehicleID]['vehType'] == 'unknown'): vehInfo['vehTypeNumber'] = enemyOrder.index(vehInfo['vehType']) playersEnemyAlive[_vehicleID] = vehInfo enemyVehicleAlive = getAliveVehicle(playersEnemyAlive.values(), countEnemy >> 1, False) as_event('ON_UPDATE_FRAG_COR_BAR') @registerEvent(_stat, 'getBattleStat') def _stat_getBattleStat(): global playersEnemyAlive, playersAllyAlive, playersEnemyDead, playersAllyDead global enemyVehicleAlive, allyVehicleAlive, enemyVehicleDead, allyVehicleDead for k, v in playersEnemyAlive.iteritems(): playersEnemyAlive[k].update(getStats(v['playerName'])) for k, v in playersAllyAlive.iteritems(): playersAllyAlive[k].update(getStats(v['playerName'])) for k, v in playersEnemyDead.iteritems(): playersEnemyDead[k].update(getStats(v['playerName'])) for k, v in playersAllyDead.iteritems(): playersAllyDead[k].update(getStats(v['playerName'])) allyVehicleAlive = getAliveVehicle(playersAllyAlive.values(), countAlly >> 1) enemyVehicleAlive = getAliveVehicle(playersEnemyAlive.values(), countEnemy >> 1, False) allyVehicleDead = getDeadVehicle(playersAllyDead.values(), countAlly >> 1) enemyVehicleDead = getDeadVehicle(playersEnemyDead.values(), countEnemy >> 1, False) as_event('ON_UPDATE_FRAG_COR_BAR') @registerEvent(ArenaVehiclesPlugin, '_ArenaVehiclesPlugin__setVehicleInfo') def __setVehicleInfo(self, vehicleID, entry, vInfo, guiProps, isSpotted=False): update(vInfo) @registerEvent(FragsCollectableStats, 'addVehicleStatusUpdate') def FragsCollectableStats_addVehicleStatusUpdate(self, vInfoVO): update(vInfoVO) @registerEvent(PlayerAvatar, '_PlayerAvatar__destroyGUI') def PlayerAvatar__destroyGUI(self): global playersEnemyAlive, playersAllyAlive, playersEnemyDead, playersAllyDead, countAlly, countEnemy, aliveVehType, deadVehType, arenaGuiType global enemyOrder, allyOrder, enemyVehicleAlive, allyVehicleAlive, enemyVehicleDead, allyVehicleDead, playerTeam, chooseRating countAlly = 0 countEnemy = 0 playerTeam = -1 arenaGuiType = None allyOrder = [] enemyOrder = [] playersEnemyAlive = {} playersAllyAlive = {} playersEnemyDead = {} playersAllyDead = {} enemyVehicleAlive = None allyVehicleAlive = None enemyVehicleDead = None allyVehicleDead = None chooseRating = None aliveVehType = {'LT': '', 'MT': '', 'HT': '', 'SPG': '', 'TD': ''} deadVehType = {'LT': '', 'MT': '', 'HT': '', 'SPG': '', 'TD': ''} @registerEvent(PlayerAvatar, 'onEnterWorld') def onEnterWorld(self, prereqs): as_event('ON_UPDATE_FRAG_COR_BAR') @xvm.export('fcb.enemyVehicleAlive', deterministic=False) def export_enemyVehicleAlive(): return enemyVehicleAlive @xvm.export('fcb.allyVehicleAlive', deterministic=False) def export_allyVehicleAlive(): return allyVehicleAlive @xvm.export('fcb.enemyVehicleDead', deterministic=False) def export_enemyVehicleDead(): return enemyVehicleDead @xvm.export('fcb.allyVehicleDead', deterministic=False) def export_allyVehicleDead(): return allyVehicleDead @xvm.export('fcb.countEnemyAlive', deterministic=False) def export_countEnemyAlive(veh): if isinstance(veh, basestring) and (veh.upper() in ['HT', 'MT', 'TD', 'SPG', 'LT']): return len([True for v in playersEnemyAlive.itervalues() if v['vehType'] == veh]) else: return None @xvm.export('fcb.countAllyAlive', deterministic=False) def export_countAllyAlive(veh): if isinstance(veh, basestring) and (veh.upper() in ['HT', 'MT', 'TD', 'SPG', 'LT']): return len([True for v in playersAllyAlive.itervalues() if v['vehType'] == veh]) else: return None @xvm.export('fcb.countEnemyDead', deterministic=False) def export_countEnemyDead(veh): if isinstance(veh, basestring) and (veh.upper() in ['HT', 'MT', 'TD', 'SPG', 'LT']): return len([True for v in playersEnemyDead.itervalues() if v['vehType'] == veh]) else: return None @xvm.export('fcb.countAllyDead', deterministic=False) def export_countAllyDead(veh): if isinstance(veh, basestring) and (veh.upper() in ['HT', 'MT', 'TD', 'SPG', 'LT']): return len([True for v in playersAllyDead.itervalues() if v['vehType'] == veh]) else: return None @xvm.export('fcb.aliveVehType', deterministic=False) def export_aliveVehType(veh): if isinstance(veh, basestring) and (veh.upper() in ['HT', 'MT', 'TD', 'SPG', 'LT']): return aliveVehType[veh] else: return None @xvm.export('fcb.deadVehType', deterministic=False) def export_deadVehType(veh): if isinstance(veh, basestring) and (veh.upper() in ['HT', 'MT', 'TD', 'SPG', 'LT']): return deadVehType[veh] else: return None @xvm.export('fcb.rank') def tank_rank(a, b, c, d, e): if d > 10: d = 10 if e == d: return a elif e == d - 1: return b else: return c battle.xc { "battle": { "mirroredVehicleIcons": true, "showPostmortemTips": true, "highlightVehicleIcon": true, "clockFormat": "H:i", "clanIconsFolder": "clanicons/", "sixthSenseIcon": "xvm://res/SixthSense.png", "sixthSenseDuration": 2000, "elements": ${"elements.xc":"elements"}, "camera": ${"camera.xc":"camera"}, "minimapDeadSwitch": true }, "fragCorrelation": { "showAliveNotFrags": false, "showStandartMarkers": false, "twoLineEpicRandom": true, "markersAllysOrder": ["HT", "MT", "TD", "SPG", "LT"], "markersEnemiesOrder": ["HT", "MT", "TD", "SPG", "LT"], "directSortByLevelAllys": true, "directSortByLevelEnemies": true, // {{py:fcb.enemyVehicle}} {{py:fcb.allyVehicle}} // "vtypeAlive" "vtypeDead" {{level}}, {{py:fcb.rank('','','',{{battletier}},{{level}})}} // {{c:wn8}}, {{c:xwn8}}, {{c:wtr}}, {{c:xwtr}}, {{c:eff}}, {{c:xeff}}, {{c:wgr}}, {{c:xwgr}}, {{c:xte}}, {{c:r}} "vtypeAlive": { "LT": "<font face='xvm' color='#00d900' size='21'> :</font>", "MT": "<font face='xvm' color='#d9d900'> ;</font>", "HT": "<font face='xvm' color='#d90000'> ?</font>", "SPG": "<font face='xvm' color='#c40df9'> -</font>", "TD": "<font face='xvm' color='#1a3cff'> .</font>", "unknown": "<font face='xvm' color='#dfdfd0' size='24'>D </font>" }, "vtypeDead": { "LT": "<font face='xvm' color='#387638' size='21'> :</font>", "MT": "<font face='xvm' color='#9c9c36'> ;</font>", "HT": "<font face='xvm' color='#803c3c'> ?</font>", "SPG": "<font face='xvm' color='#854994'> -</font>", "TD": "<font face='xvm' color='#465a97'> .</font>", "unknown": "<font face='xvm' color='#dfdfd0' size='24'>D </font>" } }, "expertPanel": { "delay": 15, "scale": 150 } } battlelabels.xc ${ "battleLabelsTemplates.xc":"def.fragCorBarEnemy"}, ${ "battleLabelsTemplates.xc":"def.fragCorBarAlly"} battleLabelstemplates.xc "fragCorBarEnemy": { "enabled": true, "updateEvent": "PY(ON_UPDATE_FRAG_COR_BAR)", "x": 190, "y": 0, "width": 300, "height": 60, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 3, "strength": 2 }, "textFormat": {"align": "left", "size": 24 }, "format": "{{py:fcb.enemyVehicleAlive}}{{py:fcb.enemyVehicleDead}}" }, "fragCorBarAlly": { "enabled": true, "updateEvent": "PY(ON_UPDATE_FRAG_COR_BAR)", "x": 110, "y": 0, "width": 300, "height": 60, "screenHAlign": "center", "scaleX": -1, "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 3, "strength": 2 }, "textFormat": {"align": "left", "size": 24 }, "format": "{{py:fcb.allyVehicleAlive}}{{py:fcb.allyVehicleDead}}" }, Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #412659 Posted November 21, 2017 @DKRUBEN в чём проблема? Quote Share this post Link to post Short link Share on other sites
xenus 62 #412669 Posted November 21, 2017 @ktulho , почемуто переодически при входе в бой, выкидывает из игры и связано это с fragCorrelationBar.py, в xvm лог следующее: 2017-11-21 03:51:14: [ERROR] Traceback (most recent call last): File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 156, in process_python_macro (func, deterministic) = get_function(arg) File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 147, in get_function (func, deterministic) = _container.get(func_name) TypeError: 'NoneType' object is not iterable arg='xvm.python_macro' 2017-11-21 03:51:14: [ERROR] Traceback (most recent call last): File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 156, in process_python_macro (func, deterministic) = get_function(arg) File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 147, in get_function (func, deterministic) = _container.get(func_name) TypeError: 'NoneType' object is not iterable arg='xvm.python_macro' Добавив логирования вызова каждой функции в fragCorrelationBar, пришол к выводу что это происходит при обработке export_allyVehicleAlive(), если "return allyVehicleAlive" заменить на "return none", то вылеты прикрощаються, но и маркеры живых союзников не будут показываться в панели(что естественно). Попробывал выводит в лог значения allyVehicleAlive(при помощи "log('export_allyVehicleAlive(%s)' % allyVehicleAlive)") но ничего не корректного в результате не обнаружил. ЗЫ. По видимому далеко не у всех такая проблема рас сообщений тут подобных не видно. Помогите выловить проблему. battle.xc python.log xvm.log 2 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #412671 Posted November 21, 2017 @xenus сам сталкивался с это проблемой. Попробуйте все экспорты (@export) оставить в этом файле, а всю логику перенести в отдельный файл, как советовал Sirmax. Quote Share this post Link to post Short link Share on other sites
MIAPAK 154 #412676 Posted November 21, 2017 41 минуту назад, xenus сказал: По видимому далеко не у всех такая проблема рас сообщений тут подобных не видно. Помогите выловить проблему. Так же клиент вылетает Можно расписать для обычных людей :) как решить данную проблему (что и куда вынести)? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #412677 Posted November 21, 2017 6 минут назад, MIAPAK сказал: как решить данную проблему (что и куда вынести)? Никто пока не знает, как решить эту проблему. @xenus а есть риплей на котором это можно воспроизвести? Quote Share this post Link to post Short link Share on other sites
xenus 62 #412681 Posted November 21, 2017 @MIAPAK , решить данную проблему сложно, так как не получается отловить конкретное место, где и из-за чего эта проблема возникает. Для себя данную проблему обошел путем отключения индикаторов живой дружественной техники, но резать функционал это конечно не выход. @ktulho , риплея к сожалению нету. Разделил fragCorrelationBar на 2 файла, в итоге так же вылетает. Может как то не так разнес кода, на всякий случая вот: fragCorrelationBar_dat.py fragCorrelationBar_exp.py python.log xvm.log Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #412682 Posted November 21, 2017 Нашел рипллей.) @MIAPAK @xenus отключил рейтинги, попробуйте fragCorrelationBar.py @MIAPAK @xenus немного переделал скрипт. Обновил его в шапке. 1 Quote Share this post Link to post Short link Share on other sites
MIAPAK 154 #412688 Posted November 21, 2017 1 час назад, ktulho сказал: Нашел рипллей.) @MIAPAK @xenus отключил рейтинги, попробуйте fragCorrelationBar.py @MIAPAK @xenus немного переделал скрипт. Обновил его в шапке. Проверить смогу только вечером, а можешь реплей прицепить? Спс Quote Share this post Link to post Short link Share on other sites
vizhu 69 #412721 Posted November 21, 2017 (edited) В 20.11.2017 в 17:37, vizhu сказал: Как сделать расстояние между значками техники м е н ь ше? Научите почему расстояния между значками большое и как сделать меньше? В 20.11.2017 в 17:40, krok65 сказал: Т.е задать иконки: Для ТТ 8-g,9-l,10-u Для арты 8-k,9-p,10-X Для пт 8-j,9-o,10-V Так можно как-то задать чтоб отличие уровней было? А так 9-ка маркер как у 8-ки отображается. Что НЕ правильно...конфиг ломается((? Цитата "vtypeAlive": { "LT": " <font face='vtype' color='#6ca135' size='18'>i</font>", "MT": " <font face='vtype' color='#9c8b9d' size='22'>{{level=10?h|{{level=9?n|g}}</font>", "HT": " <font face='vtype' color='#9c8b9d' size='22'>{{level=10?u|{{level=9?l|g}}</font>", "SPG": " <font face='vtype' color='#9c8b9d' size='22'>{{level=10?X|{{level=9?p|k}}</font>", "TD": " <font face='vtype' color='#9c8b9d' size='22'>{{level=10?V|{{level=9?o|j}}</font>", }, Edited November 21, 2017 by vizhu Quote Share this post Link to post Short link Share on other sites
SicFunzler 57 #412730 Posted November 21, 2017 (edited) @ktulho Нашел рипллей.) @MIAPAK @xenus отключил рейтинги, попробуйте fragCorrelationBar.py @MIAPAK @xenus немного переделал скрипт. Обновил его в шапк Спасибо, что он больше не работает MFG SicFunzler Edited November 21, 2017 by sicfunzler Quote Share this post Link to post Short link Share on other sites
xenus 62 #412732 Posted November 21, 2017 @ktulho , все так же вылетает. xvm.log python.log Quote Share this post Link to post Short link Share on other sites
krok65 79 #412733 Posted November 21, 2017 (edited) В 21.11.2017 в 18:58, vizhu сказал: Что НЕ правильно...конфиг ломается((? В конце {{level=10?h|{{level=9?n|g}}}} }} не добавили Edited November 25, 2017 by krok65 Quote Share this post Link to post Short link Share on other sites
vizhu 69 #412756 Posted November 22, 2017 (edited) Вот что получилось battle.xc battleLabelsTemplates.xc Edited November 22, 2017 by vizhu Quote Share this post Link to post Short link Share on other sites
krok65 79 #412758 Posted November 22, 2017 (edited) 54 минуты назад, vizhu сказал: Вот что получилось battle.xc battleLabelsTemplates.xc Ну так цвета какие видеть хотите по классам измените чтоб разные были!!! color='#9c8b9d' ---------- у Вас тут один и тот же цвет кроме ЛТ и тут тогда //true - маркеры союзников сортируются по уровню слева направо "directSortByLevelAllys": true, Ну и в battleLabelsTemplates.xc поиграйте с координатами,выставите к примеру: в "fragCorBarEnemy" "x": 175, в "fragCorBarAlly" "x": -183, ------------------- по своему разрешению сами подбирайте чтоб ближе к цифрам счета приблизить. Edited November 22, 2017 by krok65 1 1 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #412782 Posted November 22, 2017 Обновил скрипт. У кого были вылеты, просьба проверить с новым скриптом. 2 Quote Share this post Link to post Short link Share on other sites
vizhu 69 #412789 Posted November 22, 2017 (edited) 6 часов назад, krok65 сказал: Ну так цвета какие видеть хотите по классам измените чтоб разные были!!! color='#9c8b9d' ---------- у Вас тут один и тот же цвет кроме ЛТ и тут тогда //true - маркеры союзников сортируются по уровню слева направо "directSortByLevelAllys": true, Ну и в battleLabelsTemplates.xc поиграйте с координатами,выставите к примеру: в "fragCorBarEnemy" "x": 175, в "fragCorBarAlly" "x": -183, ------------------- по своему разрешению сами подбирайте чтоб ближе к цифрам счета приблизить. Спасибо. И еще один момент почему ст-1 обозначен 10 лвл? Edited November 22, 2017 by vizhu Quote Share this post Link to post Short link Share on other sites
sergbodr 10 #412794 Posted November 22, 2017 1 час назад, ktulho сказал: Обновил скрипт. У кого были вылеты, просьба проверить с новым скриптом. Спасибо! Будем проверять, а то зависало и вылетало! Я там в личку закинул логи. Quote Share this post Link to post Short link Share on other sites