ktulho 5,790 #510060 Posted October 20, 2021 Не ошибаетесь. 1 Quote Share this post Link to post Short link Share on other sites
Shumaherxxx 23 #511082 Posted November 11, 2021 а можно добавить имя созводнова и второго созводнова, разделители уран и остальное? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511091 Posted November 12, 2021 7 часов назад, Shumaherxxx сказал: а можно добавить имя созводнова и второго созводнова, разделители уран и остальное? В общем можно. Но зачем? Там всё равно значения не точные. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511366 Posted November 17, 2021 @ktulho частяком замечал, что эта конструкция возвращает отрицательные значения (-31, -5): "{{py:xvm.toAvgDmg=0?{{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}}..." предположу что проблема в несовпадении значений макросов скрипта и xvm-овского. сразу постеснялся спросить, но думаю эта конструкция {{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}} не совсем правильная. ---- имхо: было бы грамотнее рассчитывать разность макросом скрипта {{py:xvm.послеAvgDmg}} Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511377 Posted November 18, 2021 7 часов назад, HEKPOMAHT сказал: частяком замечал, что эта конструкция возвращает отрицательные значения (-31, -5): "{{py:xvm.toAvgDmg=0?{{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}}..." предположу что проблема в несовпадении значений макросов скрипта и xvm-овского. Не понял в чем проблема. 7 часов назад, HEKPOMAHT сказал: сразу постеснялся спросить, но думаю эта конструкция {{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}} не совсем правильная. Может и правильная, я не знаю что ты хочешь получить. 7 часов назад, HEKPOMAHT сказал: имхо: было бы грамотнее рассчитывать разность макросом скрипта {{py:xvm.послеAvgDmg}} И снова не понял. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511378 Posted November 18, 2021 23 минуты назад, ktulho сказал: Не понял в чем проблема. {{py:xvm.toAvgDmg}} возвращает 0, когда игрок набил ср. урон. Следовательно эта конструкция: {{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}} не должна возвращать отрицательные значения. ---- 8 часов назад, HEKPOMAHT сказал: было бы грамотнее рассчитывать разность макросом скрипта {{py:xvm.послеAvgDmg}} это макрос, который будет рассчитывать урон после достижения ср. урона, то есть разность {{py:xvm.totalDamage}} и {{tdb}}, как это делает: {{py:xvm.total_hp.avgDamage('{{l10n:avgDamage}}: ',{{py:xvm.totalDamage}})}} но только без окраски в зелёный и без плюса пример: - средний урон: 1000 - набито в бою: 1500 - макрос возвращает: 500 ---- 8 часов назад, HEKPOMAHT сказал: имхо: было бы грамотнее рассчитывать разность макросом скрипта {{py:xvm.послеAvgDmg}} типо такого: "{{py:xvm.afterAvgDmg}}" "{{py:xvm.aboveAvgDmg}}" "{{py:xvm.upAvgDmg}}" "{{py:xvm.moreAvgDmg}}" "{{py:xvm.yetAvgDmg}}" ---- 8 часов назад, HEKPOMAHT сказал: предположу что проблема в несовпадении значений макросов скрипта и xvm-овского. да, так и есть: Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511379 Posted November 18, 2021 36 минут назад, HEKPOMAHT сказал: {{py:xvm.toAvgDmg}} возвращает 0, когда игрок набил ср. урон. Следовательно эта конструкция: {{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}} не должна возвращать отрицательные значения. Ааа, попробуй сравнить с единицей {{py:xvm.toAvgDmg<1?...}} 1 Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511393 Posted November 18, 2021 7 часов назад, ktulho сказал: Ааа, попробуй сравнить с единицей {{py:xvm.toAvgDmg<1?...}} не - не пойдёт. Нужно конкретно сравнивать с 0, а в дефолт вписывать сам макрос "{{py:xvm.toAvgDmg=0?{{py:sub({{py:xvm.totalDamage}},{{tdb|0}})%d}}|{{py:xvm.toAvgDmg%d}}}}" Тогда работает как положено: на реплеях возвращает пусто, если ср. урон не рассчитывается - тоже пусто. если наоборот - будет шляпа. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511397 Posted November 18, 2021 Ну тогда попробовать: {{py:xvm.toAvgDmg%d=0?...}} Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511405 Posted November 18, 2021 21 минуту назад, ktulho сказал: Ну тогда попробовать: {{py:xvm.toAvgDmg%d=0?...}} я кажется разобрался в точной причине: Сам макрос - он то срабатывает как положено - возвращает 0, но: иногда значение {{tdb}} больше {{py:xvm.toAvgDmg}} попытаюсь объяснить: {{tdb}} = 1005 {{py:xvm.toAvgDmg}} = 1000 при {{py:xvm.toAvgDmg=0 срабатывает конструкция {{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}} а {{py:xvm.totalDamage}} = может быть и 1004, и 1003, наверно и 1000 может быть получаем: 1000 - 1005 = -5 вот откуда изредка получаются отрицательные значения ---- в конструкции на крайняк нужно использовать вместо {{tdb}} изначальное значение {{py:xvm.toAvgDmg}} (по примеру = 1000), тогда не будет отрицательных значений Поэтому я и предложил использовать только скриптовские макросы - тогда будет норм. Хотя явление весьма редкое - можно и забить Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511407 Posted November 18, 2021 16 минут назад, HEKPOMAHT сказал: иногда значение {{tdb}} больше {{py:xvm.toAvgDmg}} попытаюсь объяснить: Так в этом весь и вопрос. Они должны быть одинаковыми. Нужен реплей. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511409 Posted November 18, 2021 Только что, ktulho сказал: Так в этом весь и вопрос. ну дык да, я ж и разложил всё по полочкам... заодно и сам понял в чём причина ---- тут как сам решишь: или 10 часов назад, HEKPOMAHT сказал: "{{py:xvm.upAvgDmg}}" или: 19 минут назад, HEKPOMAHT сказал: Хотя явление весьма редкое - можно и забить ---- я как педант - предпочёл бы первое вот если бы можно сделать {{py:xvm.toAvgDmg}} статичным - тоже вариант для замены Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511410 Posted November 18, 2021 14 минут назад, HEKPOMAHT сказал: тут как сам решишь: или 10 часов назад, HEKPOMAHT сказал: "{{py:xvm.upAvgDmg}}" или: 34 минуты назад, HEKPOMAHT сказал: Хотя явление весьма редкое - можно и забить Не буду я добавлять макрос. 15 минут назад, HEKPOMAHT сказал: как педант - предпочёл бы первое вот если бы можно сделать {{py:xvm.toAvgDmg}} статичным - тоже вариант для замены Что это значит? 1 Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511411 Posted November 18, 2021 12 минут назад, ktulho сказал: Что это значит? {{tdb}} только средствами py macro. Что бы он возвращал значение {{py:xvm.toAvgDmg}} до нанесения урона. Ну добавлять не будешь - да и ладно. Пусть будет как есть. ---- можно ещё этот использовать: "{{py:xvm.total_hp.avgDamage('{{l10n:avgDamage}}: ',{{py:xvm.totalDamage}})}}" но там зелёный цвет не побороть. Тоже вариант отпадает. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511414 Posted November 18, 2021 1 час назад, HEKPOMAHT сказал: {{tdb}} только средствами py macro. Что бы он возвращал значение {{py:xvm.toAvgDmg}} до нанесения урона. Понятней не стало. {{tdb}} это средний урон на технике за все бои. По идее {{py:xvm.toAvgDmg}} = {{tdb}} - {{py:xvm.totalDamage}} пока это выражение больше 0. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511415 Posted November 18, 2021 39 минут назад, ktulho сказал: Понятней не стало. {{tdb}} это средний урон на технике за все бои. По идее {{py:xvm.toAvgDmg}} = {{tdb}} - {{py:xvm.totalDamage}} пока это выражение больше 0. в начале боя {{tdb}} и {{py:xvm.toAvgDmg}} должны быть равны 13 часов назад, HEKPOMAHT сказал: согласно скрина в ушах {{tdb}} = 1701 и в виджете {{py:xvm.toAvgDmg}} должно быть 1701, а не 1700 тогда при "{{py:xvm.totalDamage}} = 1701" конструкция будет возвращать ноль: {{py:xvm.toAvgDmg=0?{{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}} 1701 - 1701 = 0 а так, исходя из скрина будет так: 1700 - 1701 = -1 вот о чем я. на скрине разница в 1, иногда разница более существенная. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #511416 Posted November 18, 2021 Только что, HEKPOMAHT сказал: и в виджете {{py:xvm.toAvgDmg}} должно быть 1701, а не 1700 Скорее всего это из-за округления. Если найдешь разницу больше, чем в 1, то напиши. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511417 Posted November 18, 2021 Только что, ktulho сказал: Скорее всего это из-за округления. Если найдешь разницу больше, чем в 1, то напиши. я сохранил реплей - у меня в бою в виджете выскочило -70 (потом уже вспомнил, что в реплее не работает). То есть там вообще нехилое расхождение было. Я чёта подумал, что значения и не должны совпадать потому, что один макрос xvm, второй со скрипта. Могу обратить на это внимание и заскринить если что. Но пару раз смотрел - всегда была разница... хз. Зайду в бой проверю ради интереса Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511419 Posted November 18, 2021 1 бой - одинаково 2 бой - разница в 1 3 бой - одинаково 4 бой - разница в на ёлке 68 боёв - может мало...? Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #511420 Posted November 18, 2021 641 и 634 - разница 7 ---- в ангаре тоже 634 показывает Quote Share this post Link to post Short link Share on other sites