Jump to content
Korean Random

Часы и дата (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
Link to comment
Short link
Share on other sites

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

Link to comment
Short link
Share on other sites

attachicon.gifclock_hangar.png

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

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

Включи крутые дефолтные часы и передвинь их влево.
Link to comment
Short link
Share on other sites

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

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

Edited by ADv
Link to comment
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
Link to comment
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 или одно? 

Link to comment
Short link
Share on other sites

 

 

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

 

и как лучше создавать поля в battleLabelsTemplates.xc 2 разных поля для часов и дебаг панели с эвентом ON_EVERY_SECOND или одно? 
, теоретически, лучше одно.
  • Upvote 1
Link to comment
Short link
Share on other sites

  • 2 weeks later...

спасибо.

 

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

Link to comment
Short link
Share on other sites

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

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

 

 

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

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

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

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