Jump to content
Korean Random
GPCracker

Мод подсветки контуров техники / Edge Detect Mod

Recommended Posts

Публикация данного мода в иных источниках без согласия автора запрещается.
The publication of this modification elsewhere without the consent of the author is prohibited.

Это официальная тема модификации. Подписывайтесь, чтобы получать обновления в числе первых!
This is modification official topic. Subscribe to receive updates among the firsts!




post-21078-0-33946700-1404413937_thumb.jpg

Версия клиента: 0.9.13
Версия мода: 0.1.0
Автор: GPCracker

Описание:
Модификация может изменять произвольным образом цвета, режимы и условия подсветки контуров. С помощью данной модификации можно назначить произвольный цвет и режим отрисовки контура любой техники, в зависимости от выполнения для нее некоторых условий. К примеру, сменить цвет контуров союзников, противников, подсветки контура своего танка, когда его не видно (скажем, заехали в кусты), возможно задать другой цвет контура, скажем, совзводным, тимкиллерам или даже определенному классу техники. Также возможна подсветка контуром цели, захваченной в автоприцел, что временами тоже может быть полезно.

Важно:
Часть функционала мода по разным на то причинам отключена полностью или частично в файле конфигурации. При необходимости, отредактировав этот файл, вы можете активировать или изменить режим работы некоторых модулей данного мода. Все изменения в файле конфигурации вы производите на свой страх и риск.

Принцип работы мода:
В момент, когда меняется состояние каждого танка, например, он засвечивается, исчезает, попадает в прицел, умирает и т.д. для него составляется при помощи некоторого набора функций набор тегов. Эти теги описывают состояние танка в момент после происхождения события. В файле конфигурации пользователями создается некоторый набор фильтров. У каждого из этих фильтров может быть несколько групп тегов. В каждой группе тегов имеется "положительный" (эти теги должны присутствовать у анализируемого танка) и "отрицательный" (этих тегов у танка быть не должно). Все остальные теги во внимание не принимаются. Соответственно, если выполняется данное условие хотя бы для одной из групп фильтра, условие фильтра считается выполненным, и техника проходит через фильтр. У каждого фильтра может быть задана одна или несколько настроек контуров. Настройка контура состоит из индекса цвета (его индекс в группе цветов, считая первый цвет нулевым) и режима отрисовки контура. Соответственно, контура с такими настройками добавляются к каждому танку, прошедшему через фильтр. Т.е. задавая группы тегов и настройки контуров для фильтра можно определить, какая техника и какие контура получит. Кроме того, состоянием активности каждого фильтра можно управлять "горячими клавишами", т.е. можно отключить или наоборот включить подсветку контуров определенной группы техники прямо в бою.

Ограничения:
- Не поддерживается более 4 цветов. Это ограничение движка игры. 4й цвет нужно использовать осторожно, он не задуман изначально для контуров танков и используется где-то еще. Краша не будет, но какой-нибудь объект может "неправильно раскраситься". Поэтому четвертым цветом нужно либо оставлять белый, либо использовать близкий к нему цвет.
- Доступно только 3 режима отрисовки: полный контур (режим 0), контур за препятствием (режим 1, на большом расстоянии может некорректно работать), контур видимого участка (режим 2). Контуром обводится либо весь танк целиком, либо видимые (т.е. все пиксели на мониторе, которые принадлежат танку)/невидимые (скрытые за различными объектами) его участки. Сделать контур по "границе простреливаемости" невозможно (это механизм движка игры).
- Нельзя создавать фильтры без групп тегов. Они не будут корректно работать.
- Нельзя создавать конфликтные группы тегов. Т.е. один и тот же тег не может быть в "положительном" и "отрицательном" наборе одновременно.
- Группы тегов фильтра должны быть заданы таким образом, чтобы один и тот же танк ни при каких адекватных обстоятельствах не мог пройти сразу два фильтра.
Нарушение хотя бы одного из данных ограничений приводит как минимум к внутренней ошибке мода и багам в течение боя (последние три пункта), нарушение первых двух может вызвать краш клиента. Изменяйте конфиг осторожно и тестируйте его на реплее перед выходом в бой.

Список доступных тегов:
'alive', 'ally', 'teamkiller', 'squad', 'player', 'target', 'autoaim'
+ теги класса техники ('lightTank', 'mediumTank', 'heavyTank', 'SPG', 'AT-SPG')
Список может обновляться в зависимости от версии мода.

Установка модификации:
Стандартная. Распаковать папку res_mods в корневую папку игры.
Загрузчики в комплекте не поставляются. Если у вас их нет (это два файла scripts/client/CameraNode.pyc и scripts/client/mods/__init__.pyc), вам необходимо загрузить и установить их отдельно. Они общие для всех модов в папке scripts/client/mods.

Кастомные сборки:
В теме публикуются только достаточно стабильные версии модификации. На свой страх и риск вы можете вручную собрать версию, находящуюся на тестировании из репозитория. В результате сборки будут сгенерированы все необходимые файлы, остановка осуществляется стандартным образом. Данная процедура требует некоторого опыта в работе с Python скриптами и подходит только для опытных пользователей.

Bug report and feature request (отчеты об ошибках и запрос функционала):
Автор приветствует публикацию в теме отчетов об ошибках стабильных версий, поскольку этим вы помогаете улучшить мод и сделать его более стабильным. Однако отчет (как его называют программисты, bug report) должен содержать необходимую техническую информацию об ошибке, если таковая является ошибкой в работе кода. Таковой информацией в первую очередь является лог Python. Он хранится в корневой папке игры под названием python.log. В некоторых случаях его бывает вполне достаточно. Иногда требуются скриншоты и подробное описание ошибки, а также способа ее получения. Все зависит от конкретной ситуации, но отсутствие логов Python в отчете очень часто и значительно затрудняет отладку бага. Поэтому к любому отчету об ошибке необходимо прикреплять этот файл, или его часть, в которой описывается данная ошибка. Надеюсь, вы отнесетесь с пониманием и не будете пренебрегать этим простым правилом.
Обращаю ваше внимание на то, что необходимо указывать версию мода в отчете об ошибке.
Если вы используете кастомную сборку, необходимо указывать по состоянию на какой коммит вы ее собрали. Перед этим необходимо убедиться в отсутствии в соответствующей ветке новых коммитов, исправляющих данную ошибку. Подобные отчеты целесообразнее отправлять через систему личных сообщений.
Если вы хотите предложить добавление какого-то дополнительного функционала, в первую очередь стоит убедиться в том, что его не интегрировали раньше и не "забыли" включить в конфиге. Далее необходимо подробно описать сам функционал, или эффект, который он должен давать. Автор не занимается интеграцией в мод дополнений, которые можно однозначно охарактеризовать, как функционал для ведения нечестной игры и запрещенный на всех кластерах WoT (мод не ориентирован на конкретный кластер).

Редактирование файла конфигурации:
Файл конфигурации имеет несколько специфичную кодировку (UTF-8 w/o BOM), поэтому его нельзя редактировать стандартным блокнотом Windows (если вы сохраните этот файл, он будет сохранен в другой кодировке, что сделает его чтение внутри игры невозможным). Для редактирования этого файла нужно использовать профессиональные текстовые редакторы, например Notepad++ или Sublime Text.

Проверка версии клиента при запуске:
Поскольку мод тестируется и отлаживается на конкретной версии игрового клиента, автор не может быть уверен в том, что мод будет корректно работать после очередного обновления. Поэтому мод проверяет соответствие версии клиента той, под которую мод собран. Если версия не совпадает, запуск мода и установка хуков происходить не будут. При этом вместо нормального сообщения о загрузке будет сообщение о несовместимости.
Однако не всегда обновления клиента "ломают" мод. Иногда старая сборка вполне стабильно работает и после обновления. Поэтому в мод интегрирована возможность отключения данной проверки. Для этого необходимо изменить соответствующий параметр в файле конфигурации. Запуск мода в таком режиме вы осуществляете на свой страх и риск. Неопытным пользователям перед применением такой правки рекомендуется дождаться отчета о стабильности от более опытных пользователей, поскольку результат запуска может быть абсолютно различным вплоть до вылета или зависания клиента в самый неподходящий момент.

Работа мода на тестовом клиенте (WoT CT):
Автор не занимается сборкой релизных версий под общий тест. Однако в некоторых случаях возможна публикация необходимых правок в отдельных ветках репозитория. Если данные правки будут актуальны к моменту релиза, они будут интегрированы в основную ветку. Тем не менее, вы можете самостоятельно собрать мод из тестовой ветки под клиент общего теста.

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

Скриншоты мода:
post-21078-0-91944400-1411654170_thumb.jpgpost-21078-0-67815600-1411654171_thumb.jpgpost-21078-0-56922100-1411654172_thumb.jpgpost-21078-0-23202000-1411654173_thumb.jpgpost-21078-0-89699400-1411654173_thumb.jpg

Скачать:
Библиотека X-Mod необходима для работы мода.
EdgeDetect.zip
XModLib.zip

История версий:
0.0.1 Beta [02.07.2014]
- адаптация под версию клиента 0.9.1

0.0.2 Beta [25.09.2014]
- мод полностью пересобран
- добавлены специальные параметры для продвинутых пользователей (управление задержкой инжекта, игнор версии клиента и т.д.)
- описание параметров конфигурации теперь в самом файле конфигурации
- изменены имена некоторых параметров конфигурации.
- со старым файлом конфигурации мод работать не будет (либо будет работать некорректно)
- адаптация под версию клиента 0.9.3

0.0.3 Beta [08.11.2014]
- адаптация под версию клиента 0.9.4
- исправлена ошибка, когда контур текущей цели не удалялся после её уничтожения
- исправлена ошибка, когда сбрасывались настройки цветов контура

0.0.4 Beta [24.12.2014]
- адаптация под версию клиента 0.9.5

0.0.5 Beta [24.04.2015]
- адаптация под версию клиента 0.9.7
- структура мода переработана
- кодировка файла конфигурации изменена с windows-1251 на UTF-8 w/o BOM
- добавлены подсветка контура для цели в автоприцеле

0.1.0 Release [29.01.2016]
- мод полностью переписан, перенесен на новую версию X-Mod.
- библиотека X-Mod теперь является необходимым внешним модулем, а не интегрируется в мод (по техническим причинам).
- полностью переработана система сборки и архитектура мода.
- миграция репозитория (обновление является созданием репозитория "с нуля", а не изменениями к предыдущему, это обусловлено слишком большой разницей между версиями).
- полностью заменены все ключевые алгоритмы работы мода.
- полностью переработан файл конфигурации.

Благодарности:
@snechinskij, @a9b2, @reg45, @StranikS_Scan, @refaol
Отдельная благодарность @vasbelous, @snechinskij, @Scharfhobel, @refaol за помощь в тестировании и отладке релиза 0.1.0. Edited by GPCracker
  • Upvote 18

Share this post


Link to post

Short link
Share on other sites

очень неудобно смотреть скрины по одному на стороннем ресурсе. Их можно прикрепить непосредственно к сообщению на форум

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Их можно прикрепить непосредственно к сообщению на форум

Ограничение на размер изображений. В сообщение вставить не получится... А прикрепить файлом могу.

Share this post


Link to post

Short link
Share on other sites

 

 

Ограничение на размер изображений

Сделай их поменьше (PS, Paint &..) 

Share this post


Link to post

Short link
Share on other sites
Ограничение на размер изображений. В сообщение вставить не получится...

 

Нет такого ограничения. А вообще лучше в JPG сохранять, тогда будет весить намного меньше)

 

А прикрепить файлом могу.

 

Ну так и надо)

Edited by Krab Age

Share this post


Link to post

Short link
Share on other sites

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

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

Я правильно понял?

<root>
	<modEnabled>True</modEnabled> <!--Состояние мода. False - выкл.-->
	<modStartupMessage>Мод подсветки контуров техники загружен.</modStartupMessage> <!--Собщение при загрузке мода-->
	<edgeHighlight>
		<color0>127 127 127 255</color0> <!--Свой цвет-->
		<color1>255 18 7 255</color1> <!--Цвет противников-->
		<color2>124 214 6 255</color2> <!--Цвет союзников-->
		<selfColorIndex>0</selfColorIndex> <!--Индекс цвета своего танка-->
		<selfHideVisibleContour>True</selfHideVisibleContour> <!--Подсветка своего контура. True - только скрытой части за препятствием, False - полностью-->
		<friendHideVisibleContour>False</friendHideVisibleContour> <!--Подсветка контура союзников. True - только скрытой части за препятствием, False - полностью-->
		<friendColorIndex>-1</friendColorIndex> <!--Индекс цвета для танков союзников-->
		<targetFriendHideVisibleContour>False</targetFriendHideVisibleContour> <!--Подсветка контура союзников в прицеле. True - только скрытой части за препятствием, False - полностью-->
		<targetFriendColorIndex>2</targetFriendColorIndex> <!--Индекс цвета для танков союзников в прицеле-->
		<enemyColorIndex>-1</enemyColorIndex> <!--Индекс цвета для танков противника-->
		<enemyHideVisibleContour>False</enemyHideVisibleContour> <!--Подсветка контура противников.True - только скрытой части за препятствием, False - полностью-->
		<targetEnemyColorIndex>1</targetEnemyColorIndex> <!--Индекс цвета color1  для танков противника в прицеле-->
		<targetEnemyHideVisibleContour>False</targetEnemyHideVisibleContour> <!--Подсветка контура противников в прицеле.True - только скрытой части за препятствием, False - полностью-->
	</edgeHighlight>
</root> 

 

Еще не мешало бы в конфиг добавить ссылку http://html-color-codes.info/#HTML_Color_Picker

 

------------------------------------------------------------------------------------------------------------------------------------------

 

Можно реализовать подсветку как намалевал на скрине?

Т.е. различный цвет контура с разделительной линией.

post-17199-0-82430000-1404586498_thumb.jpg

Edited by BoBaH 13
  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

Я правильно понял?

<root>
	<modEnabled>True</modEnabled> <!--Состояние мода. False - выкл.-->
	<modStartupMessage>Мод подсветки контуров техники загружен.</modStartupMessage> <!--Собщение при загрузке мода-->
	<edgeHighlight>
		<color0>127 127 127 255</color0> <!--Свой цвет-->
		<color1>255 18 7 255</color1> <!--Цвет противников-->
		<color2>124 214 6 255</color2> <!--Цвет союзников-->
		<selfColorIndex>0</selfColorIndex> <!--Индекс цвета своего танка-->
		<selfHideVisibleContour>True</selfHideVisibleContour> <!--Подсветка своего контура. True - только скрытой части за препятствием, False - полностью-->
		<friendHideVisibleContour>False</friendHideVisibleContour> <!--Подсветка контура союзников. True - только скрытой части за препятствием, False - полностью-->
		<friendColorIndex>-1</friendColorIndex> <!--Индекс цвета для танков союзников-->
		<targetFriendHideVisibleContour>False</targetFriendHideVisibleContour> <!--Подсветка контура союзников в прицеле. True - только скрытой части за препятствием, False - полностью-->
		<targetFriendColorIndex>2</targetFriendColorIndex> <!--Индекс цвета для танков союзников в прицеле-->
		<enemyColorIndex>-1</enemyColorIndex> <!--Индекс цвета для танков противника-->
		<enemyHideVisibleContour>False</enemyHideVisibleContour> <!--Подсветка контура противников.True - только скрытой части за препятствием, False - полностью-->
		<targetEnemyColorIndex>1</targetEnemyColorIndex> <!--Индекс цвета color1  для танков противника в прицеле-->
		<targetEnemyHideVisibleContour>False</targetEnemyHideVisibleContour> <!--Подсветка контура противников в прицеле.True - только скрытой части за препятствием, False - полностью-->
	</edgeHighlight>
</root> 

<color0>,<color1>,<color2>  это просто варианты цвета, это не жесткое закрепление за собою, противниками или союзниками

назначаете цвет Вы сами прописывая в <...ColorIndex> вышеуказанные 0,1,2 или -1

Выставив в союзниках и противниках 0 будут оба отображаться цветом указанным в <color0>

 

GPCracker добавьте пожалуйста еще 2 варианта цвета <color3> и <color4>

Если просто добавляю эти строки в конфиг, то мод перестает работать (наверное это очевидно, но я по простоте душевной попробовал).

Upd. Извините, увидел в Вашем сообщении что: "Более 3 цветов не поддерживается движком игры." Жаль.

 

И еще один момент, при желаемых настройках происходит следующее:

Навожу прицел на союзника - контур меняет свой цвет - работает; перевожу прицел на другого союзника, тот тоже меняет цвет - работает; но вот прежний не меняет цвет своего контура на первичный.

То есть, поиграя в пятнашки на старте, весь бой вижу союзников с контуром <targetFriendColorIndex> вместо первичного <friendColorIndex>

 

Можно ли сделать так, что бы при отведении прицела от танка (<targetFriendColorIndex>) цвет контура возвращался к изначальному (<friendColorIndex>)?

Вариации настроек этого не позволяют.

Edited by Stare
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Можно реализовать подсветку как намалевал на скрине?

 

...читом попахивает)))))

  • Downvote 2

Share this post


Link to post

Short link
Share on other sites

И еще один момент, при желаемых настройках происходит следующее:

Навожу прицел на союзника - контур меняет свой цвет - работает; перевожу прицел на другого союзника, тот тоже меняет цвет - работает; но вот прежний не меняет цвет своего контура на первичный.

То есть, поиграя в пятнашки на старте, весь бой вижу союзников с контуром <targetFriendColorIndex> вместо первичного <friendColorIndex>

 

Можно ли сделать так, что бы при отведении прицела от танка (<targetFriendColorIndex>) цвет контура возвращался к изначальному (<friendColorIndex>)?

Вариации настроек этого не позволяют.

Я такой проблемы не наблюдаю (точнее этот "вариант" учитывался при разработке мода). Он ДОЛЖЕН меняться обратно. Возможно это частная ошибка в других хуках на метод targetBlur. Могу предположить, что то же самое происходит и с противниками. Дело в том , что все хуки на метод выполняются последовательно, то есть ошибки  в одном моде могут вызывать ошибки в другом. Нужно смотреть лог питона. См. Багрепорт. Однозначно без этого файла ничего сказать не могу.

Share this post


Link to post

Short link
Share on other sites

Зачем нужен мод если можно отредактировать файл scripts_config.xml и положить res_mods\0.9.1

Share this post


Link to post

Short link
Share on other sites

Зачем нужен мод если можно отредактировать файл scripts_config.xml и положить res_mods\0.9.1

Мод, как и прочие аналогичные моды, позволяет отображать и менять цвета контуров техники не только при наведении прицела.

Просто редактирование "цветов" в scripts_config.xml, без каких либо скриптов, этого не позволит.

Edited by Stare

Share this post


Link to post

Short link
Share on other sites

Все равно непонятно. Контур подсвечивается как раз при наведении прицела. Или мод постоянно подсвечивает контуры всей техники?

Share this post


Link to post

Short link
Share on other sites

Все равно непонятно. Контур подсвечивается как раз при наведении прицела. Или мод постоянно подсвечивает контуры всей техники?

Без подобных модов подсвечивается только при наведении на технику.

С подобными модами появляется вариативная возможность подсветки контуров техники и без наведения на неё прицела.

Иногда полезно знать, что нажав F7 и ринувшись на противника, помощи от союзника не поступит ибо тот, спрятавшись за домиком, зачем то разглядывает парящих над союзной базой птиц, а не контролит врага.

Share this post


Link to post

Short link
Share on other sites

Под 9.2 пока могу только попробовать перекомпилить версию 0.0.1 Beta, без дебага (не на чем дебажить). Нормальная версия будет где-то в начале сентября, когда у меня будет нормальный комп.
0.0.1 Beta, перекомпилированная под 0.9.2. Без дебага (изменена только требуемая версия клиента и все).
Edge Detect Mod.zip

  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

На оф. форуме подкинули идею. Подсвет контуров ТРУПОВ за препятствиями на некотором расстоянии в некотором секторе по курсу танка. Дабы на лт не влетать в стоящие за холмом/в кустах трупы (типа камикадзе). Не знаю пока, получится ли реализовать, но в общем как вам такая идея?

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

На оф. форуме подкинули идею. Подсвет контуров ТРУПОВ за препятствиями...

Мне лично не надо. Мод позволяет настроить цвет/альфу контура врага и когда этот контур отображается. Мне достаточно.

Твой мод на РФЧ

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.

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