Kapany3uk 948 #398943 Posted July 25, 2017 , да ты даже не заметишь разницы), Если сделаешь макросы статистики, то я добавлю макрос "резкого" перехода.) искуситель )) Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #399129 Posted July 27, 2017 @ktulho, Это возможно сделать? А то нормально-работающего нет. То запрещенный , то из модпака со всякой фигней в анаре. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #399133 Posted July 27, 2017 @ktulho, Это возможно сделать? А то нормально-работающего нет. То запрещенный , то из модпака со всякой фигней в анаре. Сделать можно, но как показывает практика, такое лучше через флэш делать. Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #399158 Posted July 27, 2017 Сделать можно, но как показывает практика, такое лучше через флэш делать. Свои флешки можно подключать через ру-? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #399161 Posted July 27, 2017 Свои флешки можно подключать через ру-? , имел ввиду, что через py_macro не очень будет выглядеть. Лучше делать отдельным модом с использованием флэш. Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #399163 Posted July 27, 2017 , имел ввиду, что через py_macro не очень будет выглядеть. Лучше делать отдельным модом с использованием флэш. я понял. я имею ввиду вообще можно флеш запускать? анимацию какую нибудь например. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #399167 Posted July 27, 2017 Только если просто ролик запустить. Без возможности им управлять. Quote Share this post Link to post Short link Share on other sites
Crus 11 #399169 Posted July 27, 2017 А то нормально-работающего нет. То запрещенный , то из модпака со всякой фигней в анаре. Почему нет? Чем от протанки (отдельный от модпака) не устраивает? Quote Share this post Link to post Short link Share on other sites
Kornet_WA 138 #399178 Posted July 27, 2017 Почему нет? Чем от протанки (отдельный от модпака) не устраивает? без модпака он нормально не работает. и ещё куча всякой ср..ни лишней. Quote Share this post Link to post Short link Share on other sites
Crus 11 #399186 Posted July 27, 2017 @Kornet_WA, речь об отдельном моде, который можно скачать с их сайта. Он не имеет привязки к модпаку и не использует GUI-настройки в ангаре. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #399831 Posted August 3, 2017 @sirmax, а может добавишь возможность использовать эти макросы и их окраску (отметил ** на скрине) для вывода такого виджета статистики игрока прямо в ангаре? shot_051.jpg как вариант - пополнить список глобальных макросов {{my-***}} и добавить их работоспособность в ангаре... ссылка? Давай я сделаю макросы статистики, а ты виджет со статой в дефолтный конфиг? :) UPD: У меня готово, добавил макросы {{mystat.*}} со статистикой текущего игрока. В виджетах нужно использовать событие обновления ON_MY_STAT_LOADED, так как данные грузятся асинхронно. @sirmax, можно как-нибудь подсмотреть формулу, по которой рассчитывается количество побед для достижения следующего процента побед в ангаре во вкладке "Достижения/Техника" в общем-то не критично, но у меня получается разница (в 1 победу ) https://bitbucket.org/XVM/xvm/src/b9e983af816bf2b9199a50fed930363dcb604d8d/src/xvm/xvm_lobbyprofile_ui/com/xvm/lobby/ui/profile/components/TechniqueStatisticTab.as?at=default&fileviewer=file-view-default#TechniqueStatisticTab.as-232 4 Quote Share this post Link to post Short link Share on other sites
CrazyST 35 #399847 Posted August 3, 2017 (edited) у меня получается разница (в 1 победу ) на сколько я понимаю, в строке value = round( ( 100 * w - p * b ) / ( p - 100 ) ) нужно заменить round на math.ceil и всё будет правильно. так как округлять нужно только вверх для получения правильного кол-ва побед. а вообще я хотел попросить поделиться готовым py-файлом ато я питон не знаю и что там нужно импортить и т.д. не в курсе :( Edited August 3, 2017 by CrazyST Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #399856 Posted August 3, 2017 нужно заменить round на math.ceil и всё будет правильно. я пробовал, почему-то не взлетело... остановился на value = int( ( 100 * w - p * b ) / ( p - 100 ) ) + 1 Давай я сделаю макросы статистики, а ты виджет со статой в дефолтный конфиг? :) ок, сделаю. вопрос: как-нибудь можно привязаться по "у" к верхней границе карусели? просто с местоположением виджета пока не определился, как вариант слева внизу, под экипажем и над каруселью, но тут встает проблема, что карусели у всех разные (1/2/3/4 строки, нормал/смолл) и надо как-то это все синхронизировать... 'как-то так' ps. не смог покрасить цифры, макросы вида {{c:mystat.*}} не работают... будет? pps. пару раз "споткнулся" об макросы {{mystat.e}} и {{mystat.xeff}} (рейтинг вроде один, а имена макросов нет )), до макросов {{mystat.b}} и {{mystat.w}} еще не дошел, но думаю не раз "спотыкнуся"в будущем :)) надеюсь, что имена макросов - это пока рабочий вариант... Quote Share this post Link to post Short link Share on other sites
CrazyST 35 #399960 Posted August 5, 2017 У меня готово, добавил макросы {{mystat.*}} со статистикой текущего игрока. на сколько я понял это данные с сервера XVM, а значит многие из них не актуальны. особенно {{mystat.b}} {{mystat.w}} и т.д. а значит на их основании нельзя посчитать корректное значение "осталось побед до". можно в ангаре как-то получить текущее количество боёв и побед? {{battles}} и {{wins}} в ангаре не работают :( Quote Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #399969 Posted August 5, 2017 можно в ангаре как-то получить текущее количество боёв и побед? Можно 1 Quote Share this post Link to post Short link Share on other sites
CrazyST 35 #399979 Posted August 5, 2017 (edited) Можно мда. неправильно я сформулировал вопрос :). читал я этот пост. вот только ничего у меня не получилось. теперь бы поменять {{mystat.*}} на данные из ангара. Edited August 5, 2017 by CrazyST Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #399980 Posted August 5, 2017 Сделаю позже Quote Share this post Link to post Short link Share on other sites
CrazyST 35 #399984 Posted August 5, 2017 (edited) Сделаю позже жду с нетерпением... вопрос правда пока снят from helpers import dependency from skeletons.gui.shared import IItemsCache import math @xvm.export('unnormalman.winsneeded', deterministic=False) def winsneeded(t): itemsCache = dependency.instance(IItemsCache) w=itemsCache.items.getAccountDossier().getRandomStats().getWinsCount() b=itemsCache.items.getAccountDossier().getRandomStats().getBattlesCount() wr=itemsCache.items.getAccountDossier().getRandomStats().getWinsEfficiency() * 100 wrn = round(wr,2) + 0.005 wn = math.ceil( ( 100 * w - wrn * b ) / ( wrn - 100 ) ) return '{}{}{:0.2f}%'.format(int(wn),t,round(wrn,2)) огромное спасибо @night_dragon_on, но от замены на встроенные макросы я не откажусь Edited August 5, 2017 by CrazyST Quote Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #399985 Posted August 5, 2017 (edited) огромное спасибо @night_dragon_on Можно еще свое событие на обновление данных сделать, чтобы не обновлять поле каждую секунду эвентом "ON_EVERY_SECOND" 'hangar.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_UPDATE_PARAMS') @xvm.export('battlesToWins', deterministic=False) def battlesToWins(header): itemsCache = dependency.instance(IItemsCache) winsCount = itemsCache.items.getAccountDossier().getRandomStats().getWinsCount() battlesCount = itemsCache.items.getAccountDossier().getRandomStats().getBattlesCount() winsEfficiency = itemsCache.items.getAccountDossier().getRandomStats().getWinsEfficiency() * 100 wrn = (round(winsEfficiency * 100) + 0.5) / 100 wn = math.ceil((100 * winsCount - wrn * battlesCount) / (wrn - 100)) return '( {}{}{:0.2f}% )'.format(int(wn),header,(round(wrn * 100)) / 100) 'widgetsTemplates.xc' "battlesToWins": { "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:battlesToWins('{{l10n:toWithSpaces}}')}}" } ] } Edited August 7, 2017 by night_dragon_on 1 Quote Share this post Link to post Short link Share on other sites
CrazyST 35 #399987 Posted August 5, 2017 (edited) Можно еще свое событие на обновление данных сделать, чтобы не обновлять поле каждую секунду эвентом "ON_EVERY_SECOND" до этого я точно еще не дорос ))) но и ON_EVERY_SECOND не использую. обновляю по PY(ON_STATISTICS) из модуля от @ktulho это событие мне более чем подходит UPD: спасибо за hangar.py. перехожу на него )) Edited August 5, 2017 by CrazyST Quote Share this post Link to post Short link Share on other sites