Jump to content
Korean Random
ktulho

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

Recommended Posts

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

@SEREGA_SF на риплеях нормально работает?

Блин, не проверял к сожалению. Щас попозжа проверю.

_________________________

Неа, на реплее тоже не показывает. В логах чисто.

Edited by SEREGA_SF

Share this post


Link to post

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

Нужно флешку редактировать.

По просьбе сделали сведение для фаталити с дефотлтным отображением кассет:

crosshair_Controls.wotmod

 

____________________________________

По моему вопросу, есть кодеры, кто подскажет где у меня ошибка?)

 

Даже если я принимаю эту конфигурацию без успеха, нет индикатора шара, как на картинке

Share this post


Link to post

Short link
Share on other sites
8 hours ago, ktulho said:

@SEREGA_SF  on ripple normally works?

 

It does show up on a replay. But only after you hit the back arrow key ( <= ). Rewind.

Otherwise, no. It does not.

 

logs are clean.

 

 

Share this post


Link to post

Short link
Share on other sites

Переписал код так:

      "textFormat": { "align": "right", "valign": "bottom", "color": "0x{{py:sight.leftTime=0?95CB29|FF0000}}" },
      "format": "<font face='$FieldFont' size='17'>{{py:sight.leftTime=0?{{py:sight.reloadTime%3.2f}}|{{py:sight.leftTime%3.2f}}}}</font>"

Стало писать время перезарядки на реплее:

shot_072.jpg.8014866e510744a4844d2bf2e68bd2d0.jpgshot_088.jpg.74b0c41a38e37d3b95ca4d45a2d8f187.jpg

 

но в бою рисует тогда так (почему то время перезарядки между снарядами в барабане):

shot_089.jpg.e1165b299e01854a82ae7e51d2b4d413.jpg

 

Блин, как надо сделать, чтобы индикатор работал? Уже не надо нафиг, чтобы показывало время кд между снарядами в барабане, лишь бы общее время перезарядки показывало (на скринах 5.41)

Хотя в идеале хотелось бы, чтобы при полностью заряженном барабане писалось время перезарядки/время перезарядки между снарядами в барабане ( в виде 5.41/0.30) 

Edited by SEREGA_SF

Share this post


Link to post

Short link
Share on other sites

@ SEREGA_SF  This is the code I use. Which used to work.Pretty standard






    "timeReloadClip": {
      "enabled": true,
      "updateEvent": "PY(ON_RELOAD), PY(ON_CAMERA_MODE)",
      "x": "{{py:sight.cameraMode=arc?-147|{{py:sight.cameraMode=sn?-225|{{py:sight.cameraMode=str?-155}}}}}}",
      "y": "{{py:sight.cameraMode=arc?-160|{{py:sight.cameraMode=sn?-88|{{py:sight.cameraMode=str?-75}}}}}}",
      "rotation": 0,
      "width": 100,
      "height": 45,
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=arc?80|{{py:sight.cameraMode=sn?80|{{py:sight.cameraMode=str?80}}}}}}",
      "shadow": { "distance": 1, "angle": 90, "alpha": 70, "blur": 5, "strength": 3 },
      "textFormat": { "align": "center", "color": "0xd4ffaa" },
      "format": "<font face='DS-Digital' size='24'>{{py:sight.reloadTimeClip%3.2f}}</font>"
    },

 

To prove that it does work (only after rewinding a replay), I've uploaded a video.

 

Notice it works after "rewind" (Back arrow key)

33.28 for the drum and 3.33 for each shell.

 

Fixed.

 

Line 487 of current sight.py. isClip is called before assignment.

 

Changed:


            reloadTimeClip = gun.clip[1] if isClip else None
            burst = gun.burst[0]
            isClip = quantityInClipShellsMax > 1

 

to:

 


            burst = gun.burst[0]
            isClip = quantityInClipShellsMax > 1
            reloadTimeClip = gun.clip[1] if isClip else None

 

sight.py

Works in game, and on replay. Only shows with auto loading tanks. 

 

 

Edited by SmashPuppet
  • Upvote 1

Share this post


Link to post

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

Fixed.

Спасибо, сейчас в бою все нормально отображается.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@ktulho , не критично конечно, но если стреляют в затопленный танк срабатывает макрос {{py:sight.health(100)}} (произвольные числа)

e9531d44a01ec1f2eb4b18d567057b9b.png 

 

 

при затоплении хп в %  пропадает, но при выстреле выводит остаток оставшихся очков прочности

Edited by H_E_K_P_O_M_A_H_T_
✔ очистка вложений

Share this post


Link to post

Short link
Share on other sites

@ktulho приветствую!

возможно внедрить еще и окраску по типу техники (цвета из секции vtype файла colors.xc)?

В 24.01.2017 в 18:50, ktulho сказал:

{{py:sight.vtypeTarget}} - тип техники находящейся в прицеле (текстовые подстановки из секции vtype файла texts.xc);

 

и вот это будешь менять?

В 26.12.2017 в 15:19, SmashPuppet сказал:

Fixed.

 

Line 487 of current sight.py. isClip is called before assignment.

 

Changed:

 

Edited by Kapany3uk

Share this post


Link to post

Short link
Share on other sites
On 12/27/2017 at 10:53 AM, H_E_K_P_O_M_A_H_T_ said:

when xp is flooded in% it disappears, but when shot, it displays the rest of the  remaining strength points

 

Technically you have no health after being dead.

However, this works in the config. because your tank still has hit points.

 

def.healthPercent section:

{{alive?{{py:sight.health(100)}}%|{{py:mul({{py:div({{py:sight.health(100)}}, {{hp-max}})}}, 100)%.2f}}%}}

Or to make it look a little better

"format": "{{alive?health |HP }}<font size='20'>{{alive?{{py:sight.health(100)}}%|{{py:mul({{py:div({{py:sight.health(100)}}, {{hp-max}})}}, 100)>0?{{py:mul({{py:div({{py:sight.health(100)}}, {{hp-max}})}}, 100)%.2f}}%|0%}}}}</font>"

 

Maybe a new py event? ON_CREW_DEAD to help with "disappearing"? It doesn't know what to do after the crew dies until the ON_PLAYER_HEALTH event is triggered. (you get hit). There needs to be a check between the tank being knocked out and the crew dying, Will have to leave that to those who know more. :biggrin:

 

EDIT:

Although this works, xvm.log is throwing syntax errors. math.py does not seem to like the macros, I think I have nested braces or brackets messed up. Too many! :blink:

Edited by SmashPuppet
Update

Share this post


Link to post

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

возможно внедрить еще и окраску по типу техники (цвета из секции vtype файла colors.xc)?

 

21 час назад, Kapany3uk сказал:

и вот это будешь менять?

На праздниках займусь.

Share this post


Link to post

Short link
Share on other sites

@H_E_K_P_O_M_A_H_T_

After getting home from work, I took a closer look and came up with a fix. Ignore my crazy macro in the config in post above. Very messy.


Current sight.py from header post:
Line 317

change:

 

 


@registerEvent(FragsCollectableStats, 'addVehicleStatusUpdate')
def FragsCollectableStats_addVehicleStatusUpdate(self, vInfoVO):
    if config.get('sight/enabled', True) and isNotEvent:
        if (not vInfoVO.isAlive()) and (vehicle is not None) and (vehicle.id == vInfoVO.vehicleID):
            setValueDead()

 

to:

 


@registerEvent(FragsCollectableStats, 'addVehicleStatusUpdate')
def FragsCollectableStats_addVehicleStatusUpdate(self, vInfoVO):
    if config.get('sight/enabled', True) and isNotEvent:
        if (not vInfoVO.isAlive) and (vehicle is not None) and (vehicle.health > 0):
            as_event('ON_PLAYER_HEALTH')
            if (not vInfoVO.isAlive()) and (vehicle is not None) and (vehicle.id == vInfoVO.vehicleID): 
                setValueDead()

 

 

Simply added a check to see if the crew was knocked out while the tank was still intact. I've tested it with replays and live battles. Seems to work just fine. Note: I pasted the wrong code and uploaded the wrong script! Corrected. Logs are now clean. I really should go to sleep. =)

 

sight.py - Has this edit and the previous auto loader single shell reload display fix.


I truly hope you don't mind me mucking around with your code, @ktulho This is one of my favourite XVM addons. Thanks for all your work!

Edited by SmashPuppet
Corrected mistakes!

Share this post


Link to post

Short link
Share on other sites

@H_E_K_P_O_M_A_H_T_ 

В 04.12.2017 в 08:51, ktulho сказал:

@H_E_K_P_O_M_A_H_T_ я думал сделать, чтобы макрос {{py:sight.leftTime}} возвращал:

  • во время отсчёта, то что указано в "prebattle";
  • во время перезарядки время пеоезарядки;
  • если перезаряжен, то параметр "battle";
  • если уничтожен, то пусто. 

P. S. Надо ещё параметр на единицы измерения добавить. 

Так не получиться, возникают проблемы с форматированием.

Добавил макрос:

{{py:sight.isBattle}} - возвращает 'battle', если бой начался, иначе пусто.

 

В 25.12.2017 в 10:37, SEREGA_SF сказал:

а вот на барабанах время перезарядки не кажет:

Спасибо @SmashPuppet , исправил.

В 27.12.2017 в 21:53, H_E_K_P_O_M_A_H_T_ сказал:

не критично конечно, но если стреляют в затопленный танк срабатывает макрос {{py:sight.health(100)}} (произвольные числа)

Исправил

Edited by ktulho
  • Upvote 2

Share this post


Link to post

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

Исправил

скрипт в шапке замени - всё по старому.

Share this post


Link to post

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

скрипт в шапке замени - всё по старому.

Он там новый.

В 08.12.2017 в 19:17, Slava7572 сказал:

А возможно добавить угол вхождения в броню на маркере?

Добавил макрос:

{{py:sight.hitAngle}} - угол вхождение снаряда в броню в точке прицеливания.

 

Edited by ktulho
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

@ktulho , хз  - макрос не работает, по затопленному хп показывает, как и раньше.

> скачал самый новый - баг с затопленным исправлен.

{{py:sight.isBattle?бой|до боя}}

"до боя" только показывает

 

shot_129.jpg

Share this post


Link to post

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

макрос не работает

Исправил

  • Upvote 2

Share this post


Link to post

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

Исправил

проверил на реплее - теперь всё работает :no1:

кстати, первоначально и была идея именно макросом сделать:

В 25.11.2017 в 19:22, H_E_K_P_O_M_A_H_T_ сказал:

у меня была задумка именно через макрос сделать для дальнейшего применения в любой секции. Например может кто-нибудь захотел бы сделать, чтобы до начала боя отображались описания параметров "ХП танка",  "боекомплект" и т.д. 

>вообще-то лучше сделать как проще. Если проще опцией - тогда лучше опцией.

 

Share this post


Link to post

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

кстати, первоначально и была идея именно макросом сделать:

Я помню.

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