Jump to content
Korean Random
ktulho

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

Recommended Posts

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

Share this post


Link to post

Short link
Share on other sites
7 часов назад, Shumaherxxx сказал:

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

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

Share this post


Link to post

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:

 

Share this post


Link to post

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:

 

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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

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

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

Share this post


Link to post

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

Share this post


Link to post

Short link
Share on other sites
16 минут назад, HEKPOMAHT сказал:

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

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

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

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

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

Share this post


Link to post

Short link
Share on other sites
Только что, ktulho сказал:

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

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

----

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

 

или

10 часов назад, HEKPOMAHT сказал:
"{{py:xvm.upAvgDmg}}"

 

или:

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

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

 

----

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

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

Share this post


Link to post

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

Share this post


Link to post

Short link
Share on other sites
12 минут назад, ktulho сказал:

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

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

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

----

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

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

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

Share this post


Link to post

Short link
Share on other sites
1 час назад, HEKPOMAHT сказал:

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

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

 

Share this post


Link to post

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

Share this post


Link to post

Short link
Share on other sites
Только что, HEKPOMAHT сказал:

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

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

Share this post


Link to post

Short link
Share on other sites
Только что, ktulho сказал:

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

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

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

 

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

Share this post


Link to post

Short link
Share on other sites

1 бой - одинаково

2 бой - разница в 1

r2icrdZ.jpg

 

3 бой - одинаково

4 бой - разница в 

Z9NwrrY.jpg

 

на ёлке 68 боёв - может мало...?

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