Jump to content
Korean Random
Zelenogorec

[0.9.0] XVM Tank Minimap Ranges, забугорный мод.

Recommended Posts

Да, я сам додумался убрать все из раздела спешл, и вроде стало работать как надо. Но все равно спасибо.

Share this post


Link to post

Short link
Share on other sites

Да, я сам додумался убрать все из раздела спешл, и вроде стало работать как надо. Но все равно спасибо.

 

Честно говоря, не понимаю, как стирание "special" могло решить проблему (я это делал просто для большей наглядности тестов, а не для борьбы с проблемами).

Все должно работать даже при наличии кучи мусора в "special" - мод убирает старые данные, записывает новые.

Share this post


Link to post

Short link
Share on other sites

сделайте пожалуйста в шапке полную инструкцию действий, ато люди путаются, что где переписать, что где вставить.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Каких действий? что переписать, что вставить?

В шапке есть инструкция по установке имеющейся версии мода. Больше ничего далать не нужно.

Или что-то непонятно в этой инструкции? Что именно?

 

У некоторых пользователей с этой версией возникают проблемы. Пока что пытаемся найти причину их возникновения.

Если дело в XVM, то, думаю, проблема с отсуствующими кругами решится сама с выходом новых ночных версий.

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

например нужно ли переписать в файле minimap строку "circles": ${"tankrange.xc":"circles"}

Share this post


Link to post

Short link
Share on other sites

Конечно. Принцип работы этого всего такой.

 

У XVM есть секция "circles" - она может содержаться прямо в файле конфига XVM либо в отдельном файле (наш слачай).

 

Эта строка:

"circles": ${"tankrange.xc":"circles"}

как раз указывает, где этот файл лежит.  Так работает XVM по-умолчанию (без всяких TankRange).

 

А задача мода TankRange - просто записать в этот файл дополнительную информацию. Ничего другого мод не делает.

 

Т.е. и XVM, и Tankrange должны знать, где лежит этот файл. TankRange его обновляет, XVM его читает.

 

В XVM для описания пути к файлу используется вышеупомянутая строчка активного конфига. Указывается путь относительно активного конфига.

А в Tankrange+XML используется файл "res_mods\0.9.0\scripts\client\currentvehicle.xml". Указывается путь относительно папки \World_of_Tanks\.

 

Если используется ("стандартная") версия Tankrange без XML, мод ищет этот файл по стандартному (прописанному в скрипте) пути:

"res_mods\xvm\tankrange.xc" либо "res_mods\xvm\configs\minimapCircles.xc". Но в XVM все равно нужно на него ссылаться.

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

@Meddio, а если tankrange.xc лежит на папку выше? как должно быть?

"circles": ${"..tankrange.xc":"circles"}
или
"circles": ${"//tankrange.xc":"circles"}

Share this post


Link to post

Short link
Share on other sites

Почти угадал: для возвращения на уровень выше используются "две точки и слеш":

если конфиг лежит в папке \res_mods\xvm\configs\freeman440\

"circles": ${"tankrange.xc":"circles"}       - файл лежит в папке \res_mods\xvm\configs\freeman440\
"circles": ${"../tankrange.xc":"circles"}    - файл лежит в папке \res_mods\xvm\configs\
"circles": ${"../../tankrange.xc":"circles"} - файл лежит в папке \res_mods\xvm\

А "одна точка и слеш" - обозначение текущей папки.

Следующие записи равнозначны:
"circles": ${"tankrange.xc":"circles"}
"circles": ${"./tankrange.xc":"circles"}
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

если идти от стандартного пути xvm, значит.....

файл tankrange.xc лежит по пути res_mods\xvm\configs\@Default   (вместе с остальными файлами конфига )

переписываем строку в minimap с     "circles": ${"minimapCircles.xc":"circles"}  на      "circles": ${"tankrange.xc":"circles"}

в файле currentvehicle.XML  так же должен быть прописан путь res_mods\xvm\configs\@default\tankrange.xc

 

я правильно понимаю?

Share this post


Link to post

Short link
Share on other sites

'to slavian.r (указание адреса файла XC)'

Да, правильно.

 

В принципе можно удалить (или заархивировать) стандартный файл minimapCircles.xc,

а файл мода (tankrange.xc) переименовать в minimapCircles.xc, чтоб потом их не путать

(так как эти файлы выполняют одну функцию и имеют похожее содержимое).

Тогда и в currentvehicle.XML нужно будет указать путь res_mods\xvm\configs\@default\minimapCircles.xc.

Но это вовсе не обязательно. Просто многим нравится название minimapCircles.xc (как в XVM).

 

Проверить (подхватывается ли файл) можно следующим образом. Запустить клиент.

Если неверно указан путь в currentvehicle.XML, и файл не подхватывается модом TankRange, будет выведена соответствующая ошибка в системный канал.

Если неверно указан путь в конфиге XVM, некоторые функции XVM просто перестанут работать (так как конфиг прочитан не полностью).

У меня всегда в таком случае перестает работать Autologin.

 

 

Проблему с отсутствующими окружностями подтверждаю. Возникла только один или два раза за несколько десятков боев

(с периодическими перезапускам клиента, чисткой файла XC), воспроизвести специально ее не получается.

 

Предыстория. В файле XC заданы следующие окружности:

Основные (major)
Показываются всегда. Параметры окружности (цвет, прозрачность, толщина и т.д.,) обычно описываются в месте объявления.

 

'Пример:'

Из стандартного конфига XVM:

"major": [
  { "enabled": true,  "distance": 445, "thickness": 0.75, "alpha": 45, "color": "0xFFCC66" },
  { "enabled": false, "distance": 50,  "thickness": 1,    "alpha": 100, "color": "0xFFFFFF" }
],

Из конфига XVM Tank Range (моего личного - с другими цветами):

"major": [
  {
    "alpha": 30, 
    "color": "0xE0E0E0", 
    "distance": 445, 
    "enabled": true, 
    "thickness": 0.75
  }, 
  {
    "alpha": 20, 
    "color": "0xE0E0E0", 
    "distance": 50, 
    "enabled": true, 
    "thickness": 0.75
  }
],

то же самое в однострочной форме:

"major": [
  { "alpha": 30, "color": "0xE0E0E0", "distance": 445, "enabled": true, "thickness": 0.75  }, 
  { "alpha": 20, "color": "0xE0E0E0", "distance": 50,  "enabled": true, "thickness": 0.75  }
]

 

Специальные (special) (для каждого танка - свои). XVM берет системное название танка (germany-G_Panther) и ищет одноименные записи в "special".
Вместо описания параметров окружности (цвет и т.д.) в месте объявления указывается ссылка на описание (в отдельном объекте), чтоб не повторяться.

 

В XVM ссылка указывает на объект "rangeCircle", а в TankRange ссылка указывает на объекты "circle_artillery",
"circle_binocular", "circle_shell" и "circle_view", вложенные в объект "tankrange".

 

В XVM эти данные записаны вручную (только для артилерии, только для дальности стрельбы).
А XVM Tankrange записывает их автоматически (при выборе танка, добавлении оборудования, смене модулей).

 

'Пример:'

Из конфига XVM:

"special": [
  { "ussr-SU-18":           {"$ref": { "path": "rangeCircle" }, "distance": 500 } },
  { "germany-GW_Mk_VIe":    {"$ref": { "path": "rangeCircle" }, "distance": 850 } },
  { "usa-T57":              {"$ref": { "path": "rangeCircle" }, "distance": 553 } },
  { "france-RenaultBS":     {"$ref": { "path": "rangeCircle" }, "distance": 483 } },
  { "uk-GB25_Loyd_Carrier": {"$ref": { "path": "rangeCircle" }, "distance": 509 } },
]

Из моего конфига TankRange (сразу в однострочной форме):

"special": [
  {"uk-GB77_FV304":       {"$ref": {"path": "tankrange.circle_view"},      "distance": 316.64285714285717} },
  {"uk-GB77_FV304":       {"$ref": {"path": "tankrange.circle_artillery"}, "distance": 499.0} },
  {"germany-PzI_ausf_C":  {"$ref": {"path": "tankrange.circle_view"},      "distance": 352.9117428571428} },
  {"germany-PzI_ausf_C":  {"$ref": {"path": "tankrange.circle_shell"},     "distance": 395.0} }
  {"japan-Chi_To":        {"$ref": {"path": "tankrange.circle_binocular"}, "distance": 450.0} },
  {"japan-Chi_To":        {"$ref": {"path": "tankrange.circle_view"},      "distance": 360.0} }
]

 

И само описание:
 

'Пример:'

Из конфига XVM:

"rangeCircle": { "enabled": true, "thickness": 1, "alpha": 60, "color": "0xEE4444" },

Из моего конфига TankRange (сразу в однострочной форме):

"tankrange": {
  "circle_artillery": { "alpha": 30, "color": "0xFF5C66", "enabled": true, "filled": false, "thickness": 1 },
  "circle_binocular": { "alpha": 30, "color": "0xA2EB5E", "enabled": true, "filled": false, "thickness": 0.75 },
  "circle_shell": { "alpha": 30, "color": "0xFF5C66", "enabled": true, "filled": false, "thickness": 0.75 },
  "circle_view": { "alpha": 30, "color": "0xF0FA64", "enabled": true, "filled": false, "thickness": 0.75 }, 
}

 

Так вот суть проблемы:

- выбирался новый танк (данных о котором в файле XC еще не было),

- при выборе срабатывал мод Tank Range, и данные записывались в файл XC (т.е. буквально в файле присутствовали при его открытии),

- в системном канале присутствовало сообщение мода (обзор, обзор со стереотрубой, дальность стрельбы)

- но при заходе в бой XVM отрисовывал окружности из объекта "major", но не отрисовывал окружности из объекта "special".

- при выходе из боя и повторном заходе (и всех последующих) на этом же танке все необходимые окружности отображаются.

 

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

Но: мод информацию получает и записывает в файл, а XVM файл читает (ведь окружности из "major" отрисовываются).

 

Т.е. либо возникает какая-то ошибка при чтении (тогда почему этой ошибки нет в следующих боях?),

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

 

Какие есть идеи?

 

Я пока что склонен списывать это на проблемы с миникартой XVM.

К примеру, в последних сборках не показываются УГН (проблема наблюдается у других пользователей).

 

За исключением этих единичных случаев, все окружности отображаются. Примеры:

 

'T7 Combat Car (все возможные варианты, описание)'

Окружности порядке увеличения:

- белая - major (засвет по рентгену - 50м)

- желтая - tankrange.circle_view (базовый обзор)

- зеленая - tankrange.circle_binocular (обзор со стереотрубой)

- красная - tankrange.circle_shell (дальность эффективной стрельбы пулемета)

- белая - major (максимальная дальность обнаружения - 445м)

(и белый квадрат 1000x1000)

savDmzJ.png

 

'FV304'

- белая - major (засвет по рентгену - 50м)

- желтая - tankrange.circle_view (базовый обзор)

- белая - major (максимальная дальность обнаружения - 445м)

- красная - tankrange.circle_artillery (дальность стрельбы артиллерии)

TWbs6Ls.png

 

 

 

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

Хотя подозреваю, что он просто ожидал увидеть всплывающие сообщения с обзором, но не увидел,

так как теперь они оказываются в системном канале, не всплывая.

 

Кстати, сообщения в моде выводятся таким образом:

  предварительно подключается класс SystemMessages
from gui import SystemMessages

  сообщения выводятся так:
SystemMessages.pushMessage(msg, type=SystemMessages.SM_TYPE.Information)
SystemMessages.pushMessage(msg, type=SystemMessages.SM_TYPE.Error)

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

Если кто-то знает способ вывода всплывающих сообщений (работающий в текущей версии клиента), поделитесь.

Добавлю его в мод вместо SystemMessages.pushMessage.

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

можете помочь. есть у кого-нибудь готовый конфиг XVM, а то не могу настроить

Share this post


Link to post

Short link
Share on other sites

можете помочь. есть у кого-нибудь готовый конфиг XVM, а то не могу настроить

часа через 3 буду дома все настроить попробую. если все ок - скину

Share this post


Link to post

Short link
Share on other sites

спасибо большое. никак не могу запустить. все установил, но или не работает в игре или игра не запускается

Share this post


Link to post

Short link
Share on other sites

все установил

 

А можно поподробнее? Какие файлы куда и как устанавливал? Какую конкретно версию мода используешь?

Edited by Meddio

Share this post


Link to post

Short link
Share on other sites

можете помочь. есть у кого-нибудь готовый конфиг XVM, а то не могу настроить

попробуй это https://www.dropbox.com/s/by9j0zpl0pfrkvi/xvm_config_by_evil_rrock.rar

после установки xvm.

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

Edited by evil_rrock

Share this post


Link to post

Short link
Share on other sites

Честно говоря, не понимаю, как стирание "special" могло решить проблему (я это делал просто для большей наглядности тестов, а не для борьбы с проблемами).

Все должно работать даже при наличии кучи мусора в "special" - мод убирает старые данные, записывает новые.

Сейчас снова тестировал, и понял следущую штуку: чаще всего 1 бой будет без динамических кругов. После на этой же машине круги будут. Видимо как-то долго считывает, или обновляет данные потому не выводит их сразу... я не очень понимаю, в общем работает как-то со сбоем:((

 

Прочитал коммент #1071 и все понял, в общем все как и написано.

Правда ПТ углы у меня отрисовываются. Только динамические круги не рисуются.

Edited by Mad-Patriot

Share this post


Link to post

Short link
Share on other sites

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

установите последнюю ночную версию XVM, начиная с 3361 ("fixed displaying of elements on minimap").

 

УГН и надписи на миникарте должны появится

 

Есть шанс, что и с окружностями проблема решилась. У меня, по крайней мере, за несколько боев не было случаев отсутствия окружностей.

 

Просьба в случае появления проблемы (если некоторые окружности не отображаются):

- не выходя из боя (до его завершения), свернуть клиент (Win+D, Win+M, Alt+Tab), открыть файл XC

- просмотреть список танков и проверить, отсутствует ли танк в списке "special" (только внимательно)

 

Важно: до захода в бой файл должен быть закрыт (если файл был открыт в редакторе, так как

при двойном клике по файлу может просто показаться уже открытое окно редактора со старой версией файла).

 

Для всех танков должна быть запись, содержащая tankrange.circle_view (базовый обзор).

Для некоторых могут быть записи с:

tankrange.circle_binocular (стереотруба)

tankrange.circle_shell (пулеметчики)

tankrange.circle_artillery (артиллерия)

 

Если танка в списке нет - проблема в Tank Range

Если так в списке есть - проблема в XVM

 

Об ошибке сообщите в этой теме. Не забудьте указать номер ночной версии XVM.

 

 

Если окружности вообще не отображаются (ни в одном бою) - скорее всего проблема в расположении файлов (мод установлен/настроен неправильно).

 

P.S.  Речь идет о свежей версии модаотсюда (с XML) либо отсюда (без XML)

 

 

 

чаще всего 1 (первый?) бой будет без динамических кругов. После на этой же машине круги будут. Видимо как-то долго считывает, или обновляет данные потому не выводит их сразу...

 

Тоже думал о таком "сюжете", но проблему не получается специально воспроизвести таким образом.

Более того я проверил, чем занимается клиент с помощью Process Monitor (от SysInternals).

Обращение к файлу XC происходит сразу же после выбора танка либо смены оборудования.

Нет никаких задержек. Файл XC закрывается еще до того, как клиент отрисовывает новый танк.

 

Т.е. исходя из моих наблюдений, проблема возникала на этапе чтения XVM-ом своего конфига

(уже после того, как Tank Range записал в этот конфиг данные и закрыл/освободил файл)

Edited by Meddio

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