Jump to content
Korean Random

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


Recommended Posts

, прикрепите  xvm.log

Спасибо за наводку, про такую очевидную вещь не подумал. Сам разобрался. С синтаксисом накосячил, все-таки с питоном дело не имел. Поправил по логам, теперь пашет!

post-25212-0-89841300-1475502854_thumb.jpg

Теперь бы еще понять, где нарыть, как заставить иконки в маркерах уменьшаться с расстоянием...

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

 

 

Теперь бы еще понять, где нарыть, как заставить иконки в маркерах уменьшаться с расстоянием...
, думаю не стоит это делать через python. 
Link to comment
Short link
Share on other sites

А альтернативы только совсем суровые есть, я так понимаю?

, ага, подавать коллективную петицию Sirmax. ))

также неплохо было бы вывести в конфиг это 

hitEffectCodes = {0: 'рикошет', 1: 'рикошет', 2: 'не пробито', 3: 'без урона', 4: 'урон', 5: 'крит'} 

, добавил.

кстати, вот только попробовал добавить макрос типа техники {{dl.vehicle-class}}, но независимо от того, что написано в секции конфига  

//класс техники (макрос {{dl.vehicle-class}})     "vehicle-class": {

 отдает всегда  

vehicleClasses = frozenset(['mediumTank', 'lightTank', 'heavyTank', 'AT-SPG', 'SPG'])

, исправил.

 

Теперь damageLog обновляется из python.

 

Изменения в файл battleLabelsTemplates.xc:

    "DamageLog": {
      "enabled": true,
      "updateEvent": "PY(ON_HIT)",
      "x": 480,
      "y": 0,
      "width": 300,
      "height": 233,
      "screenVAlign": "bottom",
      "shadow": { "align": "center", "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 },
      "textFormat": { "color": "0xF4EFE8", "size": 16 },
      "format": "{{py:xvm.myDamageLog.dLog()}}"
    }, 

myDamageLog.rar

 

P.S. Проверять на build 6527 и выше. (клиент 0.9.16) 

P.P.S Забыл прикрепить damageLog.xc

Edited by ktulho
  • Upvote 5
Link to comment
Short link
Share on other sites

 

 

надо бы еще образец damagLog.xc вот с этим :))

 

P.P.S Забыл прикрепить   damageLog.xc   4,31 Кб  
 

Добавил отображение последнего урона.

Добавил:

в файл battleLabelsates.xc:

${ "battleLabelsTemplates.xc":"def.LastHit" } 

в файл battleLabelsTemplates.xc:

    "LastHit": {
      "enabled": true,
      "updateEvent": "PY(ON_LAST_HIT)",
      "x": -120,
      "y": 200,
      "width": 200,
      "height": 100,
      "screenHAlign": "center",
      "screenVAlign": "center",
      "shadow": { "align": "center", "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 },
      "textFormat": { "color": "0xF4EFE8" },
      "format": "{{py:xvm.myDamageLog.lastHit()}}"
    },  

в файл damageLog.xc:

    // Формат последнего урона
    "formatLastHit": "<font size='30'>{{dl.damage}}</font>"

В xvm.py добавляем:

@xvm.export('xvm.myDamageLog.lastHit', deterministic=False)
def myDamageLog_lastHit():
    return myDamageLog.lastHit()

damageLog.xc

myDamageLog.rar

 


@night_dragon_on, у тебя остался макрос расчета перезарядки? 

  • Upvote 2
Link to comment
Short link
Share on other sites

Добавил отображение последнего урона.

можно как-то увеличить время отображения до 10-12 сек? имхо слишком быстро инфа пропадает с экрана... 

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

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

 

 

и заметил, что после уничтожения танка урон продолжает отображаться (убила арта, за моим танком прятался союзник, при повторном выстреле арты выскакивает попадание без урона и пишется в лог)
, на реплее воспроизводиться?
Link to comment
Short link
Share on other sites

можно как-то увеличить время отображения до 10-12 сек?

, добавил в конфиг:

    // Время в секундах отображения последнего урона 
    "timeDisplayLastHit": 7, 

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

, возможно исправил.

 

Добавил таймер перезарядки:

в файл battleLabelsTemplates.xc:

    "TimerReload": {
      "enabled": true,
      "updateEvent": "PY(ON_TIMER_RELOAD)",
      "x": 240,
      "y": 0,
      "width": 300,
      "height": 252,
      "screenVAlign": "bottom",
      "shadow": { "align": "center", "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3 },
      "textFormat": { "color": "0xF4EFE8", "size": 16 },
      "format": "{{py:xvm.myDamageLog.timerReload()}}"
    },  

в файл damageLog.xc:

    // Формат таймера перезарядки
    "formatTimer": "<font face='xvm'>Ĕ</font> {{dl.timer}} с"

В xvm.py добавляем:

@xvm.export('xvm.myDamageLog.timerReload', deterministic=False)
def myDamageLog_timerReload():
    return myDamageLog.timerReload()

damageLog.xc

myDamageLog.rar

post-17624-0-69854800-1475602999_thumb.jpg

Edited by ktulho
  • Upvote 6
Link to comment
Short link
Share on other sites

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

_________________________

 

Ребят,увидел это PY(event_name)  - event from python, sent by as_event(event_name),на старые .ру файлы это не повлияет?Или это просто новые возможности?Я просто нуп в этом))

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

 

 

Ребят,увидел это PY(event_name) - event from python, sent by as_event(event_name),на старые .ру файлы это не повлияет?Или это просто новые возможности?
Новые возможности.
Link to comment
Short link
Share on other sites

 

 

а про таймер ремонта нет новостей ?

 

Поддерживаю.таймера очень не хватает.Просто на стандартную панель добавить внутрь отображение,желательно с десятыми и настройкой расположения,чтоб можно было на нестандартные дамагпанели.
, можно по извращаться, сделать 8 полей, и восемь макросов.
  • Upvote 1
Link to comment
Short link
Share on other sites

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

блин, достиг максимума +++ 

 

хоть и без таймера не парюсь, но когда он был (когда-то в AS2) очень помогало вкупе с таймером перезарядки противника - стоишь на гусле и точно видишь - успеешь починиться до следующего выстрела или пора кричать в чат о помощи :))

имхо вещь полезная и нужная

Link to comment
Short link
Share on other sites

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

, вот теперь исправил. 

myDamageLog.rar

Edited by ktulho
  • Upvote 2
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...