evil_rrock 227 #157020 Posted February 19, 2014 (edited) Zelenogorec, я прошу прощения, обновить шапку ты обновил, но я не уверен, что ничего не перепуталось в ней... Файл брался currentvehicle с tankrange.xc. Хотя если сравнивать эти 2 файла для разных названий конфига, то они идентичны по содержимому, а должны быть разными, ибо в них прописаны пути и названий файлов к которым они идут. У меня вот путь e:\GameS\World of Tanks\res_mods\xvm\tankrange.xc Может я не прав, уточните тогда, что я не так делаю. мог и я ошибиться при заливке файло. на всякий пожарный перезалил currentvehicle_tankrange.rar Отличие архивов - только в наличии загрузчиков CameraNode.pyc и __init__.pyc, почему-то включенных в "currentvehicle с tankrange.xc". Что это за CameraNode, и чем он отличается от традиционного, понять не могу - не получается декомпилировать. загрузчики это из моего архива, просто у меня есть шаблонная директория на машине, часто приходится приятелям скидывать тот, или иной модик, а без загрузчиков сами понимаете. Какую версию currentvehicle взять за основу? берите вариант Yusha http://www.koreanrandom.com/forum/index.php?app=core&module=attach§ion=attach&attach_rel_module=post&attach_id=40248 Edited February 19, 2014 by evil_rrock Quote Share this post Link to post Short link Share on other sites
Zelenogorec 168 #157038 Posted February 19, 2014 (edited) Zelenogorec, я прошу прощения, обновить шапку ты обновил, но я не уверен, что ничего не перепуталось в ней... Файл брался currentvehicle с tankrange.xc. Хотя если сравнивать эти 2 файла для разных названий конфига, то они идентичны по содержимому, а должны быть разными, ибо в них прописаны пути и названий файлов к которым они идут. У меня вот путь e:\GameS\World of Tanks\res_mods\xvm\tankrange.xc Может я не прав, уточните тогда, что я не так делаю. Изиняюсь, я действительно скачал файл по ссылке от evil_rrock и не проверил его. Понадеялся.... Но с кем не бывает.... evil_rrock, on 19 Feb 2014 - 22:53, said: мог и я ошибиться при заливке файло. на всякий пожарный перезалил currentvehicle_tankrange.rar evil_rrock спасибо, файл заменил, предварительно проверив, остальные ссылки тоже исправлю. Edited February 19, 2014 by Zelenogorec Quote Share this post Link to post Short link Share on other sites
st.Archer 18 #157042 Posted February 19, 2014 В файле XML будет, например, такое содержимое: <currentvehicle.xml> <ConfigPath>../xvm/tankrange.xc</ConfigPath> </currentvehicle.xml> Скрипт будет работать так: - если есть файл XML, берем путь из него - проверяем: если по этому пути есть файл конфига, работаем с этим путем - в ином случае работаем с путем по умолчанию (xvm\tankrange.xc) - дальше - без изменений В принципе, это напоминает загрузку конфига самим XVM, что вполне логично смотрится и в моде. Такой вопрос: <ConfigPath>../xvm/tankrange.xc</ConfigPath> - если вместо tankrange.xc прописать minimapCircles.xc, будет брать конфиг из него? Просто такой вариант (если он возможен) вообще бы удовлетворил всех. Quote Share this post Link to post Short link Share on other sites
Zelenogorec 168 #157044 Posted February 19, 2014 (edited) Народ, нужна помощь. Обратите внимание на два последних сполера в шапке. Как только я открываю шапку для правки, то в этих сполерах автоматически добавляется по строчке и чем больше я открываю, тем больше строчек появляется. НО... удалить я их не могу, хотя... я их уже как то удалял. Так и не понял, как получилось. Просто выделил пустые строчки и удалил их. А сейчас там просто нет курсора..... Edited February 19, 2014 by Zelenogorec Quote Share this post Link to post Short link Share on other sites
evil_rrock 227 #157048 Posted February 19, 2014 (edited) Народ, нужна помощь. Обратите внимание на два последних сполера в шапке. Как только я открываю шапку для правки, то в этих сполерах автоматически добавляется по строчке и чем больше я открываю, тем больше строчек появляется. НО... удалить я их не могу, хотя... я их уже как то удалял. Так и не понял, как получилось. Просто выделил пустые строчки и удалил их. А сейчас там просто нет курсора..... при редактировании, после внесения изменений, где требуется бб меню, отключи бб меню, всё будет ввиде текста. нашодишь тэг и вырезаешь пустые строкии тэг там у тебя тоже пустые строки после него Edited February 19, 2014 by evil_rrock Quote Share this post Link to post Short link Share on other sites
Meddio 321 #157059 Posted February 19, 2014 (edited) В принципе, это напоминает загрузку конфига самим XVM, что вполне логично смотрится и в моде. Такой вопрос: <ConfigPath>../xvm/tankrange.xc</ConfigPath> если вместо tankrange.xc прописать minimapCircles.xc, будет брать конфиг из него? Просто такой вариант (если он возможен) вообще бы удовлетворил всех. Конечно же. Для этого и будет существовать XML. Можно будет задавать любое имя и путь. Кстати, откуда лучше начинать путь (для удобства пользователей)? В оригинальном скрипте абсолютный путь к конфигу строится следующим образом: xvm_configuration_file = os.getcwd() + os.sep + 'res_mods' + os.sep + 'xvm' + os.sep + 'configs' + os.sep + 'minimapCircles.xc' Т.е. начинается все с корневого каталога игры (например, C:\Games\World_of_Tanks\), к которому добавляется относительный путь (в данном случае: res_mods\xvm\configs\minimapCircles.xc) Я предлагаю в XML начинать путь с папки \res_mods\xvm\. Тоесть на примере существующих версий мода это могут быть такие строчки в XML: <ConfigPath>tankrange.xc</ConfigPath> или <ConfigPath>configs/minimapCircles.xc</ConfigPath> или даже внутри какого-то пользовательского конфига: <ConfigPath>configs/Meddio/minimapCircles.xc</ConfigPath> Так подходит? Или все же брать уровень выше (от \res_mods\), чтоб пользователи могли хранить конфиг где-то в дебрях \res_mods\0.8.11\? Такой вариант мне не очень нравится (т.к. нужно редактировать файл XML при смене версии клиента). С другой стороны, если начинать путь с папки игры, путь будет более полным и понятным. Примеры: <ConfigPath>res_mods/xvm/tankrange.xc</ConfigPath> <ConfigPath>res_mods/xvm/configs/minimapCircles.xc</ConfigPath> При такой схеме будет возникать меньше вопросов, и построение пути не будет нуждаться в комментариях. Edited February 19, 2014 by Meddio 2 Quote Share this post Link to post Short link Share on other sites
STR853 2 #157079 Posted February 19, 2014 мог и я ошибиться при заливке файло. на всякий пожарный перезалил currentvehicle_tankrange.rar Изиняюсь, я действительно скачал файл по ссылке от evil_rrock и не проверил его. Понадеялся.... Но с кем не бывает.... evil_rrock, on 19 Feb 2014 - 22:53, said: мог и я ошибиться при заливке файло. на всякий пожарный перезалил currentvehicle_tankrange.rar evil_rrock спасибо, файл заменил, предварительно проверив, остальные ссылки тоже исправлю. Благодарю вас, господа) Quote Share this post Link to post Short link Share on other sites
NickVor 7 #157111 Posted February 19, 2014 (edited) Какую версию currentvehicle взять за основу? Вот эту. Самый что ни есть оригинальный исходник. Качай zip,переводи правь. Только желательно использовать всю папку мастер (не придется править compiler.py для компиляции) Только не качай из релизов, там скрипт currentvehicle.py без последних правок. Edited February 19, 2014 by NickVor Quote Share this post Link to post Short link Share on other sites
st.Archer 18 #157112 Posted February 19, 2014 С другой стороны, если начинать путь с папки игры, путь будет более полным и понятным. Примеры: <ConfigPath>res_mods/xvm/tankrange.xc</ConfigPath> <ConfigPath>res_mods/xvm/configs/minimapCircles.xc</ConfigPath> При такой схеме будет возникать меньше вопросов, и построение пути не будет нуждаться в комментариях. На мой взгляд, самый оптимальный вариант: в нем отображена папка res_mods, а к ней уже все привыкли, знают где она лежит, и большинство с минимальными вопросами смогут правильно расположить и прописать свой конфиг. Quote Share this post Link to post Short link Share on other sites
Dakasik 610 #157122 Posted February 19, 2014 (edited) Кстати, откуда лучше начинать путь (для удобства пользователей)? При такой схеме будет возникать меньше вопросов, и построение пути не будет нуждаться в комментариях. А что тут думать и гадать, путь должен быть как в дефолтном XVM... res_mods/xvm/configs/@Default/minimapCircles.xc Edited February 19, 2014 by Dakasik Quote Share this post Link to post Short link Share on other sites
Meddio 321 #157128 Posted February 19, 2014 (edited) Готово. Постарался максимально сократить код, сделав его при этом легко читаемым. Распространять можно в виде трех файлов: 0.8.11\scripts\client\currentvehicle.pyc 0.8.11\scripts\client\currentvehicle.xml xvm\tankrange.xc "Из коробки" работает обычным образом. При необходимости перемещения/переименования файла XC нужно сделать соответствующие правки в файле currentvehicle.xml и в конфиге XVM (ссылка "circles"). Никакая декомпиляция, правка исходного кода и повторная компиляция больше не требуется. Логика такая: - ЕСЛИ рядом с файлом currentvehicle.pyc есть currentvehicle.xml - И в файле currentvehicle.xml есть секция ConfigPath (открывающий и закрывающий тег) - И в качестве значения ConfigPath указан путь реально существующего файла Значит, в качестве конфига мод будет использовать этот файл. Во всех остальных случаях мод будет пытаться использовать жестко прописанный файл по адресу xvm\tankrange.xc (т.е. работать как раньше). Дальше все работает так, как задумал автор мода: если жестко прописанного файла нет, выдается ошибка. Есть некоторое право на ошибку пользователя: путь, заданный в XML чистится от окружающих пробелов, слеши приводятся к одному формату, лишние слеши убираются. Т.е. все следующие записи будут приведены к одному формату: <ConfigPath>\res_mods\xvm\tankrange.xc</ConfigPath> <ConfigPath> res_mods\xvm\tankrange.xc </ConfigPath> <ConfigPath>res_mods/xvm/tankrange.xc</ConfigPath> В XML можно добавить любые комментарии, переименовать корневой элемент. Путь в XML задается относительно папки клиента (например: C:\Games\World_of_Tanks\). Все следующие варианты работают: res_mods\xvm\tankrange.xc res_mods\xvm\configs\minimapCircles.xc res_mods\xvm\configs\Meddio\minimapCircles.xc res_mods\tankrange.xc res_mods\0.8.11\tankrange.xc Целесообразны только первые три. Но тем не менее. Изменения внесены в версию от Yusha, предложенную выше evil_rrock (сравнение - во вложении). Блок кода специально сделал таким, чтоб можно было легко вставлять в любую версию скрипта при обновлении. 'Для этого нужно' в конец любой строчки, начинающейся со слова "Import" в начале файла, добавить: , ResMgr И сразу после строчки: xvm_configuration_file = os.getcwd() + os.sep + 'res_mods' + os.sep + 'xvm' + .................... добавить вот этот код: xml = ResMgr.openSection('scripts/client/currentvehicle.xml') if xml is not None: xml_userpath = xml.readString('ConfigPath') if xml_userpath: xml_fullpath = os.path.normpath(os.getcwd() + os.sep + xml_userpath) if os.path.exists(xml_fullpath): xvm_configuration_file = xml_fullpath Сообщения (в системный канал) об отсутствии файлов и ошибках чтения XML (и прочую отладочную информацию) я решил убрать (из моего кода). Будет спрос - верну. Разумеется, этот вариант мода не претендует на замену оригинального. Это просто небольшая альтернатива, позволяющая менять расположение/имя файла конфигурации, не редактируя скомпилированный питоновский скрипт. XVM Tank Minimap Ranges v1.9 XML.zip Comparison_Yusha_Meddio.htm Edited February 20, 2014 by Meddio 4 Quote Share this post Link to post Short link Share on other sites
evil_rrock 227 #157129 Posted February 19, 2014 (edited) Готово. Постарался максимально сократить код, сделав его при этом легко читаемым. Распространять можно в виде трех файлов: 0.8.11\scripts\client\currentvehicle.pyc 0.8.11\scripts\client\currentvehicle.xml xvm\tankrange.xc"Из коробки" работает обычным образом. При необходимости перемещение/переименования файла XC нужно сделать соответствующие правки в файле currentvehicle.xml и в конфиге XVM (ссылка "circles"). Никакая декомпиляция, правка исходного кода и повторная компиляция больше не требуется. Логика такая: - ЕСЛИ рядом с файлом currentvehicle.pyc есть currentvehicle.xml - И в файле currentvehicle.xml есть секция ConfigPath (открывающий и закрывающий тег) - И в качестве значения ConfigPath указан путь реально существующего файла Значит, в качестве конфига мод будет использовать этот файл. Во всех остальных случаях мод будет пытаться использовать жестко прописанный файл по адресу xvm\tankrange.xc (т.е. работать как раньше). Дальше все работает так, как задумал автор мода: если жестко прописанного файла нет, выдается ошибка. Есть некоторое право на ошибку пользователя: путь, заданный в XML чистится от окружающих пробелов, слеши приводятся к одному формату, лишние слеши убираются. Т.е. все следующие записи будут приведены к одному формату: <ConfigPath>\res_mods\xvm\tankrange.xc</ConfigPath> <ConfigPath> res_mods\xvm\tankrange.xc </ConfigPath> <ConfigPath>res_mods/xvm/tankrange.xc</ConfigPath>В XML можно добавить любые комментарии, переименовать корневой элемент. Путь в XML задается относительно папки клиента. Все следующие варианты работают: res_mods\xvm\tankrange.xc res_mods\xvm\configs\minimapCircles.xc res_mods\xvm\configs\Meddio\minimapCircles.xc res_mods\tankrange.xc tankrange.xc res_mods\0.8.11\tankrange.xcЦелесообразны только первые три. Но тем не менее. Изменения внесены в версию от Yusha, предложенную выше evil_rrock (сравнение - во вложении). Блок кода специально сделал таким, чтоб можно было легко вставлять в любую версию скрипта при обновлении. "Для этого нужно" в конец любой строчки, начинающейся со слова "Import" в начале файла, добавить: , ResMgrИ сразу после строчки: xvm_configuration_file = os.getcwd() + os.sep + 'res_mods' + os.sep + 'xvm' + ....................добавить вот этот код: xml = ResMgr.openSection('scripts/client/currentvehicle.xml') if xml is not None: xml_userpath = xml.readString('ConfigPath') if xml_userpath: xml_fullpath = os.path.normpath(os.getcwd() + os.sep + xml_userpath) if os.path.exists(xml_fullpath): xvm_configuration_file = xml_fullpath Сообщения (в системный канал) об отсутствии файлов и ошибках чтения XML (и прочую отладочную информацию) я решил убрать (из моего кода). Будет спрос - верну. Разумеется этот вариант мода не претендует на замену оригинального. Это просто небольшая альтернатива. позволяющая менять расположение/имя файла конфигурации, не редактируя скомпилированный питоновский скрипт. грандиозно! Edited February 19, 2014 by evil_rrock 1 Quote Share this post Link to post Short link Share on other sites
Meddio 321 #157131 Posted February 19, 2014 (edited) грандиозно! Когда несколько опытных пользователей проверят, и все будет работать без ошибок, будет грандиозно. А пока - скромный AS IS При проверке: - отключить (переместив в другую папку) свою версию мода - закинуть в папку res_mods содержимое архива (кстати, надо было наверное включить ее в архив, но это косметические мелочи - потом исправлю) - убедиться, что Ваш конфиг XVM ссылается на этот файл (исправить ссылку при необходимости) - запустить клиент, пощелкать танки в карусели (должно появляться сообщение с дальностью обзора/стрельбы справа) - зайти в бой - если все работает как раньше, переименовать/переместить файл XC, исправить ссылку на него в XML и в конфиге XVM, протестировать снова. Edited February 19, 2014 by Meddio 1 Quote Share this post Link to post Short link Share on other sites
evil_rrock 227 #157132 Posted February 19, 2014 (edited) Когда несколько опытных пользователей проверят, и все будет работать без ошибок, будет грандиозно. А пока - скромный AS IS проверю, но уже завтра. P.S. владельцам однофайлового конфига один чёрт лезть конфиг Edited February 19, 2014 by evil_rrock Quote Share this post Link to post Short link Share on other sites
Meddio 321 #157133 Posted February 19, 2014 (edited) P.S. владельцам однофайлового конфига один чёрт лезть конфиг Ну в данном случае владельцы однофайловых ничуть не отличаются от владельцев многофайловых. И у тех, и у других мод работает с отдельным файлом, на который нужно поставить ссылку (у первых - в общем файле, у вторых - в minimap.xc) "Несправедливость" будет только когда/если StranikS_Scan займется модом и сделает, чтоб он работал напрямую с конфигом XVM. Владельцам однофайловых конфигов в этом случае придется мириться либо с дополнительным файлом, либо с длинной простыней танков прямо в однофайловом конфиге. Edited February 19, 2014 by Meddio Quote Share this post Link to post Short link Share on other sites
Dakasik 610 #157134 Posted February 19, 2014 Когда несколько опытных пользователей проверят, и все будет работать без ошибок, будет грандиозно. А пока - скромный AS IS При проверке: - отключить (переместив в другую папку) свою версию мода - закинуть в папку res_mods содержимое архива (кстати, надо было наверное включить ее в архив, но это косметические мелочи - потом исправлю) - убедиться, что Ваш конфиг XVM ссылается на этот файл (исправить ссылку при необходимости) - запустить клиент, пощелкать танки в карусели (должно появляться сообщение с дальностью обзора/стрельбы справа) - зайти в бой - если все работает как раньше, переименовать/переместить файл XC, исправить ссылку на него в XML и в конфиге XVM, протестировать снова. Дело мастера боится!!! Больше разговоров было... Потестил, все работает как раньше, багов замечено не было. Спасибо огромное за труд!!! Все просто супер!!! Quote Share this post Link to post Short link Share on other sites
evil_rrock 227 #157136 Posted February 19, 2014 "Несправедливость" будет только когда/если StranikS_Scan займется модом и сделает, чтоб он работал напрямую с конфигом XVM. ну тем и отличаются сообщества, от компаний разработчиков, что прислушиваются к гласу народа. продукт выходит не только какчественным, но и удобным Quote Share this post Link to post Short link Share on other sites
Meddio 321 #157137 Posted February 19, 2014 Дело мастера боится!!! Больше разговоров было... Потестил, все работает как раньше, багов замечено не было. Спасибо огромное за труд!!! Все просто супер!!! А конфиг перемещали/переименовывали? ну тем и отличаются сообщества, от компаний разработчиков, что прислушиваются к гласу народа. продукт выходит не только какчественным, но и удобным или перегруженным всем, что нужно и ненужно. есть такой опыт )) А несправедливости по отношению к владельцам однофайловых конфигов избежать не получится, как бы этот "народ не голосил" (параметры танков ведь нужно где-то хранить). Либо отдельный файл, либо увеличенный размер существующего. Quote Share this post Link to post Short link Share on other sites
Dakasik 610 #157138 Posted February 19, 2014 (edited) А конфиг перемещали/переименовывали? Да перемещал и переименовывал... Edited February 19, 2014 by Dakasik Quote Share this post Link to post Short link Share on other sites
Meddio 321 #157141 Posted February 19, 2014 (edited) Ну, будем надеяться, что у всех будет работать хорошо. Потенциальные проблемные варианты: - точно возникает ошибка, если нахимичить в имени ConfigPath (его обрабатывает специальный парсер, который такого не прощает, да и не должен) - если переместить файл XC, но не обновить ссылку в конфиге XVM, всеми любимый комплексный мод не будет работать (весь или частично), так как секция "circles" будет ссылаться в никуда. - если файла XC нет ни по адресу, указанному в файле XML, ни по стандартному адресу "xvm\tankrange.xc", конфиг не загрузится (загружаться ведь нечему) Перечисленные проблемы очевидны и могут произойти только по вине невнимательного пользователя, легко исправляются при изучении его папки xvm и двух файлов currentvehicle (PYC и XML) Edited February 19, 2014 by Meddio Quote Share this post Link to post Short link Share on other sites