Jump to content
Korean Random
ktulho

Отображение активных резервов в ангаре и в бою. (XVM)

Recommended Posts

2 часа назад, ktulho сказал:

Added macro:

 

can we get index 0 = return shortest duration? needed to make it work in shadow / textformat.

 

my code is this

          "shadow": { "enabled": true, "distance": 0, "angle": 0, "color": "0x{{py:bst.leftTimeMin(1)<10?b31c00|0694F5}}", "alpha": 70, "blur": 4, "strength": 2 },
          "textFormat": { "color": "0x{{py:bst.leftTimeMin(1)<10?ff2800|A3F5FE}}", "size": 12},

but i would like to change color / shadow as soon as any buff goes below 10 minutes.

 

 

 

 

push!

 

 

Edited by Kaeptn

Share this post


Link to post

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

can we get index 0 = return shortest duration? needed to make it work in shadow / textformat.

Добавил:

Если значение index не задано, то возвращается значения для резерва, время действия которого наименьшее.

Если значение index не задано, то возвращается значения для резерва, время действия которого наименьшее.

 

В 04.11.2017 в 20:06, Kaeptn сказал:

can we also have clan boost display vie this script?

Я не состою в клане, поэтому мне проблематично это сделать.

Share this post


Link to post

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

Добавил:

Если значение index не задано, то возвращается значения для резерва, время действия которого наименьшее.

Я ослик

 

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

Я не состою в клане, поэтому мне проблематично это сделать.

i'm sure someone can help with that

 

 

another stupid question:

how to normalise {{py:bst.leftTimeMin(1)}} to a 2-digit scale? {{py:bst.leftTimeMin(1):99}} doesn't work for me.

Edited by Kaeptn

Share this post


Link to post

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

Я не состою в клане, поэтому мне проблематично это сделать.

Жаль,если бы еще клановые плюшки показывало,вечно забывал про них,их просто не видно пока укреп не откроешь.

Share this post


Link to post

Short link
Share on other sites

офтоп маленький по форматированию

допустим у меня идет выравнивание текста по левому краю, а последний блок нужно по правому, для наглядности:

"textFormat": {"align": "left", бла-бла-бла},
"format": "<textformat tabstops='[32, 81, 102]' влево <tab> влево <tab> влево <tab> нужно вправо </textformat>

попробовал по разному - никак. реально или нет?

Share this post


Link to post

Short link
Share on other sites
3 минуты назад, steaxch сказал:

реально или нет?

Если это текст, то с помощью форматирования. Только надо использовать моноширинный шрифт.

Share this post


Link to post

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

Если это текст, то с помощью форматирования. Только надо использовать моноширинный шрифт.

там значение макроса, конкретно {{mystat.winrate%.2f~}}

Share this post


Link to post

Short link
Share on other sites

Попробуй  {{mystat.winrate%5.2f~}}. Вместо 5 подбери нужное количество символов.

Share this post


Link to post

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

another stupid question:

how to normalise {{py: bst.leftTimeMin (1)}} to a 2-digit scale? {{py: bst.leftTimeMin (1): 99}} does not work for me.

 

Share this post


Link to post

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

@Kaeptn нормализация не работает.

ktulho, а можешь такой формат прикрутить ч:мин (1:15  0:45  0:08) ?

я извернулся сделал через макросы

 

{{py:bst.leftTimeMin(1)>59?1:{{py:sub({{py:bst.leftTimeMin(1)}}, 60)}}|{{py:bst.leftTimeMin(1)<10?0:0{{py:bst.leftTimeMin(1)}}|0:{{py:bst.leftTimeMin(1)}}}}}}

 

5a01f2c348bdc_2.png.584dec08c6396de4320434ce294baf66.png

пришлось еще через альфу убирать 1:  0:  0:0 когда резервы не активированы

НО, самое главное, в логи ошибки py:sub поперли если активировано меньше 3-х резервов

 

SyntaxError: invalid syntax


arg='sub(, 60)'
2017-11-07 20:20:35: [ERROR] Traceback (most recent call last):
  File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 156, in process_python_macro
    (func, deterministic) = get_function(arg)
  File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 144, in get_function
    args = ast.literal_eval(args_string)
  File "scripts/common/Lib/ast.py", line 49, in literal_eval
  File "scripts/common/Lib/ast.py", line 37, in parse
  File "<unknown>", line 1
    (, 60)
     ^

Edited by steaxch
  • Upvote 1

Share this post


Link to post

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

@Kaeptn  normalization does not work.

 

well, i got it working (sort of)

shot_003.jpg.a6f0c60224365982fe9a1e499c68d684.jpg

circular timer ring, works with all buffs up to 120 minutes.

<textformat leading='-35'><font size='35' face='dynamic'>{{py:abs({{py:div({{py:mul({{py:bst.leftTimeMin(2)}}, 99)}}, 120)}})%.335a}}</font><tab>{{py:bst.leftTime(2)}}<br><tab>{{py:bst.name(2)}}</textformat>

...but it would be better to have a macro that gives out a normalized value for time

Share this post


Link to post

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

 

ktulho глянь опытным глазом правильно я макрос {{py:bst.leftTimeHrMin(index)}} запилил

чтобы такой формат выводить часы : минуты

5a02ec7706a5c_2.png.1f13a86c100e015fd55f4b427d27b20c.png

boosters.py

 

  • Upvote 1

Share this post


Link to post

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

@steaxch вроде правильно, но красивее так:


h, m = divmod(seconds/60, 60)

 

действительно красиво, а я только по рабоче-крестьянски, сложить и поделить :biggrin:

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Изменил:

{{py:bst.leftTimeMin(index, norm)}} - оставшееся время действия активного резерва в минутах. Если параметр norm не задан, то возвращаются оставшееся время в минутах.
Параметр index - номер активного резерва от 1 до 3. Если значение index равно 0, то возвращается значения для резерва, время действия которого наименьшее.

 

Share this post


Link to post

Short link
Share on other sites
В 08.11.2017 в 15:32, ktulho сказал:

@steaxch вроде правильно, но красивее так:


h, m = divmod(seconds/60, 60)

 

  ktulho а как тут еще сделать, чтобы когда осталось < 1 минуты выводились секунды?

 

@xvm.export('bst.leftTimeHrMin', deterministic=False)
def leftTimeHrMin(index=None):
    b = booster(index)
    if b is not None:
        seconds = time_utils.getTimeDeltaFromNow(time_utils.makeLocalServerTime(b.finishTime)) if b.finishTime is not None else 0
        h, m = divmod(seconds/60, 60)	
        return '{:01d}:{:02d}'.format(h, m)
    return None	


 

 

сейчас при оставшемся времени <1мин отображается 0:00, могу сделать как у картохи, чтобы последние 2 минуты отображались как 1 минута(0:01), но что-то захотелось секунды увидеть, а тут у меня ума не хватает

Edited by steaxch

Share this post


Link to post

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

@steaxch , без часов? Только минуты и секунды?

 

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

чтобы как-то так возвращало, вообще одни секунды

return ':{:02d}'.format(seconds)

 

Edited by steaxch

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.

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