Jump to content
Korean Random
ktulho

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

Recommended Posts

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

пример 1: при нажатии горячей клавиши;

ок, тут событие понятно, можно ориентироваться на "hotKeyCode"

 

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

пример 2: сообщение о полученном уроне:

- плавное появление - 2 сек

- плавное затухание до полного исчезновения - 3 сек

а тут какое событие? любое, которое срабатывает на "updateEvent"?

 

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

пример 3: окно статистики по таб

- нажал клавишу -> содержимое полей появилось например через пол секунды (ну это так, больше для красоты)

это нужно делать по-другому, не так как в экстраполях. пока не обсуждаем.

Share this post


Link to post

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

а тут какое событие? любое, которое срабатывает на "updateEvent"?

прошёлся по всем полям - на каждом, где можно применить трансформацию есть событие (или несколько событий):

в хитлоге:

 PY(ON_HIT_LOG) 

в дамаглоге:

PY(ON_HIT)
PY(ON_LAST_HIT)
PY(ON_FIRE)

на таймере до начала боя 2 шт

PY(ON_BATTLE_TIMER), PY(ON_BEGIN_BATTLE)

 

в таймерах ремонта модулей, в прицеле, в блоке статистики... да везде есть.

 

А где например статичная картинка - фон, так там и этот параметр не нужен.

Так что ты прав. На клавиши - "hotKeyCode", на остальное "updateEvent" (вот только если их несколько, как там получится...).

Share this post


Link to post

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

если несколько, будет на все срабатывать

:honoring: 

Share this post


Link to post

Short link
Share on other sites

Можно попробовать. Наверняка еще не финальный вариант, но нужно понять, куда двигаться дальше.

Основано на библиотеке GreenSock, класс TweenLite.

В экстраполях добавилось поле "tweens". Это массив методов, которые будут вызываться последовательно. Каждый метод - это тоже массив, где первый элемент - название метода, а последующие - аргументы, в зависимости от метода.

Например:

    "totalEfficiency": {
      ...
      "tweens": [
        [ "to", 1, { "alpha": 1 } ],
        [ "delay", 3 ],
        [ "to", 1, { "alpha": 0.5 } ]
      ],

      ...

    }

тут поле изначально полупрозрачное, а событию в течение 1 секунды становится не прозрачным и через 3 секунды затухает в течение 1 секунды

кроме "alpha" можно использовать любые другие поля, которые есть в TextField, так что эффекты можно делать насколько фантазии хватит

 

Доступны методы:

[ "to", duration:Number, vars:Object]

[ "from", duration:Number, vars:Object]

[ "set", vars:Object]

[ "fromTo", duration:Number, fromVars:Object, toVars:Object]

[ "delay", duration:Number ]

 

Описание методов можно найти в документации: https://greensock.com/asdocs/com/greensock/TweenLite.html

кроме `delay`, он эквивалентен `to(duration, {})`

 

Буду благодарен, если кто-нибудь это опишет в ChangeLog и в extra-field.txt

 

 

 

Вот быстрый пример.

Конфиг:


    "hitLogBody": {

      ...
      "tweens": [
        [ "to", 0.5, { "alpha": 1, "scaleX": 1.5, "scaleY": 1.5 } ],
        [ "to", 0.5, { "alpha": 0.8, "scaleX": 1, "scaleY": 1 } ]
      ]

    }

 

Edited by sirmax
  • Upvote 4

Share this post


Link to post

Short link
Share on other sites

@sirmax огромнейшее спасибо!

 

non_banana1.gif

 

----

проверил пока работу по первоначальной заявке "в lastHit" - работает. Остальное будем тестить, в процессе.

----

дальнейшее обсуждение можно вести в профильной теме

Share this post


Link to post

Short link
Share on other sites

Подскажите пожалуйста а как опустить в низ подложку . а то что то на одном месте всегда стоит. и что вот  этот ноль означает здесь dmg=0?  спасибо

Share this post


Link to post

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

 dmg=0?  спасибо

 

"если нанесённый урон = 0", используется в смысле "урон не наносился"

Edited by aster

Share this post


Link to post

Short link
Share on other sites

@LeBwa dmg=0 - попадание без урона (чёрная полоска), с уроном красная.

Для отдельной настройки полосок в файле battleLabelsTemplates.xc допиши координаты "x", "y" со своими значениями:

    "damageLogBackground": {
      "enabled": true,
      "x": 240, // по умолчанию 240
      "y": -23, // по умолчанию -23

Share this post


Link to post

Short link
Share on other sites

Всем привет. парни объясните по чему  строчка с дамагом при каждом новом уроне сползает с подложки. скрин прилагаю. Просто в конечном итоге получается что дамаг друг к другу все аккуратно а подложка вылазит  со временем еще как будто пять строк дополнительных на принимал???

1192108406_WorldOfTanks2019-07-2903-10-51-882_cr.png.42f5cb258c7f73057c5f29b02e629e73.png Если присмотреться то будет видно что текст со временем подымается в верх и уходит со своей подложки. 

Share this post


Link to post

Short link
Share on other sites

с этим разобрался.Другой вопрос?? Скажите а как ограничить количество строк например что бы было только 7 ???

Share this post


Link to post

Short link
Share on other sites

У меня после микропатча урон по мне стал дублироваться. Типа такого: первый фактический, пусть будет 300, и сразу второй-0.

:sceptic:

Edited by Tapx

Share this post


Link to post

Short link
Share on other sites

@ktulho просматривал логи, нашёл в одном месте 4 одинаковых записи:

2019-10-25 22:00:00.273: INFO: 2019-10-25 22:00:00: [ERROR] mods/xfw_libraries/xfw/events.pyc
2019-10-25 22:00:00.274: ERROR: Traceback (most recent call last):
2019-10-25 22:00:00.274: ERROR:   File "./xfw/events.py", line 57, in __event_handler
2019-10-25 22:00:00.276: ERROR:   File "./xfw/events.py", line 24, in fire
2019-10-25 22:00:00.279: ERROR:   File "../res_mods/configs/xvm/py_macro/xvm\damageLog.py", line 996, in Vehicle_onHealthChanged
2019-10-25 22:00:00.280: ERROR:     v = vId if isinstance(vId, Vehicle) else BigWorld.entity(vId)
2019-10-25 22:00:00.280: ERROR: TypeError: () argument 1 must be set to an int
2019-10-25 22:00:00.280: ERROR: TypeError: () argument 1 must be set to an int

 

Share this post


Link to post

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

@ktulho просматривал логи, нашёл в одном месте 4 одинаковых записи:


2019-10-25 22:00:00.273: INFO: 2019-10-25 22:00:00: [ERROR] mods/xfw_libraries/xfw/events.pyc
2019-10-25 22:00:00.274: ERROR: Traceback (most recent call last):
2019-10-25 22:00:00.274: ERROR:   File "./xfw/events.py", line 57, in __event_handler
2019-10-25 22:00:00.276: ERROR:   File "./xfw/events.py", line 24, in fire
2019-10-25 22:00:00.279: ERROR:   File "../res_mods/configs/xvm/py_macro/xvm\damageLog.py", line 996, in Vehicle_onHealthChanged
2019-10-25 22:00:00.280: ERROR:     v = vId if isinstance(vId, Vehicle) else BigWorld.entity(vId)
2019-10-25 22:00:00.280: ERROR: TypeError: () argument 1 must be set to an int
2019-10-25 22:00:00.280: ERROR: TypeError: () argument 1 must be set to an int

 

Реплея не осталось?

Share this post


Link to post

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

Реплея не осталось?

реплея нет. Записи старые, так, оставил для информации.

Share this post


Link to post

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

Записи старые, так, оставил для информации.

Поправил. Но, если встретишь в xvm.log запись: 

[DamageLog] Type(BigWorld.player().inputHandler.ctrl.curVehicleID) = ...

пришли мне её.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
28.10.2019 в 12:22, ktulho сказал:

Поправил. Но, если встретишь в xvm.log запись

потестил пару вечеров - ошибок нет. В xvm.log записей не встречалось :no1:

Share this post


Link to post

Short link
Share on other sites

Всем добрый вечер.Подскажите пожалуйста,у меня прописано так:"formatLastHit": "<font size='40' color='#09AFFF'>{{my-alive?|{{l10n:Vehicle destroyed}}}}</font>\n<font face='Arial' size='20' color='{{c:dmg-kind}}'><b>{{comp-name}}</b> <b>{{crit-device}}</b></font>\n{{my-blownup?<font face='KAPb14 v1' size='48' color='#b30000'>D}}</font><font face='Arial' size='35' color='{{c:dmg-kind}}'> <b>{{hit-effects}}</b> {{critical-hit}} {{splash-hit}}</font>\n<b>{{dmg-kind}}</b>  <img src='cfg://Chesss/img/DamageLog/costShell1/{{costShell}}.png' width='30' height='30' vspace='-2'><font color='{{c:vtype}}'>{{vtype}}</font><font face='Arial' size='30' color='{{c:team-dmg}}'><b>{{vehicle}}</b></font>".То есть на все события (сгорел,затоплен,разбит и уничтожен) выводится надпись "МАШИНА УНИЧТОЖЕНА",а можно сделать так,что бы выводилось если сгорел то СГОРЕЛ,если утонул то УТОНУЛ ну и т.д.Заранее спасибо.

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