Jump to content
Korean Random

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


Recommended Posts

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

здесь без "словаря" не обойтись.

если нужно, сверху делаем пометку, типо такой:

 

Внимание. По просьбе надоедливого НЕКРОМАНТА некоторые макросы имеют два названия: полное и сокращённое.

 

  • {{py:sight.reloadTime}}, {{py:s.rt}} - время перезарядки (в секундах) Для техники с механизмом....
  • {{py:sight.reloadTimeClip}}, {{py:s.rtc}} - время перезарядки между снарядами в барабане (в секундах).

 

Только чтоб повторений не было, и всё :gg:

 

 

Link to comment
Short link
Share on other sites

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

Иначе это будет вызывать ошибки при форматировании в конфиге.

то я сразу и предложил:

  

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

в будущем возможно понадобиться отдельный макрос.


"{{py:sight.gunsLocked}}, {{py:s.gl}}"         // блокировка
"{{py:sight.prepareDoubleShot}}, {{py:s.pds}}" // подготовка

 

дописал коротышки для сравнения :laugh:

 

----

"{{py:s.pds=prepare?текст1|{{py:s.gl=locked?текст2|{{py:s.lts=0?текст3|{{py:s.lts%3.1f}}}}}}}}"

 

Конфетка

Link to comment
Short link
Share on other sites

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

Это таймер?

неа. Это слово "prepare" возвращает.

 

таймер отдельно (может кому понадобится) забегая вперёд как говориться в комменте написан. Название на пол экрана :)

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

 


"dualGunReload": {
  "reload": "{{py:sight.leftTimeShot%3.1f}}",
  "prepare": "prepare",  // тут будет возможен таймер "{{py:sight.leftTimePrepareDoubleShot}}" или покороче "{{py:sight.leftTimePrepare}}"
  "locked": "locked"
},

а  {{py:sight.leftTimeShot}} не трогать.

 

----

то есть по сути два макроса.

 

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

Название на пол экрана :)

хотя если так:

"{{py:sight.leftTimePrepareDoubleShot}}, {{py:s.ltpds}}" // таёмер подготовки к залпу

то вполне

Link to comment
Short link
Share on other sites

@ktulho, Саш, чет я профукал многое, не сильно следил за темой, вроде всё норм работало, а сегодня заметил, что у индикатора бронепробития цифирьки не пропадают, так и светятся постоянно))

конфиг прицела прикладываю

battleLabelSight.xc

Подскажи плиз, где и что исправить)

Edited by SEREGA_SF
Link to comment
Short link
Share on other sites

@SEREGA_SF Извините, вмешаюсь. Разве события PY(ON_AIM_MODE) и PY(ON_AIMING) не относятся к разным скриптам? Первое - от сюда https://koreanrandom.com/forum/topic/39885-сборник-py_macro/#sight_mode , а второе от сюда - https://koreanrandom.com/forum/topic/37259-прицел-без-сведения-средствами-xvm/#aiming . И кажется к этому индикатору они вообще не относятся.

Возможно вам нужно добавить в конфиг видимость\невидимость показаний в зависимости от того наведён прицел на танк или нет, например можно для выяснения этого использовать скрипт информации о цели. Если значение скрипта существует, то показания отображаются, если нет - отображается пусто. Вот я тут изменил конфиг этой секции, попробуйте, я сам не проверял, возможно проблема вообще не в этом.

 

 


// Индикатор бронепробития.
    "piercingChance": {
      "enabled": true,
      "flags": [ "alive" ],
      "updateEvent": "PY(ON_TARGET), PY(ON_CALC_ARMOR), PY(ON_AIM_MODE)",
      "x": 3,
      "y": "{{py:aim.mode(-5,64,69)}}",
      "width": 100,
      "height": 26,
      // "borderColor": "0xFF0000", //!!!
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : 100,
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "center", "valign": "center" },
      "format": "<font face='$FieldFont' color='{{py:sight.c_piercingChance}}' size='17'>{{py:sight.nameTarget?{{py:sight.piercingActual~/}}{{py:sight.armorActual}}|}}</font>"
    },
 

 

Иещё скрипт targetInfo.py https://koreanrandom.com/forum/applications/core/interface/file/attachment.php?id=146552 поместить в папку py_macro.

На всякий случай скачайте из соответствующих тем актуальные версии всех скриптов, которые вы используете.

 

Edited by andreyvazmtp
Link to comment
Short link
Share on other sites

@andreyvazmtp, ага)) нужно было на работу идти, ну я вниз лоханулся и не проскроллил, решил, что макросы поменяли (похожее ведь написание) :Default: и не понял даже, что из разных тем они, вот что значит не следить за темой, спс за уточнение.

Подожду, что скажет ktulho. Задействовать если PY(ON_TARGET), то не получится по идее что-то типа дублирования:

PY(ON_TARGET) - событие срабатывает при наведении на цель.

PY(ON_CALC_ARMOR) - срабатывает, если в прицел наведен на противника.

выходит одно и тоже будет с этими событиями?

Edited by SEREGA_SF
Link to comment
Short link
Share on other sites

@SEREGA_SF Да пожалуй надо подождать. Я сам этот скрипт на бронепробитие не использую, не знаю как он должен работать.

33 минуты назад, SEREGA_SF сказал:

@andreyvazmtp, ага)) нужно было на работу идти, ну я вниз лоханулся и не проскроллил, решил, что макросы поменяли (похожее ведь написание) :Default: и не понял даже, что из разных тем они, вот что значит не следить за темой, спс за уточнение.

Подожду, что скажет ktulho. Задействовать если PY(ON_TARGET), то не получится по идее что-то типа дублирования:

PY(ON_TARGET) - событие срабатывает при наведении на цель.

PY(ON_CALC_ARMOR) - срабатывает, если в прицел наведен на противника.

выходит одно и тоже будет с этими событиями?

Ну возможно по событию PY(ON_CALC_ARMOR) скрипт отдаёт число, но пока на другой танк не наведёшся оно не изменится. Поэтому я предложил скрывать показания через несколько секунд скриптом информации о технике по событию PY(ON_TARGET). Я не знаю должен ли скрипт на бронепробитие сам скрывать показания через некоторое время.

Edited by andreyvazmtp
Link to comment
Short link
Share on other sites

Попробовал добавил просто событие PY(ON_TARGET) в "updateEvent":, по идее так должно пропадать через 3 секунды по дефолту, на реплее погонял - вроде работает.

Три раза реплей до этого просмотрел, так и не понял при каких условиях индикатор начинает замерзать, то вроде норм пропадает после того, как с цели прицел убираешь, то горит постоянно, пока на другую цель не наведешь))

Link to comment
Short link
Share on other sites

Только что, SEREGA_SF сказал:

Попробовал добавил просто событие PY(ON_TARGET) в "updateEvent":, по идее так должно пропадать через 3 секунды по дефолту, на реплее погонял - вроде работает.

Три раза реплей до этого просмотрел, так и не понял при каких условиях индикатор начинает замерзать, то вроде норм пропадает после того, как с цели прицел убираешь, то горит постоянно, пока на другую цель не наведешь))

может сам скрипт еще под новый патч не доработан как следует?

Link to comment
Short link
Share on other sites

На реплее прогнал (уже вышел из клиента), убрал из конфига PY(ON_TARGET), в этот раз прям надолго не подвисал индикатор, но по ощущению секунд 5 лишних все равно индикатор работал, причем это заметно становится только в середине боя, в начале боя всё норм работает.

python.log   xvm.log

При добавлении события PY(ON_TARGET) всё нормально работает, индикатор гаснет сразу, пару боев вечером скатал сегодня проверял.

Edited by SEREGA_SF
Link to comment
Short link
Share on other sites

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

@SEREGA_SF И еще какой то мод выдает ошибку:

ERROR: Sprite::AddDisplayObject(): unknown cid = 3


ERROR: Sprite::AddDisplayObject(): unknown cid = 3

 

Угу, видел, похоже в какой-то флешке при замене картинок накосячил сам))

Макрос заменил, скрипт добавил, спасибо Саш за подсказку, на реплее проверил, вроде нормально стало. Теперь надо будет timeReload правильно макросы переписывать, чтобы и двустволки нормально считало, но это уже другой вопрос))

Edited by SEREGA_SF
Link to comment
Short link
Share on other sites

тоже долго не гаснут цифры бронепробития

 "piercingChance": {
      "enabled": true,
      "flags": [ "alive" ],
      "updateEvent": "PY(ON_CALC_ARMOR), PY(ON_CAMERA_MODE)",
      "x": 0,
      "y": "{{py:sight.cameraMode=arc?-109|{{py:sight.cameraMode=sn?49|54}}}}",
      "width": 100,
      "height": 26,
      // "borderColor": "0xFF0000", //!!!
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : 100,
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "center", "valign": "center" },
      "format": "<font color='{{py:sight.c_piercingChance}}' size='18'>{{py:sight.piercingActual}} {{py:sight.piercingActual?/|}} {{py:sight.armorActual}}</font>"
    }
  }
}

Edited by bes1
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...