Popular Post GPCracker Posted September 13, 2014 Popular Post Share Posted September 13, 2014 (edited) Это официальная тема модификации. This is official topic of the modification. Убедительная просьба не публиковать тестовые сборки (все что не в шапке) за пределами темы. Please do not repost any testing assembly (located not in the first post) elsewhere except this topic. Маркеры направления орудий на миникарте / Minimap Gun Markers Версия клиента: 1.0.0.1Версия мода: 0.1.12Автор: GPCracker Описание: Модификация отображает направление орудий техники специальными маркерами на миникарте в соответствии с настройками в файле конфигурации. Принцип действия: Для игрока существует так называемая "зона отрисовки" - область вокруг некоторой центральной точки (обычно это координаты самого игрока), в которой игрок может видеть союзную и вражескую технику. Всей техники вне этой области, а также незасвеченных танков, для игрового клиента попросту не существует, а значит и информацию о том, куда развернуто орудие, получать просто неоткуда. Что касается отображения маркеров на миникарте, то для всех танков союзников, а также для засвеченных противников, кто находится вне зоны отрисовки, информация о двухмерных координатах на карте передается через отдельный канал связи и пригодна только для отображения обычного маркера на миникарте. Что же касается артиллерии, то для нее в артиллерийском режиме зона отрисовки прикрепляется не к танку, а к прицелу, что позволяет ей видеть технику на другом конце карты... но при этом она не получает информацию о технике рядом с ней. Именно это является причиной пропадания маркеров стоящей рядом с вами союзной артиллерии.Таким образом, маркеры орудий могут быть отображены только для засвеченной техники и только в зоне отрисовки игрока. Установка модификации: Стандартная. Распаковать архив с файлами модификации в папку mods в корневой папке клиента игры. Однако при распаковке необходимо учитывать, что номер версии клиента в архиве может отличаться от актуального, поскольку архивы обновляются только в тех случаях, когда для корректной работы модификации требуется обновление совместимости (иными словами, когда в содержащиеся в архивах файлы вносятся какие-либо изменения). Пользовательские сборки: При необходимости, на свой страх и риск, вы можете собрать модификацию вручную из исходников, опубликованных на GitHub. Данная процедура требует некоторого опыта в работе со скриптами, а также наличия дополнительного программного обеспечения, и подходит только для опытных пользователей. Отчеты об ошибках и добавление функционала: Публикация в данной теме отчетов об ошибках категорически приветствуется, поскольку этим вы помогаете улучшить мод и сделать его более стабильным. Однако подобные сообщения должны соответствовать следующим требованиям. Необходимо указать используемую версию модификации. Сообщение должно содержать подробное описание возникшей ошибки. Сообщение должно содержать последовательность выполненных действий. К сообщению необходимо прикрепить необходимую отладочную информацию (логи). Если ошибка проявляется визуально, к сообщению необходимо прикреплять скриншоты. Все сообщения, не содержащие минимально необходимой информации, будут игнорироваться. Под отладочной информацией (логами) подразумевается файл python.log, расположенный в корневой папке клиента игры. В зависимости от характера ошибки минимально необходимый набор информации может отличаться, но первые два пункта являются обязательными в любом случае. Если вы хотите предложить добавление какого-то дополнительного функционала, в первую очередь стоит убедиться в том, что его не интегрировали ранее и не "забыли" включить в конфиге. Автор не занимается интеграцией в модификацию дополнений, которые можно однозначно охарактеризовать, как функционал для ведения нечестной игры, вносящий в нее серьезный дисбаланс или предоставляющий чрезмерные преимущества игроку. Тестовые версии модификации: В некоторых случаях бывает необходимо привлечение аудитории для проведения тестирования нового функционала либо отдельной версии модификации. В таких случаях создаются специальные тестовые сборки. Их публикация осуществляется исключительно в теме, поскольку предназначены они только для пользователей, регулярно читающих тему, и в шапку темы они загружаться не будут. Редактирование файла конфигурации:Файл конфигурации имеет несколько специфичную кодировку (UTF-8 w/o BOM), поэтому его нельзя редактировать стандартным блокнотом Windows (если вы сохраните этот файл, он будет сохранен в другой кодировке, что сделает его чтение внутри игры невозможным). Для редактирования этого файла нужно использовать профессиональные текстовые редакторы, например Notepad++ или Sublime Text. Работа на общем тесте (World of Tanks Common Test): Автор не занимается сборкой отдельных версий модификации под общий тест. Однако в некоторых случаях возможна публикация необходимых правок в отдельных ветках репозитория. Если данные правки будут актуальны к моменту релиза, они будут интегрированы в основную ветку. Тем не менее, при необходимости вы можете самостоятельно собрать модификацию из соответствующей ветки. Скриншоты модификации: Благодарности:@Xotabych, @Ekspoint, @Slava7572, а также всем, кто принимает участие в тестировании и публикует информативные багрепорты. Edited May 20, 2018 by GPCracker 28 @ Quote Link to comment Short link Share on other sites More sharing options...
VicKing Posted September 14, 2014 Share Posted September 14, 2014 на карте вообще пропадают метки баз :) пишем: <filter> <enabled>True</enabled> <activated>False</activated> <hotKey>KEY_LCONTROL+KEY_X</hotKey> <switch>True</switch> <tags> <tag>ally</tag> </tags> </filter>по идее не должно отображать ничего до нажатия кнопок, а показывает направления сразуили я неправильно логику понял... 1 @ Quote Link to comment Short link Share on other sites More sharing options...
pioner28rus Posted September 14, 2014 Share Posted September 14, 2014 Даже на представленных скриншотах, вражеская база отсутствует. @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted September 14, 2014 Share Posted September 14, 2014 Сорри, но это фуфлыжный вариант мода, зачем делать подмену класса, когда достаточно подмен отдельных подпрограмм. Не удивительно что с миникартой чудеса начинаются. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 14, 2014 Author Share Posted September 14, 2014 (edited) Сорри, но это фуфлыжный вариант мода, зачем делать подмену класса, когда достаточно подмен отдельных подпрограмм. Не удивительно что с миникартой чудеса начинаются.Нет там никаких подмен классов. Хуки на методах Vehicle.startVisual; Vehicle.stopVisual; Vehicle._Vehicle__onVehicleDeath; game.handleKeyEvent; А те 3 класса, что там присутствуют, реализованы для упрощенного управления маркерами на миникарте. Видимо, не до конца дочитал... на карте вообще пропадают метки баз :)Скорее всего происходит совпадение слоев отметок баз и маркеров. А на одном слое не может быть более одного элемента. Покопаю скрипты zIndexManager, посмотрю что и как. М.б. поможет изменение zIndexDelta до -200. Тут не так все просто, миникарта (основа) на С написана. по идее не должно отображать ничего до нажатия кнопок, а показывает направления сразу или я неправильно логику понял...Чтоб понять, почему так, нужна секция displayFilters полностью. Возможно, такое происходит из-за того, что либо техника проходит через другой активный фильтр, либо в пред. бою (на момент выхода из боя) фильтр был активирован. Не исключен так же вариант, что указанная комбинация была нажата например в ангаре (надо будет перенести точку установки хука, куда-нить поближе к AvatarInputHandler). По крайней мере, установка activated = False при просмотре реплея дает ожидаемый результат, изначально маркеры отсутствуют. Upd. Вот диапазоны zIndex для "родных маркеров" Позиции баз начинаются с 0. _BACK_ICONS_RANGE = (25, 49) _DEAD_VEHICLE_RANGE = (50, 99) _VEHICLE_RANGE = (101, 150) _FIXED_INDEXES = {CAMERA_NORMAL: 100, 'self': 151, CAMERA_STRATEGIC: 152, 'cell': 153, CAMERA_VIDEO: 160} При zIndexDelta = -100 маркеры стволов попадают на слои маркеров баз, маркеры баз удаляются... При -200 zIndex уходит в минус, маркеры накладываются сверху. Почему, непонятно, скорее всего С шалит.) Попробую поменять эти константы, и запихнуть диапазон где-то 50 слоев между DEAD_VEHICLE_RANGE и VEHICLE_RANGE. Скорее всего, у миникарты минимум 256 слоев, а используется только 160. Жаль что раньше эти константы на глаза не попадались... Edited September 14, 2014 by GPCracker 1 @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted September 14, 2014 Share Posted September 14, 2014 А те 3 класса, что там присутствуют, реализованы для упрощенного управления маркерами на миникарте. О каком управления маркерами вы говорите. У вас выше заявлен мод на маркеры направления стволов противников. Такой мод это всего три операции: - добавить маркер когда танк появляется - убрать маркер когда он исчезает/уничтожен - синхронизация положения маркера с направлением ствола орудия. А у вас там накручено... 1 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 14, 2014 Author Share Posted September 14, 2014 О каком управления маркерами вы говорите. У вас выше заявлен мод на маркеры направления стволов противников. Такой мод это всего три операции: - добавить маркер когда танк появляется - убрать маркер когда он исчезает/уничтожен - синхронизация положения маркера с направлением ствола орудия. А у вас там накручено... @StranikS_Scan, Не все так просто, как кажется. Для реализации функций фильтрации, включения/отключения, изменения активных фильтров в бою пришлось несколько усложнить систему. Установкой хуков можно получить только эвенты. То есть факт появления, исчезновения и уничтожения техники. Если реализовать фильтрацию сразу, то фильтры будут статичными, и корректно включать/отключать отображение направления орудий например союзной САУ или совзводников во время игры не получится. А если фильтровать "по запросу", то нужно хранить список видимой техники, и динамически его обрабатывать при изменении фильтров или игровом событии. Под это заточен один из классов. Вообще, около половины того кода, который тебе вываливает декомпилятор, это функции, которые добавляются в код релизной версии сборщиком. Треть от того, что осталось - это конфигурация. @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted September 14, 2014 Share Posted September 14, 2014 (edited) @StranikS_Scan, Не все так просто, как кажется. Для реализации функций фильтрации, включения/отключения, изменения активных фильтров в бою пришлось несколько усложнить систему. Установкой хуков можно получить только эвенты. То есть факт появления, исчезновения и уничтожения техники. Если реализовать фильтрацию сразу, то фильтры будут статичными, и корректно включать/отключать отображение направления орудий например союзной САУ или совзводников во время игры не получится. А если фильтровать "по запросу", то нужно хранить список видимой техники, и динамически его обрабатывать при изменении фильтров или игровом событии. Под это заточен один из классов. Вообще, около половины того кода, который тебе вываливает декомпилятор, это функции, которые добавляются в код релизной версии сборщиком. Треть от того, что осталось - это конфигурация. Все ради динамических фильтров? Знаете что вам по советую - не делай огорода с динамическими опциями. Опции это хорошо, но только когда они востребованы. А иначе от них только головная боль. Я когда писал этот мод полгода назад ограничивался только опций вкл/выкл и наложением маркеров углов, поверх или под маркеры техники. И за это время ни кто не высказался в сторону увеличения его опциональности. Лучше бросьте все силы на оптимизацию, она всегда окупается. ЗЫ: Если будет желание поработать над чем-то более серьёзным, то пиши ;) Edited September 14, 2014 by StranikS_Scan 1 @ Quote Link to comment Short link Share on other sites More sharing options...
NooBooL Posted September 14, 2014 Share Posted September 14, 2014 Оптимизация это хорошо...насколько я помню все прошлые реализации данной идеи были с багами (отсутствие баз, "прыжок" луча взгляда в центр, просадка фпс) Но и опциональность нужна...я например не хочу читовать, посему взгляд направления врагов мне не очень интересен... ...а вот куда смотрит союзная арта очень даже полезная инфа. (особенно при игре на светляках)) Помню Mackt 40 делал мне подобную версию (работала один патч) ваще тема...)) Спасибо, кстати, ему большое...и дай Бог здоровья)))))) 3 @ Quote Link to comment Short link Share on other sites More sharing options...
VicKing Posted September 14, 2014 Share Posted September 14, 2014 При zIndexDelta = -100 маркеры стволов попадают на слои маркеров баз, маркеры баз удаляются... При -200 zIndex уходит в минус, маркеры накладываются сверху. Почему, непонятно, скорее всего С шалит.) Попробую поменять эти константы, и запихнуть диапазон где-то 50 слоев между DEAD_VEHICLE_RANGE и VEHICLE_RANGE.<zIndexDelta>-149</zIndexDelta> показывает всё :) @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 15, 2014 Author Share Posted September 15, 2014 (edited) -149 показывает всё :)Ну оно показывает, только не совсем так, как хотелось бы... Маркеры стволов оказываются над маркерами техники... Пофиксил уже эту проблему... покатаю немного, если все норм, выложу) Upd. рррр.... Именные слои перемещать нельзя, XVM ломается... Видимо все привязано к определенным слоям на уровне флэша. Ну ладно, попробуем по-другому... И блин все собрано на системе костыли-велосипеды, хрен подлезешь все сыпаться начинает... Upd 2. Аккуратно подвинуть (сжать) существующие слои не вариант, падает XVM, причём это сказывается только на нем, игра при таких перестановках работает нормально. Пока ничего работоспособного (с точки зрения XVM), кроме как накладывать маркеры сверху, придумать не удается. Хорошо что они хотя бы полупрозрачные) Edited September 17, 2014 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted September 17, 2014 Share Posted September 17, 2014 И блин все собрано на системе костыли-велосипеды, хрен подлезешь все сыпаться начинает... А Вы начинаете познавать дзен :) @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted September 17, 2014 Share Posted September 17, 2014 А Вы начинаете познавать дзен :) Его надо к чему-то привлекать. @ Quote Link to comment Short link Share on other sites More sharing options...
Balanyeza Posted September 17, 2014 Share Posted September 17, 2014 Как дела с обновлением? Очень жду @ Quote Link to comment Short link Share on other sites More sharing options...
lii Posted September 17, 2014 Share Posted September 17, 2014 (edited) Есть ли смысл тратить время на 9.2? 23го релиз... Edited September 17, 2014 by lii @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 20, 2014 Author Share Posted September 20, 2014 Обновлено до версии 0.0.2 Beta - исправлено исчезновение маркеров баз (тест). @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 23, 2014 Author Share Posted September 23, 2014 Обновлено до версии 0.0.3 Beta - адаптация под версию клиента 0.9.3 (тестирование). 2 @ Quote Link to comment Short link Share on other sites More sharing options...
refaol Posted September 27, 2014 Share Posted September 27, 2014 Если кто то уже тестировал - отпишитесь plz/ Спасибо. Раньше пользовался модом от "Урагана" с конфигом от Макс40, но к сожалению в последнем 093 перестал работать... @ Quote Link to comment Short link Share on other sites More sharing options...
MakcT40 Posted September 27, 2014 Share Posted September 27, 2014 Раньше пользовался модом от "Урагана" с конфигом от Макс40, но к сожалению в последнем 093 перестал работать...Только что проверил в реплее - работает, гад. ;) @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted September 27, 2014 Share Posted September 27, 2014 (edited) Только что проверил в реплее - работает, гад. ;) А почему не должно было? Изменения коснулись только кол-ва переменных в showTracer 7-8-9 теперь :))) Edited September 27, 2014 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.