Перейти к содержимому
Korean Random

Scanmen

Пользователь
  • Публикации

    19
  • Зарегистрирован

  • Посещение

Репутация

13 Нуп

Контакты

  • Сервер WoT
    EU
  1. Scanmen

    [1.4.0.1/Unknown] [Fixed] XVM appears to have vanished?

    Try this. :) https://koreanrandom.com/forum/topic/48540-14018780-a-temporary-solution-for-the-xvm-8780-and-wot-1401-error/
  2. I modified line 12 from xfw_package.json. I change "wot_version_min": "1.4.0.0", to "wot_version_min": "1.4.0.1", I tested, and it's working. Of course this is a temporary solution. :) Download from Nightly Builds, the 8780 build. Copy to your usual location, and after that overwrite the com.modxvm.xfw.actionscript_7.8.1.1115.wotmod file with the attached version. com.modxvm.xfw.actionscript_7.8.1.1115.wotmod
  3. Scanmen

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

    Thank you! :)
  4. Scanmen

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

    I've made some changes to see, my reload speed how many times is faster or slower than my opponent during the battle. Knowing this data, after enemy shot, you will know how many times you can shoot before you go back in a safe place. If enemy is faster, after your shot you must retreat immediately. Only double, triple or quadruple differences are displayed. Have a nice day :) Я сделал некоторые изменения, чтобы увидеть, сколько раз я перезагружаюсь, во сколько раз быстрее или медленнее, чем мой противник во время битвы. Зная эти данные, после выстрела противника вы узнаете, сколько раз можете стрелять, прежде чем вернуться в безопасное место. Если враг быстрее, после выстрела вы должны немедленно отступить. Отображаются только двойные, тройные или четырехкратные различия. Хорошего дня :) Insert the following lines in infoPanel.py file: Вставьте следующие строки в файл infoPanel.py: @xvm.export('compareReloadDiff', deterministic=False) def compareReloadDiff(value1, value2): if (value1*4) <= value2: return infoPanelConfig['compareReload']['fourfaster']['comptext'] elif (value1*3) <= value2: return infoPanelConfig['compareReload']['threefaster']['comptext'] elif (value1*2) <= value2: return infoPanelConfig['compareReload']['twicefaster']['comptext'] elif value1 >= (value2*4): return infoPanelConfig['compareReload']['fourslower']['comptext'] elif value1 >= (value2*3): return infoPanelConfig['compareReload']['threeslower']['comptext'] elif value1 >= (value2*2): return infoPanelConfig['compareReload']['twiceslower']['comptext'] Insert the following lines in infoPanel.xc file: Вставьте следующие строки в файл infoPanel.xc: // Values for {{py:compareReloadDiff(X, Y)}} macros // Значения для макросов {{py:compareReloadDiff(X, Y)}} "compareReload": { "fourfaster": { "comptext": " Four time faster" }, "threefaster": { "comptext": " Three time faster" }, "twicefaster": { "comptext": " Two time faster" }, "fourslower": { "comptext": " Four time slower" }, "threeslower": { "comptext": " Three time slower" }, "twiceslower": { "comptext": " Two time slower" } }, An example of how to use it, on infoPanel.xc "formats" section: Пример того, как его использовать, в разделе «форматы» infoPanel.xc: // Block of text formats. Allow multiple formats (https://koreanrandom.com/forum/topic/36811-/). // Блок текстовых форматов. Допускается создание нескольких форматов (https://koreanrandom.com/forum/topic/36811-/). "formats": [ "<br/><textformat><b><font size='20'>{{vehicle_name}}</font></b></textformat> <br/><textformat tabstops='[95]'>Reload-time:<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{pl_gun_reload_equip}}, {{gun_reload_equip}})}}'>{{gun_reload_equip}}{{py:compareReloadDiff({{pl_gun_reload_equip}}, {{gun_reload_equip}})}}</font>}}</textformat> <br/><textformat tabstops='[95,140]'>Ammo-type:<tab>{{shell_type_1}}<tab>{{shell_type_2}}</textformat> <br/><textformat tabstops='[95,140]'>Penetration:<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_power_1}}, {{pl_shell_power_1}})}}'>{{shell_power_1}}</font>}}<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_power_2}}, {{pl_shell_power_2}})}}'>{{shell_power_2}}</font>}}</textformat> <br/><textformat tabstops='[73,95,140]'>Damage:<tab>{{py:cClip({{gun_clip}})}}<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_damage_1}}, {{pl_shell_damage_1}})}}'>{{shell_damage_1}}</font>}}<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_damage_2}}, {{pl_shell_damage_2}})}}'>{{shell_damage_2}}</font>}}</textformat> <br/><textformat tabstops='[95,140]'>Weight:<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{vehicle_weight}}, {{pl_vehicle_weight}})}}'>{{vehicle_weight}}</font>}}</textformat>", "<br/><textformat tabstops='[95]'>Reload-time:<tab><font size='16'>{{pl_gun_reload_equip}}</font></textformat> <br/><textformat tabstops='[95,140]'>Ammo-type:<tab>{{shell_type_1}}<tab>{{shell_type_2}}</textformat> <br/><textformat tabstops='[95,140]'>Penetration:<tab><font size='16'>{{pl_shell_power_1}}</font><tab><font size='16'>{{pl_shell_power_2}}</font></textformat> <br/><textformat tabstops='[73,95,140]'>Damage:<tab>{{py:cClip({{gun_clip}})}}<tab><font size='16'>{{pl_shell_damage_1}}</font><tab><font size='16'>{{pl_shell_damage_2}}</font></textformat> <br/><textformat tabstops='[95,140]'>Weight:<tab><font size='16'>{{pl_vehicle_weight}}</font></textformat>" ] info_panel_data.py infoPanel.py infoPanel.xc
  5. Scanmen

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

    I've made some minor changes for using two panels, as follows. One panel shows the data of the targeted enemy tank, the second panel shows my tank data continuously. The second panel will be visible after you aim an enemy tank, or by pressing the altkey. Have a nice day :) Я сделал несколько небольших изменений для использования двух панелей, как показано ниже. Одна панель отображает данные о вражеском танке, вторая - постоянно показывает данные о моем танке. Вторая панель будет видна после того, как вы нацелите вражеский танк или нажмете Altkey. Хорошего дня :) The default multiple panels scenario can be created by following Kotyarko_O description created in the first post. To keep the second panel continuously showing your tank data, you need to use the attached infoPanel.py and info_panel_data.py or insert a new class and edit two other functions in infoPanel.py file. Сценарий с несколькими панелями по умолчанию можно создать, следуя описанию Kotyarko_O, созданному в первом посте. Чтобы вторая панель постоянно показывала данные вашего танка, вам нужно использовать прикрепленные файлы infoPanel.py и info_panel_data.py или вставить новый класс и отредактировать две другие функции в файле infoPanel.py. Insert the following lines in infoPanel.py file: Вставьте следующие строки в файл infoPanel.py: class MyPanel(object): def __init__(self): self.textFormats = infoPanelConfig['formats'] if infoPanelConfig['enabled'] else None self.textsFormatted = None self.timer = None def reset(self): self.__init__() info_panel_data.reset() def getFuncResponse(self, funcName): if not hasattr(info_panel_data, funcName): return None func = getattr(info_panel_data, funcName, None) if (func is not None) and callable(func): result = func() return str(result) if result is not None else '' else: return None def setTextsFormatted(self): self.textsFormatted = [] for textFormat in self.textFormats: for macro in MACROS: if macro in textFormat: funcName = macro.replace('{', '').replace('}', '') funcResponse = self.getFuncResponse(funcName) textFormat = textFormat.replace(macro, funcResponse) self.textsFormatted.append(textFormat) def update(self, vehicle): if hotKeyPressed: return playerVehicle = player().getVehicleAttached() if playerVehicle is not None: if hasattr(vehicle, 'typeDescriptor'): info_panel_data.init(vehicle, playerVehicle) elif hasattr(playerVehicle, 'typeDescriptor'): info_panel_data.init(None, playerVehicle) self.setTextsFormatted() as_event('Show_My_Panel') MyPanel = MyPanel() modify the targetFocus and handleKey functions in infoPanel.py file: измените функции targetFocus и handleKey в файле infoPanel.py: @registerEvent(PlayerAvatar, 'targetFocus') def targetFocus(self, entity): if not infoPanelConfig['enabled'] or not hasattr(entity, 'publicInfo') or (infoPanelConfig['enemiesOnly'] and (0 < getattr(entity.publicInfo, 'team', 0) == player().team)) or (infoPanelConfig['aliveOnly'] and not entity.isAlive()): return infoPanel.update(entity) MyPanel.update(entity) @registerEvent(PlayerAvatar, 'handleKey') def handleKey(self, isDown, key, mods): global hotKeyPressed if not infoPanelConfig['enabled'] or (key != infoPanelConfig['altKey']) or MessengerEntry.g_instance.gui.isFocused(): return if isDown: infoPanel.update(player().getVehicleAttached()) MyPanel.update(player().getVehicleAttached()) infoPanel.hide() hotKeyPressed = True elif not isDown: hotKeyPressed = False if target() is not None and not (infoPanelConfig['enemiesOnly'] and (0 < getattr(entity.publicInfo, 'team', 0) == player().team)): infoPanel.update(target()) else: infoPanel.hide() as_event('ON_INFO_PANEL') Beyond the above, you need to modify the infopanel section "updateEvent" line for the second panel (this will show your tank data) in battleLabelsTemplates.xc file: Помимо вышесказанного, вам нужно изменить строку «updateEvent» раздела инфопанели для второй панели (это покажет данные вашего танка) в файле battleLabelsTemplates.xc: "infoPanel1": { "enabled": true, "updateEvent": "PY(Show_My_Panel)", "x": 380, "y": 520, "width": 250, "height": 250, "align": "center", "valign": "center", "screenHAlign": "center", "screenVAlign": "center", "shadow": { "enabled": true, "distance": 1, "angle": 90, "color": "0x000000", "alpha": 80, "blur": 3, "strength": 2 }, "textFormat": { "font": "$FieldFont", "size": 16, "color": "0xFCFCFC", "align": "left", "leading": -12 }, "format": "{{py:infoPanelFormat(1)}}" } infoPanel.py info_panel_data.py
  6. Scanmen

    XVM site problem!

    When the site is under maintenance, you can't login. Maybe that was when you try it, but now is working.
  7. Scanmen

    Cannot get XVM to work, crew is invisible and no loading screen

    The latest XVM is working fine. Probably the error is because XVM conflicts with other mods. Try with XVM only... Merry Christmas
  8. Scanmen

    Minimalist tank contour icons

    Thanks, that's what I was looking for.
  9. Scanmen

    Minimalist tank contour icons

    I was looking for the solution in the XVM (this is the reason for this topic) but I did not find it. Following the advice of Aslain this solution was born, but if this can be done in XVM then please show me how to do it, because that was the primary goal.
  10. Scanmen

    Minimalist tank contour icons

    Update: - Modified shadow and align. Created versions on green and purple(colorblind) color. Download: Minimalist_Contour_Icon_white_1.wotmod Minimalist_Contour_Icon_green_1.wotmod Minimalist_Contour_Icon_colorblind_1.wotmod How to use: 1) Download a wotmod file, from above list. 2) Copy it to Games\World_of_Tanks\mods\1.2.0.1\ folder. 3) Edit your xvm playersPanel.xc file, changing "vehicleLevelXOffsetLeft" and "vehicleLevelXOffsetRight" values from 0 to 15, on every panel type section. 4) On game settings go to general tab and enable "Show vehicle tier" option. 5) That's all.  Update 1.4.0.0 Minimalist_Contour_Icon_white_2.wotmod Minimalist_Contour_Icon_green_2.wotmod Minimalist_Contour_Icon_colorblind_2.wotmod
  11. Scanmen

    Minimalist tank contour icons

    Problem solved, thanks to Aslain. If someone else want also this type of minimalist contour icons: 1) Download Minimalist_Contour_Icon.wotmod 2) Copy it to Games\World_of_Tanks\mods\1.2.0.1\ folder. 3) Edit your xvm playersPanel.xc file, changing "vehicleLevelXOffsetLeft" and "vehicleLevelXOffsetRight" values from 0 to 15, on every panel type section. 4) On game settings go to general tab and enable "Show vehicle tier" option. 5) That's all.
  12. Hi guys Maybe for others my question seems to be trivial, but it is possible using XVM to change the tank contour icons marked in red on attached image, to icon type marked with green? If is a stupid question, sorry.... Thanks Привет, ребята Может быть, для других мой вопрос кажется тривиальным, но можно использовать XVM для изменения значков контура резервуара, отмеченных красным цветом на прикрепленном изображении, до типа значка, обозначенного зеленым? Если это глупый вопрос, извините... Спасибо
  13. Scanmen

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

    In the first post you will find a very detailed description of how to do it. В первом посте вы найдете очень подробное описание того, как это сделать. (Гугл переводчик)
  14. Scanmen

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

    I've expanded the number of macros to make it possible to compare more parameters based on their color. Which is much faster in the course of battle than to compare numerical values. Aiming to enemy, i see the numeric value of his parameters. Green numbers indicate that my values are better, the red indicates that the enemy has better parameters. Have a nice day :) Я увеличил количество макросов, чтобы можно было сравнивать больше параметров в зависимости от их цвета. Что гораздо быстрее в ходе битвы, чем сравнивать числовые значения. Стремясь к врагу, я вижу числовое значение его параметров. Зеленые цифры показывают, что мои значения лучше, красные - что у противника лучшие параметры. Хорошего дня :) code that you need to add to info_panel_data.py код, который нужно добавить в info_panel_data.py ##################################################################### def pl_shell_power_1(): global _gunShots _gunShots = _typeDescriptor.gun.shots return shell_power_1() def pl_shell_power_2(): global _gunShots _gunShots = _typeDescriptor.gun.shots return shell_power_2() def pl_shell_power_3(): global _gunShots _gunShots = _typeDescriptor.gun.shots return shell_power_3() def pl_shell_damage_1(): global _gunShots _gunShots = _typeDescriptor.gun.shots return shell_damage_1() def pl_shell_damage_2(): global _gunShots _gunShots = _typeDescriptor.gun.shots return shell_damage_2() def pl_shell_damage_3(): global _gunShots _gunShots = _typeDescriptor.gun.shots return shell_damage_3() code that you need to add to MACROS section on infoPanel.py код, который нужно добавить в раздел MACROS на infoPanel.py ##################################################################### '{{pl_shell_power_1}}', '{{pl_shell_power_2}}', '{{pl_shell_power_3}}', '{{pl_shell_damage_1}}', '{{pl_shell_damage_2}}', '{{pl_shell_damage_3}}' example for formats section on infoPanel.xc (I use Aster code also. Good job, and thanks Aster. :) ) пример для раздела форматов на infoPanel.xc (я также использую код Aster. Отличная работа, и спасибо Aster. :) ) "formats": [ "<br/><textformat><b><font size='20'>{{vehicle_name}}</font></b></textformat> <br/><textformat tabstops='[95]'>Reload-time:<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{pl_gun_reload_equip}}, {{gun_reload_equip}})}}'>{{gun_reload_equip}}</font>|{{pl_gun_reload_equip}}}}</textformat> <br/><textformat tabstops='[95,140]'>Ammo-type:<tab>{{shell_type_1}}<tab>{{shell_type_2}}</textformat> <br/><textformat tabstops='[95,140]'>Penetration:<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_power_1}}, {{pl_shell_power_1}})}}'>{{shell_power_1}}</font>|{{pl_shell_power_1}}}}<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_power_2}}, {{pl_shell_power_2}})}}'>{{shell_power_2}}</font>|{{pl_shell_power_2}}}}</textformat> <br/><textformat tabstops='[73,95,140]'>Damage:<tab>{{py:cClip({{gun_clip}})}}<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_damage_1}}, {{pl_shell_damage_1}})}}'>{{shell_damage_1}}</font>|{{pl_shell_damage_1}}}}<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{shell_damage_2}}, {{pl_shell_damage_2}})}}'>{{shell_damage_2}}</font>|{{pl_shell_damage_2}}}}</textformat> <br/><textformat tabstops='[95,140]'>Weight:<tab>{{py:isTarget=trg?<font size='16' color='{{py:compareColor({{vehicle_weight}}, {{pl_vehicle_weight}})}}'>{{vehicle_weight}}</font>|{{pl_vehicle_weight}}}}</textformat>" ]
  15. Scanmen

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

    _typeDescriptor.gun.shotDispersionAngle >>> round(_typeDescriptor.gun.shotDispersionAngle * 100, 2) It works!
×