Jump to content
Korean Random
ktulho

Прицел (без сведения) средствами XVM

Recommended Posts

.... про меня думал ))

следую принципу "думать надо о хорошем - мысль материальна" :))

По теме: градиентная окраска весьма востребована (имхо) в бою:

- для ХП (есть)

- основного калибра (по степени приближения к "заветной" цифре)

- среднего дамага (опять же по мере достижения и превышения)

- для соотношения сил команд

- для шанса на победу

Во всех перечисленных случаях хотелось бы иметь плавный переход от красного до фиолетового (по цветам пороговых значений, принятых в хвм: 6 цветов, возможно + белый, при нейтральном/равном отношении)

Для рейтингов градиент имхо не нужен ввиду сложности восприятия множества оттенков тогда как 6 цветов вполне достаточно для чёткого разделения, да и те некоторые авторы сводят к 4-5 цветам...

Edited by Kapany3uk

Share this post


Link to post

Short link
Share on other sites

Во всех перечисленных случаях хотелось бы иметь плавный переход от красного до фиолетового

, оказывается от голубого к фиолетовому напрямую не пройти.

 

post-17624-0-59316200-1486570061_thumb.png

 

Интересно, почему в XVM у голубого больше зеленой составляющей, чем синей?

Edited by ktulho

Share this post


Link to post

Short link
Share on other sites

, оказывается от голубого к фиолетовому напрямую не пройти.

Можно остановится на "каждый охотник желает знать где" оставив за скобками "...сидит фазан" :))

Share this post


Link to post

Short link
Share on other sites

следую принципу "думать надо о хорошем - мысль материальна" :))

По теме: градиентная окраска весьма востребована (имхо) в бою:

- для ХП (есть)

- основного калибра (по степени приближения к "заветной" цифре)

- среднего дамага (опять же по мере достижения и превышения)

- для соотношения сил команд

- для шанса на победу

Во всех перечисленных случаях хотелось бы иметь плавный переход от красного до фиолетового (по цветам пороговых значений, принятых в хвм: 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 из ночника может помочь?

Share this post


Link to post

Short link
Share on other sites

 

 

.Я так понимаю новый utils.py из ночника может помочь?
, да. 

Share this post


Link to post

Short link
Share on other sites
Интересно, почему в XVM у голубого больше зеленой составляющей, чем синей?

ну потому, что это не голубой:) 

 

Может эти макросы включить в default, раз они востребованы не только в прицеле? Если включать, то где разместить программу Color.exe?

наверное ближайшая по смыслу папка- res_mods\mods\shared_resources\xvm\doc\, как содержащая файлы, от которых не зависит работа мода. на счет включения в дефолт, это я не знаю. а куда еще можно применять? мне только totalHP в голову приходит.

 

Кстати, можно сделать макросы плавного перехода цветов для рейтингов и любых других динамических цветов их color.xc.

лично для меня не востребовано, так как при градиентах предполагаю возможна цветовая неразбериха, хотя на истину последней инстанции я не претендую.

Edited by demon2597
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Добавил макрос {{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 by ktulho

Share this post


Link to post

Short link
Share on other sites

Может стоило брать середины диапазонов

не стоило :))

'имхо'

На примере 90 боев: в текущем варианте это красный и никак иначе. Если брать середины, то это уже ближе к оранжевому, что не соответствует привычной градации и будет путаница...

На мой взгляд (писали выше и я и demon2597) градиент в рейтингах создаёт излишнее количество вариаций, в которых "сам черт ногу сломит"...

Как вариант было бы приемлемо ввести градиент только на начальных отрезках диапазонов для более плавного перехода границ: 100 боев - красный, а в диапазоне следующих 15 боев плавно в оранжевый. Далее до 250 оранжевый, а затем за 25 боев плавный переход в жёлтый и т.д. Цифры 15 и 25 обусловлены 10% начальным отрезком от величины следующего диапазона.

 

Все вышепредложенное заморочено, наверняка сложнореализуемо и с сомнительным практическим смыслом

Edited by Kapany3uk

Share this post


Link to post

Short link
Share on other sites

 

 

Как вариант было бы приемлемо ввести градиент только на начальных отрезках диапазонов для более плавного перехода границ: 100 боев - красный, а в диапазоне следующих 15 боев плавно в оранжевый. Далее до 250 оранжевый, а затем за 25 боев плавный переход в жёлтый и т.д.
, то есть разницы между 116 и 249 нет ни какой, а между 249 и 276 значительная?

Share this post


Link to post

Short link
Share on other sites

, то есть разницы между 116 и 249 нет ни какой, а между 249 и 276 значительная?

ну так любая система несовершенна :))

В текущей разница между 249 и 251 не менее значительна...

Share this post


Link to post

Short link
Share on other sites

 

 

В текущей разница между 249 и 251 не менее значительна...
, а с использованием плавного перехода 249 и 251 будут одинаковые, а 110 и 249 будут значительно отличаться. 

Share this post


Link to post

Short link
Share on other sites

Продолжаем эксперименты с плавным изменением цвета статистических данных. Сделал макрос в котором берутся середины диапазонов. На скриншотах ниже, слева - плавное изменение цвета, справа - обычное.

post-17624-0-70143100-1486723201.png             post-17624-0-73092800-1486723282.png            post-17624-0-31849800-1486723354.png

Edited by ktulho

Share this post


Link to post

Short link
Share on other sites

По моему оба варианта пригодны к использованию,просто в разных модификациях.Единственное,что лично мне не нравится в градиенте,так это переход из бирюзы в фиолет не проходит без синего,по моему именно он лишний.В среднем уроне неплохо бы чисто градиент,правда не с красного,а оранжевого,такое макросом можно сделать или только код править?Да,еще,я правильно понял,скрипт прицела из шапки именно для цвета не нужен,он берется из utils.py?

Share this post


Link to post

Short link
Share on other sites

 

 

В среднем уроне неплохо бы чисто градиент,правда не с красного,а оранжевого,такое макросом можно сделать или только код править?
, если вы не хотите лезть в питон и у вас стоит последний ночник, то можно сделать так:
<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. 

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

, если вы не хотите лезть в питон и у вас стоит последний ночник, то можно сделать так:

<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. 

 

Спасибо,буду пробовать))

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Скрытие стандартных элементов: снаряды и дистанция до цели.

, пол дня просидел в попытках скрыть количество снарядов. Из питона, похоже, это не сделать, только правкой флэша.

post-17624-0-34608000-1486832743_thumb.jpg

 

 @sirmax, может есть возможность в XVM (XFW), вот здесь:

post-17624-0-37196100-1486832719_thumb.png

заменить строчку

this._currentTextField.text = this._count.toString();

на

this._currentTextField.text = this._count < 0?'':this._count.toString();

?

Share this post


Link to post

Short link
Share on other sites

post-32481-0-39057800-1487065192_thumb.jpg

поймал глюк на барабанщиках , (возможно уже исправлено )

неправильно отображает время перезарядки , особенно заметно на новых барабанных шведах

каким сто странным образом считается время полного сведения на арте :gg: хотя это может быть субъективным

целесобразнее сделать процентовку для сведения а не в секундах ?

 

по макросам не хватает

- вывод названия танка

- вывод ника игрока

- кратности зума

- вывод в прицеле типа техники САУ, ПТ-САУ и тд

- вывод бронепробития собственной пушки/снаряда от расстояния :ok: (в клиенте где то есть такая инфа)

 

хотелось бы (возможно уже исправлено )

счетчик отсчета перезарядки не от нуля а от базового значения, сейчас 0 перскок на допустим 17,5 и далее по убывающей

время перезарядки одного снаряда в барабане от базового значения, сейчас это время зарядки барабана и реагирует потом на событие, далее снова зарядка барабана

возможность использовать различных картинок прицельных сеток для прицела в снайперском режиме , для арты , и аркадного режимов

для отображени времени полного сведения на арте и вывода дистанции можно сделать задрежку вывода больше , мельтешение циферок вобщем-то ни к чему


, пол дня просидел в попытках скрыть количество снарядов. Из питона, похоже, это не сделать, только правкой флэша.

с помощью секции elements никак нельзя реализовать ? , а то я тоже думаю как убрать варгейминские прицелы не правя флешки

Edited by fgcwsxjegcbk2014

Share this post


Link to post

Short link
Share on other sites

 

 

поймал глюк на барабанщиках , (возможно уже исправлено ) неправильно отображает время перезарядки , особенно заметно на новых барабанных шведах
, на риплеях воспроизводится? Если воспроизводится, то нужен риплей. 

 

 

каким сто странным образом считается время полного сведения на арте хотя это может быть субъективным целесобразнее сделать процентовку для сведения а не в секундах ?  
, как сделать процентовку?

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...