Jump to content
Korean Random
ktulho

Часы и дата (py_macro)

Recommended Posts

Данная модификация предназначена для отображения текущего времени и даты (входит в состав XVM).

 

Установка:

1) В файл battleLabels.xc добавить:

${ "battleLabelsTemplates.xc":"def.battleClock" }

2) В battleLabelsTemplates.xc добавить:

"battleClock": {
      "enabled": true,
      "updateEvent": "ON_EVERY_SECOND",
      "x": 0,
      "y": 45,
      "width": 200,
      "height": 40,
      "screenHAlign": "center",
      "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 },
      "textFormat": {"align": "center", "size": 20 },
      "format": "{{py:xvm.formatDate('%a %b %d %H:%M:%S %Y')}}"
    }

Настройка.

Настройка формата отображения часов и даты осуществляется с помощью строки передаваемой в {{py:xvm.formatDate}}, в которой, указанные ниже параметры, будут заменены на соответствующие значения.

'Таблица параметров'

-----------------------------------------------------------------------------------
 Формат  | Значение
-----------------------------------------------------------------------------------
  %a     | Сокращенное название дня недели (первая буква в верхнем регистре)
  %au    | Сокращенное название дня недели (в верхнем регистре)
  %al    | Сокращенное название дня недели (в нижнем регистре)
  %A     | Полное название дня недели (первая буква в верхнем регистре)
  %Au    | Полное название дня недели (в верхнем регистре)
  %Al    | Полное название дня недели (в нижнем регистре)
  %b     | Сокращенное название месяца (первая буква в верхнем регистре)
  %bu    | Сокращенное название месяца (в верхнем регистре)
  %bl    | Сокращенное название месяца (в нижнем регистре)
  %B     | Полное название месяца (первая буква в верхнем регистре)
  %Bu    | Полное название месяца (в верхнем регистре)
  %Bl    | Полное название месяца (в нижнем регистре)
  %c     | Дата и время
  %d     | День месяца [01,31]
  %H     | Час (24-часовой формат) [00,23]
  %I     | Час (12-часовой формат) [01,12]
  %j     | День года [001,366]
  %m     | Номер месяца [01,12]
  %M     | Число минут [00,59]
  %p     | До полудня (AM) или после (PM) (при 12-часовом формате)
  %S     | Число секунд [00,61]
  %U     | Номер недели в году (нулевая неделя начинается с воскресенья) [00,53]
  %w     | Номер дня недели [0(Sunday),6]
  %W     | Номер недели в году (нулевая неделя начинается с понедельника) [00,53]
  %x     | Дата согласно региональным настройкам
  %X     | Время согласно региональным настройкам
  %y     | Год без века [00,99]
  %Y     | Год с веком
  %Z     | Временная зона
  %%     | Знак '%'
----------------------------------------------------------------------------------- 

Примеры:

'Пример 1.'

{{py:xvm.formatDate('%a %b %d %H:%M:%S %Y')}}

post-17624-0-81600900-1476609428.jpg

'Пример 2.'

{{py:xvm.formatDate('%H:%M:%S   %A')}}

post-17624-0-48576800-1476609618.jpg

'Пример 3.'

{{py:xvm.formatDate('%c')}}

post-17624-0-97028100-1476609753.jpg

Edited by ktulho
  • Upvote 14
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

debugPanel - тоже тут место, и про battleTimer я спрашивал  :que:

Share this post


Link to post

Short link
Share on other sites

Данный модификация предназначен для отображения в бою текущего времени и даты.

 

 

Прошу Вас в ангаре такое же сделать  :no1:

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

А текущие настройки часов в ангаре-то чем не устраивают??

Edited by vlad_cs_sr

Share this post


Link to post

Short link
Share on other sites

Устраивают вполне. Но у меня в ангаре часы были дважды, от xvm в левом верхнем и часы с калькулятором справа.Последний мод пока не обновился, хотя автор уже появился на форуме.
Вот и попросил, если это не очень сложно, "продублировать" боевые часы в ангар.

Share this post


Link to post

Short link
Share on other sites

Во-первых часы выводятся через battleLabels. А во-вторых, зачем вам двое часов в ангаре?

Share this post


Link to post

Short link
Share on other sites

post-11459-0-71682100-1476689109_thumb.png

Мне казалось, так смотрится :hmm:  

Слева xvm - справа часы и калькулятор (калькулятор поломался раньше) в ангаре от AntonVK

 

Share this post


Link to post

Short link
Share on other sites

attachicon.gifclock_hangar.png

Мне казалось, так смотрится :hmm:  

Слева xvm - справа часы и калькулятор (калькулятор поломался раньше) в ангаре от AntonVK

Включи крутые дефолтные часы и передвинь их влево.

Share this post


Link to post

Short link
Share on other sites

@BuSH, спасибо, суть вопроса была не в этом, но все равно спасибо. Дождусь от AntonVK (у меня на скрине слева, кстати, как раз "крутые дефолтные часы" :) ) 

Share this post


Link to post

Short link
Share on other sites

Спасибо за очередной полезный макрос. Есть вопрос. Вероятно, глупый, но актуальный.

Как при использовании сниппета скрывать родные xvm-овские часы в бою. enable:false можно выставить только для ангарных ведь...

Edited by ADv

Share this post


Link to post

Short link
Share on other sites
вопрос

 

 

'battle.xc'

/**
* General parameters for the battle interface.
* Общие параметры боевого интерфейса.
*/
{
  "battle": {
..
    // Format of clock on the Debug Panel (near FPS).
    // Формат часов на экране панели отладки (возле FPS).
    // http://php.net/date
    "clockFormat": "H:i", <-- оставить пустые кавычки

Edited by vlad_cs_sr

Share this post


Link to post

Short link
Share on other sites

ktulho скажи, если я соединю .py файлы часов и дебаг панели, все норм будет?

 

вот так

import BigWorld
import BattleReplay
import time
from xvm_main.python.logger import *


@xvm.export('xvm.lag', deterministic=False)
def xvm_lag():
    replayCtrl = BattleReplay.g_replayCtrl
    if replayCtrl.isPlaying and replayCtrl.fps > 0:
        isLaggingNow = 'lag' if replayCtrl.isLaggingNow else None
    else:
        isLaggingNow = 'lag' if BigWorld.statLagDetected() else None
    # log('lag = %s' % isLaggingNow)
    return isLaggingNow


@xvm.export('xvm.ping', deterministic=False)
def xvm_ping():
    replayCtrl = BattleReplay.g_replayCtrl
    if replayCtrl.isPlaying and replayCtrl.fps > 0:
        ping = replayCtrl.ping
    else:
        ping = BigWorld.statPing()
    return int(ping)


@xvm.export('xvm.fps', deterministic=False)
def xvm_fps():
    return int(BigWorld.getFPS()[1])


@xvm.export('xvm.formatDate', deterministic=False)
def xvm_formatDate(formatDate):
    import locale
    t = time.strftime(formatDate).decode(locale.getdefaultlocale()[1])
    return '{}'.format(t)

 

и как лучше создавать поля в battleLabelsTemplates.xc 2 разных поля для часов и дебаг панели с эвентом ON_EVERY_SECOND или одно? 

Share this post


Link to post

Short link
Share on other sites

 

 

если я соединю .py файлы часов и дебаг панели, все норм будет?
не должно быть проблем.

 

и как лучше создавать поля в battleLabelsTemplates.xc 2 разных поля для часов и дебаг панели с эвентом ON_EVERY_SECOND или одно? 
, теоретически, лучше одно.
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

не должно быть проблем.
Дай, пжл, ссылку на тему с ру-макросом дебаг-панели, что-то не смог найти :)) 

Share this post


Link to post

Short link
Share on other sites

спасибо.

 

зы. попробовал вставить только "кружок" лагов прямо поверх стандартной панели - минус 10-15 фпс от "ON_EVERY_SECOND" (+ добавил же еще макрос на реплей, чтобы координата "х" автоматом подгонялась). Вернулся к старой доброй замене двух картинок во флешке - менее затратно для производительности :))

Share this post


Link to post

Short link
Share on other sites

А почему (1) единичка меньше ростом?

Это шрифт такой.

 

 

зы. попробовал вставить только "кружок" лагов прямо поверх стандартной панели - минус 10-15 фпс от "ON_EVERY_SECOND" .
, что-то ты загнул. Даже, если у тебя в среднем fps равен 100, 10-15 процентов слишком много.

Share this post


Link to post

Short link
Share on other sites

, что-то ты загнул. Даже, если у тебя в среднем fps равен 100, 10-15 процентов слишком много.

да не, максимум 60-61, колебания до 50, с "кружком" 35-40, потому и написал 10-15 (не процентов, единиц :))

Share this post


Link to post

Short link
Share on other sites

 

 

да не, максимум 60-61, колебания до 50, с "кружком" 35-40, потому и написал 10-15 (не процентов, единиц :))
, так это еще больше. 

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