Jump to content
Korean Random

infoPanel средствами XVM.


Recommended Posts

Я думал будет как здесь:

Так тоже можно, к вечеру попробую.

@cektop_dv, сделал, получилось так, ну а координаты подгонишь под себя:

post-11459-0-73952000-1483887504_thumb.png

 

'infoPanel.xc'

"formats": [
      "<p align='left'><font face='$FieldFont' size='15'><b>{{vehicle_name}}\n{{gun_reload_equip}} с</b></font></p>",
      "<img src='img://gui/maps/icons/vehicle/{{icon_system_name}}.png'>\n<textformat tabstops='[55,90,125]'><p align='left'><font face='$FieldFont' size='13'><b>Масса:  {{vehicle_weight}}т<tab><tab>Обзор:  {{vision_radius}}м\nКорпус:<tab>{{armor_hull_front}}<tab>{{armor_hull_side}}<tab>{{armor_hull_back}}\nБашня:<tab>{{armor_turret_front}}<tab>{{armor_turret_side}}<tab>{{armor_turret_back}}\nТип:<tab>{{shell_type_1}}<tab>{{shell_type_2}}<tab>{{shell_type_3}}\nПробитие:<tab>{{shell_power_1}}<tab>{{shell_power_2}}<tab>{{shell_power_3}}\nУрон:<tab>{{shell_damage_1}}<tab>{{shell_damage_2}}<tab>{{shell_damage_3}}</font></p></textformat>"
    ]

'battleLabelsTemplates.xc'

"infoPanel0": {
      "enabled": true,
      "updateEvent": "PY(ON_INFO_PANEL)",
      "x": -200,
      "y": 100,
      "width": 250,
      "height": 250,
      "align": "left",
      "valign": "center",
      "screenHAlign": "center",
      "screenVAlign": "center",
      "shadow": { "enabled": true, "distance": 0, "angle": 45, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 4 },
      "textFormat": { "font": "$FieldFont", "size": 14, "color": "0xFCFCFC", "align": "center"},
      "format": "{{py:infoPanelFormat(0)}}"
    },
    "infoPanel1": {
      "enabled": true,
      "updateEvent": "PY(ON_INFO_PANEL)",
      "x": -200,
      "y": 140,
      "width": 250,
      "height": 250,
      "align": "left",
      "valign": "center",
      "screenHAlign": "center",
      "screenVAlign": "center",
      "shadow": { "enabled": true, "distance": 0, "angle": 45, "color": "0x000000", "alpha": 80, "blur": 5, "strength": 4 },
      "textFormat": { "font": "$FieldFont", "size": 14, "color": "0xFCFCFC", "align": "left"},
      "format": "{{py:infoPanelFormat(1)}}"
    }

'battleLabels.xc'

${ "battleLabelsTemplates.xc":"def.infoPanel0" },
${ "battleLabelsTemplates.xc":"def.infoPanel1" }

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

Решил поделиться, мало ли кому пригодиться.

Путем проб и ошибок получилось реализовать сравнение масс техники и окрашивание в различные цвета при большем, меньшем или равном значении.

post-30084-0-30508700-1484208766_thumb.png

Для этого пришлось немного изменить/дополнить файлы info_panel_data.py и infoPanel.py а имменно:

 * был добавлен новый макрос {{self_vehicle_weight}} возвращающий массу собственной техники.

 * был добавлена возможность вызывать "макросы" {{gun_clip}}, {{vehicle_weight}}, {{self_vehicle_weight}} как обычные макросы {{py:gun_clip}}, {{py:vehicle_weight}}, {{py:self_vehicle_weight}} со всеми вытекающими.

 

Все измененные файлы в прикрепленном архиве.

 

PPS. diff'ки изменений:

'info_panel_data.py.diff'

--- info_panel_data.py
+++ info_panel_data.py
@@ -3,0 +4 @@
+from BigWorld import player
@@ -246,0 +248,3 @@
+
+def self_vehicle_weight():
+ return "%i" % (round(player().getVehicleAttached().typeDescriptor.physics['weight'] / 1000, 1))
\ No newline at end of file

'infoPanel.py.diff'

--- infoPanel.py
+++ infoPanel.py
@@ -22 +22 @@
- '{{invis_move_shot}}', '{{vision_radius}}', '{{radio_name}}', '{{radio_radius}}'
+ '{{invis_move_shot}}', '{{vision_radius}}', '{{radio_name}}', '{{radio_radius}}', '{{self_vehicle_weight}}'
@@ -110,0 +111,12 @@
+
[email protected]('gun_clip', deterministic=False)
+def gun_clip():
+ return info_panel_data.gun_clip()
+
[email protected]('vehicle_weight', deterministic=False)
+def vehicle_weight():
+ return info_panel_data.vehicle_weight()
+
[email protected]('self_vehicle_weight', deterministic=False)
+def self_vehicle_weight():
+ return info_panel_data.self_vehicle_weight()

 

infoPanel.zip

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

@xenus, а как тогда вызвать вот такую строку:

{{self_vehicle_weight}} [знак] {{vehicle_weight}}, причём если 1 > 2, то цвет зелёный, если 1 < 2, то цвет жёлтый, если примерно равны (1 = 2), то белый

?
Я просто не слишком силён в py, а тут ещё и не я сам кодил, так что разобраться тяжеловато .

Link to comment
Short link
Share on other sites

@xenus, а как тогда вызвать вот такую строку:

{{self_vehicle_weight}} [знак] {{vehicle_weight}}, причём если 1 > 2, то цвет зелёный, если 1 < 2, то цвет жёлтый, если примерно равны (1 = 2), то белый

?

Я просто не слишком силён в py, а тут ещё и не я сам кодил, так что разобраться тяжеловато .

Можно использовать строку такого вида:

<font color={{py:self_vehicle_weight={{py:vehicle_weight}}?'#F0F0F0'|{{py:self_vehicle_weight>{{py:vehicle_weight}}?'#00FF00'|'#FFFF00'}}}}>{{self_vehicle_weight}} {{py:self_vehicle_weight={{py:vehicle_weight}}?=|{{py:self_vehicle_weight>{{py:vehicle_weight}}?>|<}}}} {{vehicle_weight}}</font>

В игре это будет выглядеть так:

post-30084-0-60089600-1484216622_thumb.jpgpost-30084-0-50899600-1484216623_thumb.jpgpost-30084-0-36838400-1484216624_thumb.jpg
Link to comment
Short link
Share on other sites

Можно использовать строку такого вида:

<font color={{py:self_vehicle_weight={{py:vehicle_weight}}?'#F0F0F0'|{{py:self_vehicle_weight>{{py:vehicle_weight}}?'#00FF00'|'#FFFF00'}}}}>{{self_vehicle_weight}} {{py:self_vehicle_weight={{py:vehicle_weight}}?=|{{py:self_vehicle_weight>{{py:vehicle_weight}}?>|<}}}} {{vehicle_weight}}</font>
В игре это будет выглядеть так:

щорт, шикосик !

Дома скачаю скрипт и пошаманю в конфиге, спасибо огромное !

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

Is this error InfoPanel related?

2017-01-15 19:02:56.607: ERROR: [EXCEPTION] (scripts/common/Event.py, 46):
Traceback (most recent call last):
  File "scripts/common/Event.py", line 44, in __call__
  File "res_mods/configs/xvm/py_macro\infoPanel.py", line 90, in targetFocus
    InfoPanel.update(entity)
  File "res_mods/configs/xvm/py_macro\infoPanel.py", line 76, in update
    info_panel_data.init(vehicle)
  File "C:\World_of_Tanks\res_mods\mods/../configs/xvm/py_macro\info_panel_data.py", line 17, in init
    _typeDescriptor = vehicle.typeDescriptor
  File "scripts/client/svarog_script/py_component_system.py", line 74, in __getattr__
AttributeError: 'Svarog.ComponentSystem' object has no attribute 'typeDescriptor'
Link to comment
Short link
Share on other sites

Kotyarko_O

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

В дефолт можно несколько вариантов в battleLabelsTemplates.xc добавить, на то он Templates, по умолчанию выключить, кому нужно тот включит. 

Link to comment
Short link
Share on other sites

Подскажите, а диапазон урона возможно выводить ?  Например 600-910, а не просто среднее значение.

Возможно. Пример:

{{py:math.mul({{shell_damage_1}}, 0.75)%d}}-{{py:math.mul({{shell_damage_1}}, 1.25)%d}}

 

 

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

 

 

 

а так же возможность перемещение панели мышкой, как сделано в damagelog-e (по умолчанию можно отключить, что бы народ случайно её не двигал)
Я особо за темой дамаглога не слежу, но видел пару постов о том, что есть какие-то проблемы с "двигалкой". Так что подробности уже буду выяснять по ходу реализации этого здесь, а по результатам буду решать, вводить или нет.
  • Upvote 5
Link to comment
Short link
Share on other sites

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

Только плиз не в ультимативной форме, а с возможностью опции двигать или нет.

Link to comment
Short link
Share on other sites

  • 1 month later...

Решил поделиться, мало ли кому пригодиться.

Путем проб и ошибок получилось реализовать сравнение масс техники и окрашивание в различные цвета при большем, меньшем или равном значении.

attachicon.gifБезымянный0.png

Для этого пришлось немного изменить/дополнить файлы info_panel_data.py и infoPanel.py а имменно:

 * был добавлен новый макрос {{self_vehicle_weight}} возвращающий массу собственной техники.

 * был добавлена возможность вызывать "макросы" {{gun_clip}}, {{vehicle_weight}}, {{self_vehicle_weight}} как обычные макросы {{py:gun_clip}}, {{py:vehicle_weight}}, {{py:self_vehicle_weight}} со всеми вытекающими.

 

Все измененные файлы в прикрепленном архиве.

 

PPS. diff'ки изменений:

'info_panel_data.py.diff'

--- info_panel_data.py

+++ info_panel_data.py

@@ -3,0 +4 @@

+from BigWorld import player

@@ -246,0 +248,3 @@

+

+def self_vehicle_weight():

+ return "%i" % (round(player().getVehicleAttached().typeDescriptor.physics['weight'] / 1000, 1))

\ No newline at end of file

'infoPanel.py.diff'

--- infoPanel.py

+++ infoPanel.py

@@ -22 +22 @@

- '{{invis_move_shot}}', '{{vision_radius}}', '{{radio_name}}', '{{radio_radius}}'

+ '{{invis_move_shot}}', '{{vision_radius}}', '{{radio_name}}', '{{radio_radius}}', '{{self_vehicle_weight}}'

@@ -110,0 +111,12 @@

+

[email protected]('gun_clip', deterministic=False)

+def gun_clip():

+ return info_panel_data.gun_clip()

+

[email protected]('vehicle_weight', deterministic=False)

+def vehicle_weight():

+ return info_panel_data.vehicle_weight()

+

[email protected]('self_vehicle_weight', deterministic=False)

+def self_vehicle_weight():

+ return info_panel_data.self_vehicle_weight()

У тебя в третьем столбике пробитие дублируется,

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