Jump to content
Korean Random
ktulho

Прицел (без сведения) средствами XVM

Recommended Posts

@id_nexus  надо зайти в бой или запустить риплей с ЛФ. Затем закрыть игру и после этого прикреплять логи.

Edited by ktulho

Share this post


Link to post

Short link
Share on other sites

@id_nexus У меня вроде работает прицел. Попробуйте для начала исправить эти ошибки:

2019-05-14 13:59:38: [ERROR] Traceback (most recent call last):
  File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 156, in process_python_macro
    (func, deterministic) = get_function(arg)
  File "res_mods/mods/xfw_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 80, in literal_eval
  File "scripts/common/Lib/ast.py", line 58, in _convert
  File "scripts/common/Lib/ast.py", line 79, in _convert
ValueError: malformed string
arg='xvm.total_hp.avgDamage('Средний урон: ',hitlog)'
2019-05-14 13:59:38: [ERROR] Traceback (most recent call last):
  File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 156, in process_python_macro
    (func, deterministic) = get_function(arg)
  File "res_mods/mods/xfw_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 80, in literal_eval
  File "scripts/common/Lib/ast.py", line 58, in _convert
  File "scripts/common/Lib/ast.py", line 79, in _convert
ValueError: malformed string
arg='xvm.total_hp.mainGun('Основной калибр: ',hitlog)'

Для этого посмотрите как в default конфиге в файле battleLabelsTemplates.xc прописаны секции "mainGun" и "avgDamage".

Share this post


Link to post

Short link
Share on other sites

@ktulho прицел работает, только конструкция "{{alive?100|0}}" ноль показывала. Временно заменил на "{{battletype-key=epic_battle?100|{{alive?100|0}}}}" до лучших времён  :)

Share this post


Link to post

Short link
Share on other sites

@id_nexus Даже не знаю, что сказать. Ошибок связанных с прицелом вроде нет.

Share this post


Link to post

Short link
Share on other sites

@ktulho Вот и я не могу понять, в рандоме всё норм, в ЛФ часть не работает, в конфигах нигде разделения режимов боёв нету, так и подумал: может в ЛФ отключено, но раз нет, то как это исправить? Приложу конфиг может я не знаю куда смотреть)

id_nexus.zip

Share this post


Link to post

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

я не знаю куда смотреть

смотри с сторону "flags": [ "alive" ], тут писал

----

строку с flags замени:

18 часов назад, HEKPOMAHT сказал:

в этом режиме проблема c {{alive}}. Пробуй такую конструкцию:


"alpha": "{{battletype-key=epic_battle?100|{{alive?100|0}}}}"

 

+ допиши событие:

ON_CURRENT_VEHICLE_DESTROYED

если параметр "alpha" в блоке уже есть, дополни конструкцией из моего примера или примени к ширине поля например, как пожелаешь

----

PY(ON_CAMERA_MODE) с макросами переехало в режим прицела  aimingSystem.py :smile:

93d817a3607ffaab919fd507d46c6c1c.jpg

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

I have a problem in Random, if I am dead, it shows always 0%, all other infos like shells, distance and so on are not visible anymore.

 

"healthPercent": {
      "enabled": true,
      //"flags": [ "alive" ],
      "updateEvent": "PY(ON_MY_HP), PY(ON_CAMERA_MODE), PY(ON_CURRENT_VEHICLE_DESTROYED)",
      // "scaleX": -1,
      "x": "{{py:sight.cameraMode=arc?180|260}}",
	  "y": "{{py:sight.cameraMode=arc?-108|{{py:sight.cameraMode=sn?-20|-15}}}}",
      // "borderColor": "0x000000",
      "width": 90,
      "height": 32,
      "screenHAlign": "center",
      "screenVAlign": "center",
      //"alpha" : 100,
	  "alpha": "{{battletype-key=epic_battle?100|{{alive?100|0}}}}",
	  //"alpha": "{{py:my_hp.health?100|0}}",
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "left", "valign": "bottom", "color": "0x{{py:dynamic_colorGRB( 0x00FF00, 0xFF0000,{{py:my_hp.health(100)}})}}" },
      "format": "<font size='18'>{{py:my_hp.health(100)}}</font><font size='20'></font> %"
    },

HP is correct working in Front Line and Random, if I am alive.

Share this post


Link to post

Short link
Share on other sites

@HEKPOMAHT , @ktulho Здравствуйте. Я вдруг обнаружил что у меня в конфиге прописано событие PY(ON_CURRENT_VEHICLE_DESTROYED), и прописано выходит не правильно. Но всё работает как задумано. Может это событие там и не нужно? Вот пример использования, гляньте пожалуйста:

 

    "reloadTime": {
      "updateEvent": "PY(ON_BEGIN_BATTLE), PY(ON_CURRENT_VEHICLE_DESTROYED), PY(ON_AIM_MODE), PY(ON_RELOAD)",
      "x": -225, "y": "{{py:aim.mode(-83, -15, -13)}}", "width": 40, "height": 23,"screenHAlign": "center", "screenVAlign": "center",
      "shadow": { "distance": 0, "angle": 0, "alpha": 100, "blur": 3, "strength": 2 },
      "textFormat": { "align": "center", "color": "0x00FFFF", "size": 18, "font": "Cuprum" },
      "format": "{{py:isBattle?{{alive?{{py:sight.reloadTime%4.2f}}}}}}"
    },

А на какие макросы это событие вообще влияет?

Edited by andreyvazmtp

Share this post


Link to post

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

А на какие макросы это событие вообще влияет?

В данном случае на {{alive}}.

  • Upvote 1

Share this post


Link to post

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

В данном случае на {{alive}}.

Понятно, буду проверять разные ситуации в рандоме и реплеях, может просто внимания не обращал раньше... Спасибо за ответ..

Share this post


Link to post

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

А на какие макросы это событие вообще влияет?

да ни на какие - такого события нет.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@andreyvazmtp ON_CURRENT_VEHICLE_DESTROYED - событие сработает, то есть обновиться данное поле, в момент уничтожения вашей техники. В этот момент у вас должна перестать отображаться перезарядка.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@HEKPOMAHT  да, я уже узнал что правильно -  ON_CURRENT_VEHICLE_DESTROYED

@ktulho Я так и задумывал, может просто не обращал внимания на то что показания видны и после смерти. Буду проверять.

@ktulho 

Я разобрался, почему неправильно названное событие PY(ON_CURRENT_VEHICLE_DESTROYED) не влияет на видимый результат. У меня в файле sight.xc прописано

 

// true - не отображать прицел после смерти

"hideSightAfterDeath": true

 

выходит если просто нужно после уничтожения убрать все показания тут и макрос alive не нужен и событие можно убрать?

 

вместо этого:

    "reloadTime": {
      "updateEvent": "PY(ON_BEGIN_BATTLE), PY(ON_CURRENT_VEHICLE_DESTROYED), PY(ON_AIM_MODE), PY(ON_RELOAD)",
    ......
      "format": "{{py:isBattle?{{alive?{{py:sight.reloadTime%4.2f}}}}}}"
    },


использовать это:
   "reloadTime": {
      "updateEvent": "PY(ON_BEGIN_BATTLE), PY(ON_AIM_MODE), PY(ON_RELOAD)",
    ......
      "format": "{{py:isBattle?{{py:sight.reloadTime%4.2f}}}}"
    },

 

 

Edited by andreyvazmtp

Share this post


Link to post

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

Я разобрался

разобрался, да не до конца. Этот параметр ("hideSightAfterDeath") отвечает не за прицел, который формируется текстовыми полями, а за сетку-прицел клиента, который появляется после уничтожения.

комплект "ON_CURRENT_VEHICLE_DESTROYED + {{alive}}" нужен для скрытия некоротых полей после уничтожения (не всех). Каких именно можешь сам у себя и проверить :smile:

----

у меня в двух местах используется - с макросами перезарядок и {{py:my_hp.health}}

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@HEKPOMAHT точно. Просмотрел реплей с уничтожением. Вы правы. Значит не буду мудрить и просто в конфиге правильно переименую событие. Спасибо.

  • Upvote 1

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.


×