-
Posts
10,756 -
Joined
-
Last visited
-
Days Won
403
Posts posted by ktulho
-
-
Основная проблема реализации на py_macro - это реализовать:
// Сортировка попаданий: begin - новые значения добавляются сверху, end - снизу. "insertOrder": "end",
-
не реализован средствами XVM
-
, повторяю:сборка 7679fgcwsxjegcbk2014, нужен риплей. -
В атласах нету?
- 1
-
-
-
ktulho могут ли строки данного дамаг лог огибать полукругом панель зайца причем строчки добавляются сверху вниз (т.е. последний тебе нанесенный урон находится на верхней строке домаг лога) как это раньше было в Гамбитеровской (пока он ее поддерживал). сейчас данный функционал не работает должным образом так как отступы намертво приклеиваются к нумерации строки, а надо чтоб нумерация менялась на +1 по мере появления очередной строки.
нет.
-
А можно с помощью xvm сделать показ в бою своего оборудования и перков
Наверно можно.
- 1
-
А "хотелки" тут уместны? Например, прошу добавить отображение своего маркера по удержанию клавиши. Спасибо :)
Если не секрет, зачем?
-
@Yoke, попробуйте еще раз battleLabelsTemplates(изменён).xc
, правильно, только там все отступы в этом поле сделаны не пробелами.где я поставил красный нижний дефис -
@Yoke, с этим попробуйте battleLabelsTemplates(изменён).xc. Если не получиться, еще раз прикрепите xvm.log
-
-
@Yoke, прикрепите xvm.log и python.log
-
В параметре "alpha" использован макрос.
- 1
-
- Popular Post
- Popular Post
Решил собрать в одном месте свои мелкие скрипты (а то уже стал забывать, что делал, зачем делал).
Для установка аддонов необходимо скопировать соответствующий скрипт (файл с расширением py) в папку \res_mods\configs\xvm\py_macro\
Список аддонов:
- Таймер
- Debug panel
- Размер миникарты
- Ограничение строк в чате
- Отключение лога уничтоженных (над миникартой)
- Маркер над своим танком
- Таймер для шестого чувства
- Название карты
- Команда захватившая базу
- Premium аккаунт
- Очки прочности своей техники
- Макросы для "ушей", маркеров и миникарты
- Онлайн статистика
- Начало боя
- Цвет границы карты
- Внутриигровой браузер
- Макросы плавного перехода цветов
- Информация о своей технике
- Перемотка реплея
- Режим прицела
- Скоростной режим в начале боя
- События по таймеру
- Быстрый выход из боя
- Показать/скрыть или включить/отключить чат в бою.
- Скрыть текст статуса аккаунта
Данная модификация добавляет py_macro:
- {{py:xvm.leftTime(x)}} - возвращает 'lt', если после входа в бой прошло меньше x секунд, иначе возвращает пусто.
Скрипт: timer.py
Данная модификация добавляет py_macro:
- {{py:xvm.fps}} - FPS в бою
- {{py:xvm.ping}} - возвращают ping
- {{py:xvm.fps_replay}} - при просмотре реплея возвращает FPS, который был в бою. В бою возвращает пусто.
- {{py:xvm.lag}} возвращает 'lag' или пусто.
Скрипт: debugPanel.py
Данная модификация добавляет py_macro:
- {{py:sizeMap}} - размер миникарты в пикселях.
- PY(ON_MAP_RESIZE) - событие срабатывает при изменении размера миникарты.
Пример отображения панели эффективности слева от миникарты:
"totalEfficiency": { "enabled": true, "updateEvent": "PY(ON_TOTAL_EFFICIENCY), PY(ON_MAP_RESIZE)", "screenVAlign": "bottom", "x": "{{py:math.sum({{py:xvm.screenWidth}},-70,-{{py:sizeMap}})}}", "y": -2, "width": 70, "height": "{{py:xvm.isStuns?120|96}}", "textFormat": { "size": 16, "align": "right" }, "format": "<textformat leading='4'><font color='{{py:xvm.totalDamage>0?{{py:xvm.totalDamageColor}}}}'>{{py:xvm.totalDamage}}</font> <img src='xvm://res/icons/Efficiency/damage.png' vspace='-2'><br>{{py:xvm.totalAssist}} <img src='xvm://res/icons/Efficiency/assist.png' vspace='-2'><br>{{py:xvm.totalBlocked}} <img src='xvm://res/icons/Efficiency/reflect.png' vspace='-2'><br>{{py:xvm.detection}} <img src='xvm://res/icons/Efficiency/discover.png' vspace='-2'><br>{{py:xvm.totalStun}} <img src='xvm://res/icons/Efficiency/stun.png' vspace='-2'></textformat>" },
Скрипт: minimapSize.py
Этот скрипт ограничивает количество строк в чате (в бою).
Количество строк задается в самом скрипте, в 7 строке:
makeSettingsVO['maxLinesCount'] = 2
Скрипт: messenger.py
Отключение лога уничтоженных (над миникартой):
Скрипт отключает вывод сообщений над миникартой.
Скрипт: notShowBattleMessage.py
Это переделанный и адаптированный под XVM мод от @MakcT40 (что-то он его подзабросил). Аддон добавляет маркер над техникой игрока.
Для настройки необходимо добавить в файл markers.xc в секцию "markers" следующие строки:
"playerMarkers": { //true - включен при старте "onStart": true, //клавиша включения/выключения маркера "keyCode": 49 },
Скрипт: playerMarker.py
Данная модификация позволяет выводить таймер обратного отсчета при засвете.
- {{py:xvm.sixthSenseTimer(x)}} - возвращает оставшееся время после засвета, иначе пусто. Аргумент x - продолжительность отсчета.
- PY(ON_SIXTH_SENSE_SHOW) - событие срабатывает при засвете.
Пример отображения отсчета поверх лампы засвета:
1) В файл battleLabels.xc добавить:
${ "battleLabelsTemplates.xc":"def.sixthSenseTimer"}
2) В файл battleLabelsTemplates.xc добавить:
"sixthSenseTimer": { "enabled": true, "updateEvent": "PY(ON_SIXTH_SENSE_SHOW)", "x": 0, "y": 260, "width": 60, "height": 50, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": {"align": "center", "size": 40 }, "format": "{{py:xvm.sixthSenseTimer(10)}}" },
Скрипт: sixthSense.py
Данная модификация добавляет py_macro:
- {{py:map.nameFile}} - название файла карты, на которой проходит бой.
- {{py:map.localeName}} - локализованное название карты, на которой проходит бой.
- {{py:map.kind}} - возвращает 'summer', если карта летняя, 'winter' - зимняя, 'desert' - пустынная.
Пример отображение карты с разъездами (карты должны находиться в \res_mods\mods\shared_resources\xvm\res\ в формате PNG):
"maps": { "hotKeyCode": 56, "onHold": true, "x": 200, "y": 550, "width": 500, "height": 500, "align": "center", "format": "<img src='xvm://res/{{py:map.nameFile}}.png'>" },
Скрипт: maps.py
Данная модификация добавляет py_macro:
- {{py:teamCaptured}} - возвращает 'ally' - если захватили союзники, 'enemy' - если захватили противники, иначе возвращает пусто. Через десять секунд после захвата, макрос вновь начнет возвращать пусто.
- PY(ON_CAPTURED) - событие срабатывает, если какая-либо из команд захватила базу.
Скрипт: capture.py
Данная модификация добавляет py_macro:
- {{py:prem.timeLeft}} - возвращает оставшееся количество дней или часов (если осталось меньше 24 часов) до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто.
- {{py:prem.timeMetric}} - возвращает в русской локализации "д." или "ч." (если осталось меньше 24 часов) . Если ПА закончился, то возвращает пусто.
- {{py:prem.timeLeftDays}} - возвращает оставшееся количество дней до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто.
- {{py:prem.timeLeftHours}} - возвращает оставшееся количество часов (от 0 до 23) до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто.
- {{py:prem.timeLeftMinutes}} - возвращает оставшееся количество часов (от 0 до 59) до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто.
- {{py:prem.premType}} - возвращает 'plus' или 'basic' в зависимости от типа активного премиум аккаунта, иначе пусто
- PY(ON_INFO_PREMIUM) - событие для обновления данных макросов.
Скрипт: infoPremium.py
Данная модификация добавляет py_macro:
- {{py:my_hp.health(norm)}} - если параметр norm не задан, то возвращает количество оставшихся очков прочности. Иначе возвращает нормализованное значение очков прочности;
- {{py:my_hp.maxHealth}} - максимальное количество очков прочности;
- {{py:my_hp.dmg}} - последний полученный урон.
- PY(ON_MY_HP) - событие для обновления данных макросов.
Пример для отображения полоски HP под панелью снарядов:
1) В файл battleLabels.xc добавить:
${ "battleLabelsTemplates.xc":"def.hpBar"}, ${ "battleLabelsTemplates.xc":"def.hpBar_Background"}, ${ "battleLabelsTemplates.xc":"def.hpBar_text"}
2) В файл battleLabelsTemplates.xc добавить:
"hpBar": { "enabled": true, "updateEvent": "PY(ON_MY_HP)", "x": "{{py:math.sum(-248,{{py:math.div({{py:my_hp.health(496)}}, 2)}})}}", "y": -4, "width": "{{py:my_hp.health(496)}}", "height": 14, "bgColor": "{{py:my_hp.health(100)>75?0x00AF00|{{py:my_hp.health(100)>50?0xCB9E00|{{py:my_hp.health(100)>25?0xF66700|0xD22A00}}}}}}", "screenVAlign": "bottom", "screenHAlign": "center" }, "hpBar_Background": { "enabled": true, "x": 0, "y": -2, "width": 502, "height": 20, "screenHAlign": "center", "screenVAlign": "bottom", "format": "<img src='xvm://res/my_hp_bar/hpBar_Background.png'>" }, "hpBar_text": { "enabled": true, "updateEvent": "PY(ON_MY_HP)", "x": 0, "y": -2, "width": 100, "height": 20, "screenHAlign": "center", "screenVAlign": "bottom", "textFormat": { "align": "center" }, "format": "<font size='14' color='#00E5FD'>{{py:my_hp.health}}/{{py:my_hp.maxHealth}}</font>" }
3) Для смещения панели снарядов и расходников, в файле elements.xc добавить секцию:
"consumablesPanel": { "$delay": 4000, "y": "{{py:math.sub({{py:xvm.screenHeight}}, 80)}}" }
Если панель снарядов и расходников не сдвигается, попробуйте увеличить значение параметра "$delay".
4) Файл hpBar_Background.png (подложка) скопировать в \res_mods\mods\shared_resources\xvm\res\my_hp_bar\
Скрипт: myHP.py
Макросы для "ушей", маркеров и миникарты:
Данная модификация добавляет py_macro:
- {{py:killerName('{{name}}')}} - имя игрока уничтожившего данную технику;
- {{py:killerVehicle('{{name}}')}} - название техники игрока уничтожившего данную технику;
- {{py:reloadVehicle('{{name}}')}} - время перезарядки орудия (не таймер);
- {{py:visionRadius('{{name}}')}} - табличный обзор техники;
- {{py:piercingPower('{{name}}')}} - средняя бронепробиваемость основного снаряда;
- {{py:shellDamage('{{name}}')}} - средний урон основного снаряда;
- {{py:isHardening('{{name}}')}} - возвращает 'hardening' для техники с установленным оборудованием 'Улучшенная закалка', иначе пусто;
- {{py:isAmmoClip('{{name}}')}} - возвращает 'clip' для техники с барабаном заряжания или механизмом дозарядки, иначе пусто.
Пример использование данных макросов.
Скачать: collection.py
Данная модификация позволяет изменить внешний вид онлайн статистики в ангаре.
Для использования данной модификации в файл hangar.xc в секцию "serverInfo" необходимо добавить:
// заменяет отображение названия сервера и количество игроков на сервере. // можно использовать макросы: {{serverName}}, {{clusterUsers}}, {{total}}, {{regionUsers}}. "clusterStats": "<font color='#FFFFFF'>{{serverName}}: {{clusterUsers}}</font>", // заменяет отображение "Всего" и количество игроков на кластере. // можно использовать макросы: {{serverName}}, {{clusterUsers}}, {{total}}, {{regionUsers}}. "regionStats": "<font color='#FFFFFF'>{{total}}: {{regionUsers}}</font>"
Значение макросов:
- {{serverName}} - название сервера;
- {{clusterUsers}} - количество игроков на сервере;
- {{total}} - локализованное слово "Всего".
- {{regionUsers}} - количество игроков на кластере.
Скрипт: onlineStats.py
Данная модификация добавляет py_macro:
- {{py:isBattle}} - возвращает 'battle', если бой начался, иначе пусто.
- PY(ON_BEGIN_BATTLE) - событие для обновления макроса {{py:isBattle}}.
Скрипт: beginBattle.py
Данная модификация позволяет изменять цвет границы карты.
Для использования данной модификации в файл battle.xc в секцию "battle" необходимо добавить:
// Настройка цвета границы карты "borderColor": { "color": "0x00ff00", "alpha": 100 },
Скачать: borderColor.py
На данный момент не работает.
Данная модификация позволяет открыть ссылку во внутриигровом браузере. Аддон добавляет следующие py_macro:
- {{py:ob.highlight}} - возвращает 'highlight', если курсор мышки находится над полем, иначе пусто.
- {{py:ob.address(url)}} - параметр 'url' задает адрес открываемого сайта.
- PY(ON_OPEN_BROWSER) - событие для обновления данных макросов.
- "openBrowser_Down", "openBrowser_Over", "openBrowser_Out" - обработчики событий мыши.
Пример использования:
-
В файл widgets.xc в секцию "lobby" добавить строку:
${ "widgetsTemplates.xc":"openBrowser" }
-
В файл widgetsTemplates.xc.xc добавить секцию:
"openBrowser": { "enabled": true, "layer": "top", "type": "extrafield", "formats": [ { "updateEvent": "PY(ON_OPEN_BROWSER)", "screenHAlign": "center", "x": 300, "y": 1, "width": 90, "height": 20, "textFormat": { "color": "{{py:ob.highlight?0x3B95FF|0xD8B44E}}", "size": 14}, "format": "<u>Korean Random</u>{{py:ob.address('https://koreanrandom.com')}}", "mouseEvents": {"mouseDown": "openBrowser_Down", "mouseOver": "openBrowser_Over", "mouseOut": "openBrowser_Out"} } ] }
Скрипт: openBrowser.py
Макросы плавного перехода цветов:
Аддон добавляет макросы плавного перехода цветов:
- {{py:dynamic_colorRGB(color_100, color_0, percent, maximum)}}
- {{py:dynamic_colorRBG(color_100, color_0, percent, maximum)}}
- {{py:dynamic_colorGRB(color_100, color_0, percent, maximum)}}
- {{py:dynamic_colorGBR(color_100, color_0, percent, maximum)}}
- {{py:dynamic_colorBRG(color_100, color_0, percent, maximum)}}
- {{py:dynamic_colorBGR(color_100, color_0, percent, maximum)}}
- {{py:dynamic_color(color_100, color_0, percent, maximum)}}
Если параметр maximum не задан, то считается что он равен 100.
Программа для облегчения выбора нужного вам макроса: Color.exe
Скрипт: colorMacros.py
- {{py:isWheeledTech}} - возвращает 'wheel' если техника колесная, иначе пусто;
- {{py:hasSiegeMode}} - возвращает 'siege' если техника может переходить в осадный режим, иначе пусто;
- {{py:hasAutoSiegeMode}} - возвращает 'autosiege' если техника может автоматически переходить в осадный режим, иначе пусто;
- {{py:isDualGun}} - возвращает 'dual' если техника имеет два орудия, иначе пусто;
- {{py:isAutoReload}} - возвращает 'auto' для техники с механизмом дозарядки, иначе пусто;
- {{py:hasTurboshaftEngine}} - возвращает 'turbo' для техники с газотурбинным двигателем, иначе пусто;
- {{py:isClip}} - возвращает 'clip' для техники с барабаном заряжания, иначе пусто;
-
{{py:featureVehicle(v1, v2, v3, v4, v5, v6, v7)}} - возвращает:
- для колесной техники - v1, если значение не задано - 'wheel';
- для техники имеющей осадный режим - v2, если значение не задано - 'siege';
- для техники автоматически переходящей в осадный режим - v3, если значение не задано - 'autosiege';
- для двухствольной техники - v4, если значение не задано - 'dual';
- для техники с механизмом дозарядки - v5, если значение не задано - 'auto';
- для техники с газотурбинным двигателем - v6, если значение не задано - 'turbo';
- для техники с "барабаном" - v7, если значение не задано - 'clip'.
- {{py:invisibilityMove}} - коэффициент незаметности в движении. На реплеях, или если зашли в бой не из ангара, не учитываются перки экипажей.
Скрипт: infoMyVehicle.py
Аддон расширяет возможности перемотки реплеев:
- стрелка вправо/влево - перемотка на 20 секунд;
- SHIFT + стрелка вправо/влево - перемотка на 1 минут;
- CTRL + стрелка вправо/влево - перемотка на 2 минуты;
- ALT + стрелка вправо/влево - перемотка на 5 минут.
Скрипт: rewindRepeat.py
- {{py:aim.mode(v1, v2, v3)}} - возвращает v1 - в аркадном , v2 - в снайперском, v3 - в стратегическом (артиллерийском) режиме прицела, если значения v1, v2, v3 не заданы, то возвращает 'arc' - в аркадном, 'sn' - в снайперском, 'str' - в стратегическом (артиллерийском) режиме прицела;
- {{py:aim.y(shift)}} - возвращает расстояние по оси y между центром экрана и центром прицела в пикселях, в зависимости от режима прицела. Параметр 'shift' позволяет задать смещение от центра прицела по оси y.
-
{{py:aim.netType(v1, v2, v3, v4)}} - тип выбранной сетки прицела. В стратегическом режиме возвращает пусто. В аркадном и снайперском режимах возвращает:
-
для "диагонального" - v1, если значение не задано - 'diagonal';
-
для "горизонтального" - v2, если значение не задано - 'horizontal';
-
для "радиальный" - v3, если значение не задано - 'radial';
-
для "пунктирный" - v4, если значение не задано - 'dotted'.
-
- PY(ON_AIM_MODE) - событие срабатывает при смене режима прицела.
Скрипт: aimingSystem.py
Скоростной режим в начале боя:
При установке данного скрипта, в начале боя будет включаться скоростной режим, если техника поддерживает данный режим.
Скрипт: enableAutorotation.py
Дополнение позволяет создавать свои события, которые будут обновлять поля через указанный промежуток времени.
Для создания своих событий необходимо:
1) в файл @xvm добавить ссылку:
"events": ${"events.xc":"events"},
2) создать файл events.xc в папке со своим конфигом содержащим:
{ "events": { // события для боя "battleTimers": [ ], // события для ангара "hangarTimers": [ ] } }
3) добавить в секцию "battleTimers" события для боя (battleLabels), в секцию "hangarTimers" - для ангара (widgets). Пример:
{ "events": { // события для боя (battleLabels) "battleTimers": [ // "period" - период в секундах, через которое будет обновляться поле // "name" - нахвание события {"period": 5, "name": "ON_EVENT_5"}, {"period": 10, "name": "ON_EVENT_10"} ], // события для ангара (widgets) "hangarTimers": [ {"period": 30, "name": "ON_EVENT_30"}, {"period": 60, "name": "ON_EVENT_MINUTE"} ] } }
После этого в battleLabels можно будет использовать события PY(ON_EVENT_5) и PY(ON_EVENT_10), поля будут обновляться каждые 5 и 10 секунд соответственно. А в widgets - события PY(ON_EVENT_30) и PY(ON_EVENT_MINUTE), поля будут обновляться каждые 30 и 60 секунд.
Скрипт: timerEvents.py
Дополнение позволяет назначит клавишу для быстрого выхода из боя, если выход не повлечет штраф за "дезертирство" (при просмотре реплея - закроет клиент). Аддон отключен для режима "Стальной охотник".
Пример использования:
Для выхода из боя по клавиши F4 в файл hotkeys.xc нужно добавить:
"quicklyLeave": { "enabled": true, "keyCode": 62, "modifier": "ctrl"}
Параметр "modifier" - клавиша-модификатор может принимать значения: "none", "shift", "ctrl", "alt".
Скрипт: quicklyLeave.py
Показать/скрыть или включить/отключить чат в бою:
Дополнение позволяет назначит клавишу для скрывания и/или включения/отключения чата в бою.
Пример использования:
Чтобы скрыть/показать чат в бою по клавиши H в файл hotkeys.xc нужно добавить:
"hideBattleChat": { "enabled": true, "keyCode": 35, "modifier": "none"}
Для отключения чата в бою по клавише O в файл hotkeys.xc нужно добавить:
"disableBattleChat": { "enabled": true, "keyCode": 24, "modifier": "none"}
Параметр "modifier" - клавиша-модификатор может принимать значения: "none", "shift", "ctrl", "alt".
Скрипт: hideBattleChat.py
Скрыть текст статуса аккаунта:
Аддон скрывает текст статуса аккаунта (премиум, базовый).
Скрипт:accountTypes.py
- 37
-
, да, я помню. Но вдруг получится.раньше это не прокатывало -
, попробуйте в battleAtlas изменить размер картинки playersPanel_bg, playersPanel_deadBg и playersPanel_selfBg.как ее можно увеличить, скажите пожалуйста?- 1
-
- 2
-
@Stepan371, не хватает ширины подложки (размер картинки мамаленький)
- 1
-
-
Нормально вроде.
-
, посмотрел, действительно, без скрипта индикатор будет обрываться через 6.66666 с.Ну что-то как и ожидалось - нечего не изменилось. -
-
в архиве не тот файлик.
, ага промахнулся battleDamageIndicatorApp.rar
[Implemented] расширение функций хитЛога
in Suggestions for XVM
Posted