Kapany3uk 948 #398647 Posted July 22, 2017 (edited) Передай её в percent_wins() как строку и вставляй. я пробовал вот так: def percent_wins(w,b,r,t): # t = {{l10n:toWithSpaces}} ... return '{}{}{}'.format(int(value),t,p) выдает (32, 61, 52.45901639344262, до ) ^ SyntaxError: invalid syntax и чет как ни пробовал, никак не получается... Поможешь? Edited July 22, 2017 by Kapany3uk Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #398648 Posted July 22, 2017 А в xc что прописано? Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398649 Posted July 22, 2017 (edited) А в xc что прописано? "format": "({{py:my_percent_wins({{v.wins}}, {{v.battles}}, {{v.winrate}}, {{l10n:toWithSpaces}})}}%)" зы надо заключить макрос перевода в кавычки/скобки? какие если да? Edited July 22, 2017 by Kapany3uk Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #398651 Posted July 22, 2017 "format": "({{py:my_percent_wins({{v.wins}}, {{v.battles}}, {{v.winrate}}, {{l10n:toWithSpaces}})}}%)" зы надо заключить макрос перевода в кавычки/скобки? какие если да? Да, в одинарные кавычки. Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398652 Posted July 22, 2017 (edited) Да, в одинарные кавычки. спасибо, все получилось )) Вот теперь бы все тоже самое, только для аккаунта, в виде виджета, чтобы не лазить постоянно в достижения и можно было бы разместить в любом удобном месте на экране )) Edited July 22, 2017 by Kapany3uk Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #398653 Posted July 22, 2017 Вот теперь бы все тоже самое, только для аккаунта, в виде виджета, чтобы не лазить постоянно в достижения и можно было бы разместить в любом удобном месте на экране )) А чего не хватает для реализации? Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398683 Posted July 22, 2017 А чего не хватает для реализации? знаний )) как минимум, как вывести "аккаунтные" макросы в ангар? сам виджет сделал, но отображает только фиксированный текст без макросов (в смысле "боевые" макросы в ангаре не действуют...) Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #398686 Posted July 22, 2017 (в смысле "боевые" макросы в ангаре не действуют...) Ааа, понятно. Посмотрю на досуге. Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398687 Posted July 22, 2017 Ааа, понятно. Посмотрю на досуге. попытался импортировать stats.py - выдало AttributeError: 'module' object has no attribute 'stat' Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #398688 Posted July 22, 2017 Посмотри как в damageLog.py импортируется. Только там, по моему, для боя статистика. Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398689 Posted July 22, 2017 Посмотри как в damageLog.py импортируется. Только там, по моему, для боя статистика. в ангаре на вкладке "достижения/техника" есть вся инфа, которую хотелось бы вынести "на первый план", но так и не смог отыскать в "mods\packages\xvm_**\python\*.ру" ничего похожего... Quote Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #398696 Posted July 23, 2017 (edited) в ангаре на вкладке "достижения/техника" есть вся инфа, которую хотелось бы вынести "на первый план" Cписок доступных функций: ##################################################################### # imports from helpers import dependency from skeletons.gui.game_control import IBootcampController from skeletons.gui.shared import IItemsCache ##################################################################### # handlers def hangar_info(): itemsCache = dependency.instance(IItemsCache) if dependency.instance(IBootcampController).isInBootcamp(): return else: for attr in dir(itemsCache.items.getAccountDossier().getRandomStats()): if attr.find('get') == 0: print attr hangar_info() Наименование доступных к выводу: INFO: getAchievement INFO: getAchievements INFO: getArmorUsingEfficiency INFO: getAvgDamage INFO: getAvgDamageAssistedStun INFO: getAvgDamageBlocked INFO: getAvgDamageReceived INFO: getAvgEnemiesSpotted INFO: getAvgFrags INFO: getAvgStunNumber INFO: getAvgXP INFO: getBattlesCount INFO: getBattlesCountBefore8_8 INFO: getBattlesCountBefore9_0 INFO: getBattlesCountVer2 INFO: getBattlesCountVer3 INFO: getBattlesCountWithStun INFO: getBattlesStats INFO: getCapturePoints INFO: getDamageAssistedEfficiency INFO: getDamageAssistedRadio INFO: getDamageAssistedStun INFO: getDamageAssistedTrack INFO: getDamageBlockedByArmor INFO: getDamageDealt INFO: getDamageEfficiency INFO: getDamageReceived INFO: getDeathsCount INFO: getDrawsCount INFO: getDroppedCapturePoints INFO: getFrags8p INFO: getFragsCount INFO: getFragsEfficiency INFO: getHeHits INFO: getHeHitsReceived INFO: getHitsCount INFO: getHitsEfficiency INFO: getLossesCount INFO: getLossesEfficiency INFO: getMarksOfMastery INFO: getMaxDamage INFO: getMaxDamageVehicle INFO: getMaxFrags INFO: getMaxFragsVehicle INFO: getMaxXp INFO: getMaxXpVehicle INFO: getNearestAchievements INFO: getNoDamageShotsReceived INFO: getOriginalXP INFO: getPierced INFO: getPiercedReceived INFO: getPotentialDamageReceived INFO: getRecord INFO: getShotsCount INFO: getShotsReceived INFO: getSignificantAchievements INFO: getSpottedEnemiesCount INFO: getStunNumber INFO: getSurvivalEfficiency INFO: getSurvivedBattlesCount INFO: getTopAchievements INFO: getVehicles INFO: getWinAndSurvived INFO: getWinsCount INFO: getWinsEfficiency INFO: getXP INFO: getXpBefore8_8 Пример вызова нескольких параметров для дальнейшего использования: 'hangar_example.py' ##################################################################### # imports from gui.Scaleform.daapi.view.lobby.hangar.Hangar import Hangar from helpers import dependency from skeletons.gui.game_control import IBootcampController from skeletons.gui.shared import IItemsCache import math from xfw import * ##################################################################### # handlers @registerEvent(Hangar, '_Hangar__updateParams') def Hangar__updateParams(self): if dependency.instance(IBootcampController).isInBootcamp(): return as_event('ON_HANGAR_UP') @xvm.export('winsCount', deterministic=False) def winsCount(): itemsCache = dependency.instance(IItemsCache) winsCount = itemsCache.items.getAccountDossier().getRandomStats().getWinsCount() return winsCount @xvm.export('battlesCount', deterministic=False) def battlesCount(): itemsCache = dependency.instance(IItemsCache) battlesCount = itemsCache.items.getAccountDossier().getRandomStats().getBattlesCount() return battlesCount @xvm.export('winsEfficiency', deterministic=False) def winsEfficiency(): itemsCache = dependency.instance(IItemsCache) winsEfficiency = itemsCache.items.getAccountDossier().getRandomStats().getWinsEfficiency() * 100 return winsEfficiency 'widgetsTemplates.xc' "example_hangar_field": { "enabled": true, "layer": "top", "type": "extrafield", "formats": [ { "updateEvent": "PY(ON_HANGAR_UPDATE_PARAMS)", "x": -415, "y": 10, "width": 150, "height": 53, "screenHAlign": "center", "screenVAlign": "top", "shadow": { "enabled": true, "distance": 0, "angle": 90, "color": "0x000000", "alpha": 100, "blur": 4, "strength": 2 }, "textFormat": { "font": "$FieldFont", "size": 19, "color": "0xBCBCBC", "align": "center", "valign": "top" }, "format": "{{py:winsCount}} {{py:battlesCount}} {{py:winsEfficiency}}" } ] } Edited August 7, 2017 by night_dragon_on 4 Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398702 Posted July 23, 2017 @night_dragon_on, огромное мерси )) Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #398705 Posted July 23, 2017 @ktulho, сессионную статистику нет возможности замутить через ру- ? Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398711 Posted July 23, 2017 @sirmax, можно как-нибудь подсмотреть формулу, по которой рассчитывается количество побед для достижения следующего процента побед в ангаре во вкладке "Достижения/Техника" в общем-то не критично, но у меня получается разница (в 1 победу ) да и хотелось бы повторить весь блок статистики из достижений (включая вн8, РЭ и т.п.), но вот формулу трудновато самому "с нуля" придумать )) Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #398721 Posted July 23, 2017 (edited) @sirmax, можно как-нибудь подсмотреть формулу, по которой рассчитывается количество побед для достижения следующего процента побед в ангаре во вкладке "Достижения/Техника" в общем-то не критично, но у меня получается разница (в 1 победу ) shot_046.jpg да и хотелось бы повторить весь блок статистики из достижений (включая вн8, РЭ и т.п.), но вот формулу трудновато самому "с нуля" придумать )) Может этот код поможет?Там исходники любезно оставил автор,принцип работы схожий. П.С:опять же,тот же автор оставил исходник статистики ВН8,там формула есть...вроде) Edited July 23, 2017 by Slava7572 Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #398722 Posted July 23, 2017 (edited) @sirmax, а может добавишь возможность использовать эти макросы и их окраску (отметил ** на скрине) для вывода такого виджета статистики игрока прямо в ангаре? как вариант - пополнить список глобальных макросов {{my-***}} и добавить их работоспособность в ангаре... Может этот код поможет? ссылка? Edited July 23, 2017 by Kapany3uk Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #398724 Posted July 23, 2017 (edited) ссылка? Так в шапке,внизу гита,там исходники.А,тю,сорри,скопировал,но забыл забиндить)) Edited July 23, 2017 by Slava7572 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #398733 Posted July 23, 2017 @ktulho, сессионную статистику нет возможности замутить через ру- ? Возможно, но у меня желание нет. На данный момент, вроде, в ru секторе популярны 3 мода, реализующий данный функционал. Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #398736 Posted July 23, 2017 Возможно, но у меня желание нет. На данный момент, вроде, в ru секторе популярны 3 мода, реализующий данный функционал. А было бы круто,минус сторонний мод.....А вообще сложно допустим адаптировать уже готовый код,но средствами ХВМ?К примеру вотстат,автор его давно забросил(спасибо огромное,что Андрей(Ekspoint) его поддерживает),но исходники оставил и не был против,если его будут поддерживать,в каком виде думаю значения не имеет,такое в ХВМ пользовалось бы популярностью не меньше,чем тот же демедж лог)) Quote Share this post Link to post Short link Share on other sites