Jump to content
Korean Random

totalEfficiency средствами XVM.


Recommended Posts

  • 4 weeks later...
7 часов назад, Shumaherxxx сказал:

а можно добавить имя созводнова и второго созводнова, разделители уран и остальное?

В общем можно. Но зачем? Там всё равно значения не точные.

Link to comment
Short link
Share on other sites

@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}} :blush:

 

Link to comment
Short link
Share on other sites

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}} :blush:

 

И снова не понял.

Link to comment
Short link
Share on other sites

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}}"

:hiding:

----

8 часов назад, HEKPOMAHT сказал:

предположу что проблема в несовпадении значений макросов скрипта и xvm-овского.

да, так и есть:

 

vX8eEcG.png

Link to comment
Short link
Share on other sites

36 минут назад, HEKPOMAHT сказал:

{{py:xvm.toAvgDmg}} возвращает 0, когда игрок набил ср. урон.

Следовательно эта конструкция:


{{py:sub({{py:xvm.totalDamage}}, {{tdb|0}})%d}}

не должна возвращать отрицательные значения.

Ааа, попробуй сравнить с единицей {{py:xvm.toAvgDmg<1?...}}

  • Upvote 1
Link to comment
Short link
Share on other sites

7 часов назад, ktulho сказал:

Ааа, попробуй сравнить с единицей {{py:xvm.toAvgDmg<1?...}}

не - не пойдёт.

Нужно конкретно сравнивать с 0, а в дефолт вписывать сам макрос

"{{py:xvm.toAvgDmg=0?{{py:sub({{py:xvm.totalDamage}},{{tdb|0}})%d}}|{{py:xvm.toAvgDmg%d}}}}"

Тогда работает как положено: на реплеях возвращает пусто, если ср. урон не рассчитывается - тоже пусто.

если наоборот - будет шляпа. 

Link to comment
Short link
Share on other sites

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

вот откуда изредка получаются отрицательные значения :hmm:

----

в конструкции на крайняк нужно использовать вместо {{tdb}} изначальное значение {{py:xvm.toAvgDmg}} (по примеру = 1000), тогда не будет отрицательных значений

 

Поэтому я и предложил использовать только скриптовские макросы - тогда будет норм. Хотя явление весьма редкое - можно и забить ext_lame.gif

Link to comment
Short link
Share on other sites

16 минут назад, HEKPOMAHT сказал:

иногда значение {{tdb}} больше {{py:xvm.toAvgDmg}}

попытаюсь объяснить:

Так в этом весь и вопрос.

Они должны быть одинаковыми.

Нужен реплей.

Link to comment
Short link
Share on other sites

Только что, ktulho сказал:

Так в этом весь и вопрос.

ну дык да, я ж и разложил всё по полочкам... заодно и сам понял в чём причина :heh:

----

тут как сам решишь:

 

или

10 часов назад, HEKPOMAHT сказал:

"{{py:xvm.upAvgDmg}}"

 

или:

19 минут назад, HEKPOMAHT сказал:

Хотя явление весьма редкое - можно и забить ext_lame.gif

 

----

я как педант - предпочёл бы первое

вот если бы можно сделать {{py:xvm.toAvgDmg}} статичным - тоже вариант для замены

Link to comment
Short link
Share on other sites

14 минут назад, HEKPOMAHT сказал:

тут как сам решишь:

 

или

10 часов назад, HEKPOMAHT сказал:


"{{py:xvm.upAvgDmg}}"

 

или:

34 минуты назад, HEKPOMAHT сказал:

Хотя явление весьма редкое - можно и забить ext_lame.gif

 

Не буду я добавлять макрос.

15 минут назад, HEKPOMAHT сказал:

как педант - предпочёл бы первое

вот если бы можно сделать {{py:xvm.toAvgDmg}} статичным - тоже вариант для замены

Что это значит?

 

  • Upvote 1
Link to comment
Short link
Share on other sites

12 минут назад, ktulho сказал:

Что это значит?

 {{tdb}} только средствами py macro. Что бы он возвращал значение {{py:xvm.toAvgDmg}} до нанесения урона.

Ну добавлять не будешь - да и ладно. Пусть будет как есть.

----

можно ещё этот использовать:

"{{py:xvm.total_hp.avgDamage('{{l10n:avgDamage}}: ',{{py:xvm.totalDamage}})}}"

но там зелёный цвет не побороть. Тоже вариант отпадает.

Link to comment
Short link
Share on other sites

1 час назад, HEKPOMAHT сказал:

{{tdb}} только средствами py macro. Что бы он возвращал значение {{py:xvm.toAvgDmg}} до нанесения урона.

Понятней не стало. {{tdb}} это средний урон на технике за все бои. По идее {{py:xvm.toAvgDmg}} = {{tdb}} - {{py:xvm.totalDamage}} пока это выражение больше 0.

 

Link to comment
Short link
Share on other sites

39 минут назад, ktulho сказал:

Понятней не стало. {{tdb}} это средний урон на технике за все бои. По идее {{py:xvm.toAvgDmg}} = {{tdb}} - {{py:xvm.totalDamage}} пока это выражение больше 0.

 

в начале боя {{tdb}} и {{py:xvm.toAvgDmg}} должны быть равны

 

13 часов назад, HEKPOMAHT сказал:

vX8eEcG.png

 

согласно скрина в ушах {{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, иногда разница более существенная.

Link to comment
Short link
Share on other sites

Только что, HEKPOMAHT сказал:

и в виджете {{py:xvm.toAvgDmg}} должно быть 1701, а не 1700

Скорее всего это из-за округления. Если найдешь разницу больше, чем в 1, то напиши.

Link to comment
Short link
Share on other sites

Только что, ktulho сказал:

Скорее всего это из-за округления. Если найдешь разницу больше, чем в 1, то напиши.

я сохранил реплей - у меня в бою в виджете выскочило -70 (потом уже вспомнил, что в реплее не работает). То есть там вообще нехилое расхождение было.

Я чёта подумал, что значения и не должны совпадать потому, что один макрос xvm, второй со скрипта. Могу обратить на это внимание и заскринить если что. Но пару раз смотрел - всегда была разница... хз.

 

Зайду в бой проверю ради интереса 

Link to comment
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...