Jump to content
Korean Random
goodman

Динамические макросы в Python

Recommended Posts

Кому-нибудь нужно считать основной калибр, после попадания по союзнику?

Share this post


Link to post

Short link
Share on other sites

Кому-нибудь нужно считать основной калибр, после попадания по союзнику?

имхо цифры всегда интересны, имеет смысл смена окраски для отображения невозможности получения медали, сам урон (расчет) пусть будут...

Share this post


Link to post

Short link
Share on other sites

Ну тогда, чтобы удовлетворить желания всех, я предлагаю:

в файле xvm.py изменить функцию total_hp_mainGun на

@xvm.export('xvm.total_hp.mainGun', deterministic=False)
def total_hp_mainGun(dmg_total):
    return total_hp.mainGun(dmg_total)

и добавить py_macro {{py:hitAlly}}, который будет возвращать "ha" если было попадание по союзнику, иначе пусто

@xvm.export('xvm.total_hp.hitAlly', deterministic=False)
def xvm_total_hp_hitAally():
    return None if total_hp.data.teamHits else "ha"

в файле total_hp.py изменить функцию total_hp_mainGun на

def mainGun(dmg_total):
    global max_hp_enemy
    if panel.teams_totalhp[1] > max_hp_enemy:
        max_hp_enemy = panel.teams_totalhp[1]
    battletype = BigWorld.player().arena.guiType
    if (battletype != 1) or (max_hp_enemy == 0):
        return
    else:
        threshold = max_hp_enemy * 0.2 if max_hp_enemy > 5000 else 1000
        high_caliber = int(threshold - dmg_total)
    if max_hp_enemy >= 1000:
        return high_caliber

Это усложнить настройку в battleLabelsTemplates.xc, но сделает ее намного гибче.

Edited by ktulho
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

имхо цифры всегда интересны, имеет смысл смена окраски для отображения невозможности получения медали, сам урон (расчет) пусть будут...

Зачем его считать? какой смысл от этого? медаль уже не получишь. для всего остального есть хитлог. 

Мне кажется многие начинают забывать что это расчет для получения медали. 

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Зачем его считать? какой смысл от этого? медаль уже не получишь. для всего остального есть хитлог.

Мне кажется многие начинают забывать что это расчет для получения медали.

не надо сравнивать возможности аддона и свои предпочтения в его настройках.

В контексте возможностей - вывод расчета должен быть, а в рамках своих предпочтений - делай в конфиге как тебе нравится...

Edited by Kapany3uk
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

не надо сравнивать возможности аддона и свои предпочтения в его настройках.

В контексте возможностей - вывод расчета должен быть, а в рамках своих предпочтений - делай в конфиге как тебе нравится...

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

Edited by Kornet_WA

Share this post


Link to post

Short link
Share on other sites

Ребят,в том патче был такой ру-макрос messenger.py ,ограничивал количество строк в месенжере,своеобразная защита от любителей пофлудить.Код такой:

from xfw import *
import messenger.gui.Scaleform.view.battle.messenger_view as messenger_view

@overrideMethod(messenger_view, '_makeSettingsVO')
def _makeSettingsVO(base,arenaVisitor):
    makeSettingsVO = base(arenaVisitor)
    makeSettingsVO['maxLinesCount'] = 11
    return makeSettingsVO 

Вроде как он работает,но получается на последней строке накладка строка на строку.Как то можно это вылечить?А,еще не совпадает количество строк,в конфиге 11,в клиенте 8,но с этим в принципе жить можно.

post-4302-0-80269200-1483700498_thumb.jpg

Share this post


Link to post

Short link
Share on other sites

Ребят,в том патче был такой ру-макрос messenger.py ,ограничивал количество строк в месенжере,своеобразная защита от любителей пофлудить.

Вроде как он работает,но получается на последней строке накладка строка на строку.Как то можно это вылечить?А,еще не совпадает количество строк,в конфиге 11,в клиенте 8,но с этим в принципе жить можно.

Теперь ещё с ним можно мотать историю чата максимум на 7-8 последних строк. Пришлось убрать. =((

Share this post


Link to post

Short link
Share on other sites

Теперь ещё с ним можно мотать историю чата максимум на 7-8 последних строк. Пришлось убрать. =((

Да мне как то на историю все равно,лишь бы не загромождал уши и там еще натанкованный,т.е. тупо ограничивал количество строк.

Share this post


Link to post

Short link
Share on other sites

добрался снова до total_hp

 только это ещё не проверил {{py:math.div({{py:xvm.total_hp.ally(230)}},-2)}}.

проверил не работает. или я не понял смысл. текущее хп делим на 2 или на -2. почему хп? при выравнивании картинки разъезжаются по краям экрана, вроде как монитор делить. нужен макрос типо {{full-screen}}. или я не с той стороны думаю.

Edited by Kornet_WA

Share this post


Link to post

Short link
Share on other sites

добрался снова до total_hp

проверил не работает. или я не понял смысл. текущее хп делим на 2 или на -2. почему хп? при выравнивании картинки разъезжаются по краям экрана, вроде как монитор делить. нужен макрос типо {{full-screen}}. или я не с той стороны думаю.

Так пробовали?

"totalHPally": {
      "enabled": true,
      "updateEvent": "PY(ON_UPDATE_HP)",
      "x": "{{py:math.div({{py:xvm.total_hp.ally(230)}},-2)}}",
      "y": 30,
      "width": "{{py:xvm.total_hp.ally(230)}}",
      "height": 25,	  
      "screenHAlign": "center",
      "format": "<img src='cfg://Kornet_WA/img/totalHP/hp-ally-alive.png'>"
}, 

Share this post


Link to post

Short link
Share on other sites

 

Так пробовали?

"totalHPally": {
      "enabled": true,
      "updateEvent": "PY(ON_UPDATE_HP)",
      "x": "{{py:math.div({{py:xvm.total_hp.ally(230)}},-2)}}",
      "y": 30,
      "width": "{{py:xvm.total_hp.ally(230)}}",
      "height": 25,	  
      "screenHAlign": "center",
      "format": "<img src='cfg://Kornet_WA/img/totalHP/hp-ally-alive.png'>"
}, 

да.

п.с. я пробовал с вашими вышевыложенными файлами. сейчас поставил ночник 7016 там ни чего не работает. в дефолт не пулили я так понял?

Edited by Kornet_WA

Share this post


Link to post

Short link
Share on other sites

 

 

в дефолт не пулили я так понял?
, не пулил. 

@Kornet_WA, вроде нормально работает (красный прямоугольник это "totalHPally"):

post-17624-0-29051700-1484146398_thumb.jpg

post-17624-0-93128000-1484146397_thumb.jpg

post-17624-0-63634200-1484146397_thumb.jpg

Share this post


Link to post

Short link
Share on other sites

, не пулил. 

@Kornet_WA, вроде нормально работает (красный прямоугольник это "totalHPally"):

attachicon.gifshot_050.jpg

attachicon.gifshot_051.jpg

attachicon.gifshot_052.jpg

 

возможно где то косякнул. завтра на работе буду ещё раз погоняю. 

Запулить возможно до релиза? или ждем когда босс одобрит? Хотелку по основному калибру получится воплотить?

Share this post


Link to post

Short link
Share on other sites

 

 

Запулить возможно до релиза?
, запулил, теперь

 

ждем когда босс одобрит
 

 

 

Хотелку по основному калибру получится воплотить?
, я выше предложил, все молчат.

Share this post


Link to post

Short link
Share on other sites

 

 

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

 

 

Запулить возможно до релиза?
, принято. 

Share this post


Link to post

Short link
Share on other sites

@ktulho, давно хочу спросить. можно ли как то на "bgColor" углы закруглять? Armagomen как то делает в своём хп.

 

а можно ещё количество убитых и живых сделать для той и другой команды. что бы отключить полностью ВГшную панель, и флешку не ковырять.

Edited by Kornet_WA

Share this post


Link to post

Short link
Share on other sites

 

 

ktulho, давно хочу спросить. можно ли как то на "bgColor" углы закруглять?
, это к sirmax.

 

 

а можно ещё количество убитых и живых сделать для той и другой команды. что бы отключить полностью ВГшную панель, и флешку не ковырять.
, так есть вроде:
│score_panel.py              │{{py:score_panel.ally_frags}}             │количество убитых противников                                                                      │
│                            │{{py:score_panel.enemy_frags}}            │количество убитых союзников                                                                        │
│                            │{{py:score_panel.ally_vehicles}}          │общее количество союзников                                                                         │
│                            │{{py:score_panel.enemy_vehicles}}         │общее количество противников                                                                       │
│                            │{{py:score_panel.ally_frags_inverse}}     │количество живых союзников                                                                         │
│                            │{{py:score_panel.enemy_frags_inverse}}    │количество живых противников       

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