Kapany3uk 948 #378925 Posted February 8, 2017 (edited) .... про меня думал )) следую принципу "думать надо о хорошем - мысль материальна" :))По теме: градиентная окраска весьма востребована (имхо) в бою: - для ХП (есть) - основного калибра (по степени приближения к "заветной" цифре) - среднего дамага (опять же по мере достижения и превышения) - для соотношения сил команд - для шанса на победу Во всех перечисленных случаях хотелось бы иметь плавный переход от красного до фиолетового (по цветам пороговых значений, принятых в хвм: 6 цветов, возможно + белый, при нейтральном/равном отношении) Для рейтингов градиент имхо не нужен ввиду сложности восприятия множества оттенков тогда как 6 цветов вполне достаточно для чёткого разделения, да и те некоторые авторы сводят к 4-5 цветам... Edited February 8, 2017 by Kapany3uk Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #378926 Posted February 8, 2017 (edited) Во всех перечисленных случаях хотелось бы иметь плавный переход от красного до фиолетового , оказывается от голубого к фиолетовому напрямую не пройти. Интересно, почему в XVM у голубого больше зеленой составляющей, чем синей? Edited February 8, 2017 by ktulho Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #378931 Posted February 8, 2017 , оказывается от голубого к фиолетовому напрямую не пройти. Можно остановится на "каждый охотник желает знать где" оставив за скобками "...сидит фазан" :)) Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #378932 Posted February 8, 2017 следую принципу "думать надо о хорошем - мысль материальна" :)) По теме: градиентная окраска весьма востребована (имхо) в бою: - для ХП (есть) - основного калибра (по степени приближения к "заветной" цифре) - среднего дамага (опять же по мере достижения и превышения) - для соотношения сил команд - для шанса на победу Во всех перечисленных случаях хотелось бы иметь плавный переход от красного до фиолетового (по цветам пороговых значений, принятых в хвм: 6 цветов, возможно + белый, при нейтральном/равном отношении) Для рейтингов градиент имхо не нужен ввиду сложности восприятия множества оттенков тогда как 6 цветов вполне достаточно для чёткого разделения, да и те некоторые авторы сводят к 4-5 цветам... Недавно столкнулся с нехваткой градиента именно в среднем уроне.Благодаря night_dragon_on собрал себе панельку.Пока ограничился фиксированными границами и то только после достижения среднего,красится все,что выше. @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/achievement/32x32/winnerLaurels1.png" width="26" height="26" align="middle" vspace="-9">' none = '<img src="img://gui/maps/icons/achievement/32x32/winnerLaurels3.png" width="26" height="26" align="middle" vspace="-9">' avgDamage = int(playerAvgDamage - dmg_total) if avgDamage <= 0: avgDamage = abs(avgDamage) if avgDamage > 1: color = 'FE7903' if avgDamage > 300: color = 'FFC103' if avgDamage > 500: color = 'F8F400' if avgDamage > 750: color = 'B2F800' if avgDamage > 1000: color = '60FF00' if avgDamage > 1500: color = '00FF77' if avgDamage > 2500: color = '02C9B3' if avgDamage > 3000: color = 'D042F3' return '%s<font color="#%s">%s</font>' % (symbol, color, avgDamage) else: return '%s%s' % (none, avgDamage) Да и в калибр бы добавить.Я так понимаю новый utils.py из ночника может помочь? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #378934 Posted February 8, 2017 .Я так понимаю новый utils.py из ночника может помочь? , да. Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #378947 Posted February 8, 2017 , да. Супер. Quote Share this post Link to post Short link Share on other sites
demon2597 5,468 #378959 Posted February 9, 2017 (edited) Интересно, почему в XVM у голубого больше зеленой составляющей, чем синей? ну потому, что это не голубой:) Может эти макросы включить в default, раз они востребованы не только в прицеле? Если включать, то где разместить программу Color.exe? наверное ближайшая по смыслу папка- res_mods\mods\shared_resources\xvm\doc\, как содержащая файлы, от которых не зависит работа мода. на счет включения в дефолт, это я не знаю. а куда еще можно применять? мне только totalHP в голову приходит. Кстати, можно сделать макросы плавного перехода цветов для рейтингов и любых других динамических цветов их color.xc. лично для меня не востребовано, так как при градиентах предполагаю возможна цветовая неразбериха, хотя на истину последней инстанции я не претендую. Edited February 9, 2017 by demon2597 1 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #378967 Posted February 9, 2017 (edited) Добавил макрос {{py:dynamic_color_rating(rating, value)}} (build 7143), где rating - название динамического цвета из файла colors.xc; value - текущее значение. макрос возвращает значение вида "FF0000" Пример: {{py:dynamic_color_rating('t_battles', {{t-battles}})}} Сейчас цвет выбирается следующим образом (на примере секции 't_battles') // Dynamic color by battles on current tank // Динамический цвет по количеству боев на текущем танке "t_battles": [ { "value": 100, "color": ${"def.colorRating.very_bad" } }, // 0 - 99 { "value": 250, "color": ${"def.colorRating.bad" } }, // 100 - 249 { "value": 500, "color": ${"def.colorRating.normal" } }, // 250 - 499 { "value": 1000, "color": ${"def.colorRating.good" } }, // 500 - 999 { "value": 1800, "color": ${"def.colorRating.very_good"} }, // 1000 - 1799 { "value": 99999, "color": ${"def.colorRating.unique" } } // 1800 - * ], если {{t-battles}} < 100, то возвращается ${"def.colorRating.very_bad" }; если 100 < {{t-battles}} < 250, то возвращается промежуточный цвет между ${"def.colorRating.very_bad" } и ${"def.colorRating.bad"}; если 250 < {{t-battles}} < 500, то возвращается промежуточный цвет между ${"def.colorRating.bad"} и ${"def.colorRating.normal" }; если 500 < {{t-battles}} < 1000, то возвращается промежуточный цвет между ${"def.colorRating.normal" } и ${"def.colorRating.good" }; если 1000 < {{t-battles}} < 1800, то возвращается промежуточный цвет между ${"def.colorRating.good" } и ${"def.colorRating.very_good" }; если 1800 < {{t-battles}}, то возвращается ${"def.colorRating.unique" }. Может стоило брать середины диапазонов? То есть: если {{t-battles}} < 50, то возвращается ${"def.colorRating.very_bad" };если 50 < {{t-battles}} < 175, то возвращается промежуточный цвет между ${"def.colorRating.very_bad" } и ${"def.colorRating.bad"};если 175 < {{t-battles}} < 375, то возвращается промежуточный цвет между ${"def.colorRating.bad"} и ${"def.colorRating.normal" };если 375 < {{t-battles}} < 750, то возвращается промежуточный цвет между ${"def.colorRating.normal" } и ${"def.colorRating.good" };если 750 < {{t-battles}} < 1800, то возвращается промежуточный цвет между ${"def.colorRating.good" } и ${"def.colorRating.very_good" };если 1800 < {{t-battles}}, то возвращается ${"def.colorRating.unique" }. Edited February 9, 2017 by ktulho Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #378971 Posted February 9, 2017 (edited) Может стоило брать середины диапазоновне стоило :)) 'имхо' На примере 90 боев: в текущем варианте это красный и никак иначе. Если брать середины, то это уже ближе к оранжевому, что не соответствует привычной градации и будет путаница... На мой взгляд (писали выше и я и demon2597) градиент в рейтингах создаёт излишнее количество вариаций, в которых "сам черт ногу сломит"... Как вариант было бы приемлемо ввести градиент только на начальных отрезках диапазонов для более плавного перехода границ: 100 боев - красный, а в диапазоне следующих 15 боев плавно в оранжевый. Далее до 250 оранжевый, а затем за 25 боев плавный переход в жёлтый и т.д. Цифры 15 и 25 обусловлены 10% начальным отрезком от величины следующего диапазона. Все вышепредложенное заморочено, наверняка сложнореализуемо и с сомнительным практическим смыслом Edited February 9, 2017 by Kapany3uk Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #378974 Posted February 9, 2017 Как вариант было бы приемлемо ввести градиент только на начальных отрезках диапазонов для более плавного перехода границ: 100 боев - красный, а в диапазоне следующих 15 боев плавно в оранжевый. Далее до 250 оранжевый, а затем за 25 боев плавный переход в жёлтый и т.д. , то есть разницы между 116 и 249 нет ни какой, а между 249 и 276 значительная? Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #378982 Posted February 9, 2017 , то есть разницы между 116 и 249 нет ни какой, а между 249 и 276 значительная? ну так любая система несовершенна :))В текущей разница между 249 и 251 не менее значительна... Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #378985 Posted February 9, 2017 В текущей разница между 249 и 251 не менее значительна... , а с использованием плавного перехода 249 и 251 будут одинаковые, а 110 и 249 будут значительно отличаться. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #379126 Posted February 10, 2017 (edited) Продолжаем эксперименты с плавным изменением цвета статистических данных. Сделал макрос в котором берутся середины диапазонов. На скриншотах ниже, слева - плавное изменение цвета, справа - обычное. Edited February 10, 2017 by ktulho Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #379134 Posted February 10, 2017 По моему оба варианта пригодны к использованию,просто в разных модификациях.Единственное,что лично мне не нравится в градиенте,так это переход из бирюзы в фиолет не проходит без синего,по моему именно он лишний.В среднем уроне неплохо бы чисто градиент,правда не с красного,а оранжевого,такое макросом можно сделать или только код править?Да,еще,я правильно понял,скрипт прицела из шапки именно для цвета не нужен,он берется из utils.py? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #379138 Posted February 10, 2017 В среднем уроне неплохо бы чисто градиент,правда не с красного,а оранжевого,такое макросом можно сделать или только код править? , если вы не хотите лезть в питон и у вас стоит последний ночник, то можно сделать так: <font color='#{{py:xvm.dynamic_color_rating(\'tdv\', {{py:math.div({{hitlog.dmg-total}}, {{tdb}})}})}}'>{{hitlog.dmg-total}}</font> Вместо {{hitlog.dmg-total}} можете использовать {{py:xvm.totalDamage}}. Можете создать свою секцию в color.xc со своими коэффициентами, например "td": "td": [ { "value": 0.7, "color": ${"def.colorRating.bad" } }, { "value": 1.0, "color": ${"def.colorRating.normal" } }, { "value": 1.3, "color": ${"def.colorRating.good" } }, { "value": 2.0, "color": ${"def.colorRating.very_good"} }, { "value": 15, "color": ${"def.colorRating.unique" } } ], тогда можно прописать так: <font color='#{{py:xvm.dynamic_color_rating(\'td\', {{py:math.div({{hitlog.dmg-total}}, {{tdb}})}})}}'>{{hitlog.dmg-total}}</font> P.S. Код не проверял, если не получится, то шлите логи.) Да,еще,я правильно понял,скрипт прицела из шапки именно для цвета не нужен,он берется из utils.py? , макросов {{sight.dynamic_colorRGB(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorRBG(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorGRB(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorGBR(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorBRG(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorBGR(color_100, color_0, percent, maximum)}} нет, ни в в скрипте из шапки (на данный момент), ни в XVM. 1 Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #379166 Posted February 10, 2017 , если вы не хотите лезть в питон и у вас стоит последний ночник, то можно сделать так: <font color='#{{py:xvm.dynamic_color_rating(\'tdv\', {{py:math.div({{hitlog.dmg-total}}, {{tdb}})}})}}'>{{hitlog.dmg-total}}</font> Вместо {{hitlog.dmg-total}} можете использовать {{py:xvm.totalDamage}}. Можете создать свою секцию в color.xc со своими коэффициентами, например "td": "td": [ { "value": 0.7, "color": ${"def.colorRating.bad" } }, { "value": 1.0, "color": ${"def.colorRating.normal" } }, { "value": 1.3, "color": ${"def.colorRating.good" } }, { "value": 2.0, "color": ${"def.colorRating.very_good"} }, { "value": 15, "color": ${"def.colorRating.unique" } } ], тогда можно прописать так: <font color='#{{py:xvm.dynamic_color_rating(\'td\', {{py:math.div({{hitlog.dmg-total}}, {{tdb}})}})}}'>{{hitlog.dmg-total}}</font> P.S. Код не проверял, если не получится, то шлите логи.) , макросов {{sight.dynamic_colorRGB(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorRBG(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorGRB(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorGBR(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorBRG(color_100, color_0, percent, maximum)}} {{sight.dynamic_colorBGR(color_100, color_0, percent, maximum)}} нет, ни в в скрипте из шапки (на данный момент), ни в XVM. Спасибо,буду пробовать)) 1 1 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #379365 Posted February 11, 2017 Скрытие стандартных элементов: снаряды и дистанция до цели. , пол дня просидел в попытках скрыть количество снарядов. Из питона, похоже, это не сделать, только правкой флэша. @sirmax, может есть возможность в XVM (XFW), вот здесь: заменить строчку this._currentTextField.text = this._count.toString(); на this._currentTextField.text = this._count < 0?'':this._count.toString(); ? Quote Share this post Link to post Short link Share on other sites
fgcwsxjegcbk2014 34 #379740 Posted February 14, 2017 (edited) поймал глюк на барабанщиках , (возможно уже исправлено ) неправильно отображает время перезарядки , особенно заметно на новых барабанных шведах каким сто странным образом считается время полного сведения на арте хотя это может быть субъективным целесобразнее сделать процентовку для сведения а не в секундах ? по макросам не хватает - вывод названия танка - вывод ника игрока - кратности зума - вывод в прицеле типа техники САУ, ПТ-САУ и тд - вывод бронепробития собственной пушки/снаряда от расстояния (в клиенте где то есть такая инфа) хотелось бы (возможно уже исправлено ) счетчик отсчета перезарядки не от нуля а от базового значения, сейчас 0 перскок на допустим 17,5 и далее по убывающей время перезарядки одного снаряда в барабане от базового значения, сейчас это время зарядки барабана и реагирует потом на событие, далее снова зарядка барабана возможность использовать различных картинок прицельных сеток для прицела в снайперском режиме , для арты , и аркадного режимов для отображени времени полного сведения на арте и вывода дистанции можно сделать задрежку вывода больше , мельтешение циферок вобщем-то ни к чему , пол дня просидел в попытках скрыть количество снарядов. Из питона, похоже, это не сделать, только правкой флэша. с помощью секции elements никак нельзя реализовать ? , а то я тоже думаю как убрать варгейминские прицелы не правя флешки Edited February 14, 2017 by fgcwsxjegcbk2014 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #379790 Posted February 14, 2017 поймал глюк на барабанщиках , (возможно уже исправлено ) неправильно отображает время перезарядки , особенно заметно на новых барабанных шведах , на риплеях воспроизводится? Если воспроизводится, то нужен риплей. каким сто странным образом считается время полного сведения на арте хотя это может быть субъективным целесобразнее сделать процентовку для сведения а не в секундах ? , как сделать процентовку? Quote Share this post Link to post Short link Share on other sites
fgcwsxjegcbk2014 34 #379794 Posted February 14, 2017 , на риплеях воспроизводится? Если воспроизводится, то нужен риплей. 14870606001809_sweden_S17_EMIL_1952_E2_canada_a.wotreplay можно вот с этого реплея половить Quote Share this post Link to post Short link Share on other sites