Jump to content
Korean Random
GPCracker

Маркеры направления орудий на миникарте / Minimap Gun Markers

Recommended Posts

на карте вообще пропадают метки баз :)

post-7128-0-75619000-1410657647_thumb.png


пишем:
  <filter>
   <enabled>True</enabled>
   <activated>False</activated>
   <hotKey>KEY_LCONTROL+KEY_X</hotKey>
   <switch>True</switch>
   <tags>
    <tag>ally</tag>
   </tags>
  </filter>
по идее не должно отображать ничего до нажатия кнопок, а показывает направления сразу
или я неправильно логику понял...
  • Upvote 1

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

Сорри, но это фуфлыжный вариант мода, зачем делать подмену класса, когда достаточно подмен отдельных подпрограмм. Не удивительно что с миникартой чудеса начинаются.

Нет там никаких подмен классов. Хуки на методах 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 by GPCracker
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

А те 3 класса, что там присутствуют, реализованы для упрощенного управления маркерами на миникарте.

 

О каком управления маркерами вы говорите. У вас выше заявлен мод на маркеры направления стволов противников. Такой мод это всего три операции:

- добавить маркер когда танк появляется

- убрать маркер когда он исчезает/уничтожен

- синхронизация положения маркера с направлением ствола орудия.

 

А у вас там накручено...

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

О каком управления маркерами вы говорите. У вас выше заявлен мод на маркеры направления стволов противников. Такой мод это всего три операции: - добавить маркер когда танк появляется - убрать маркер когда он исчезает/уничтожен - синхронизация положения маркера с направлением ствола орудия.   А у вас там накручено...

@StranikS_Scan, Не все так просто, как кажется. Для реализации функций фильтрации, включения/отключения, изменения активных фильтров в бою пришлось несколько усложнить систему. Установкой хуков можно получить только эвенты. То есть факт появления, исчезновения и уничтожения техники. Если реализовать фильтрацию сразу, то фильтры будут статичными, и корректно включать/отключать отображение направления орудий например союзной САУ или совзводников во время игры не получится. А если фильтровать "по запросу", то нужно хранить список видимой техники, и динамически его обрабатывать при изменении фильтров или игровом событии. Под это заточен один из классов. Вообще, около половины того кода, который тебе вываливает декомпилятор, это функции, которые добавляются в код релизной версии сборщиком. Треть от того, что осталось - это конфигурация.

Share this post


Link to post

Short link
Share on other sites

@StranikS_Scan, Не все так просто, как кажется. Для реализации функций фильтрации, включения/отключения, изменения активных фильтров в бою пришлось несколько усложнить систему. Установкой хуков можно получить только эвенты. То есть факт появления, исчезновения и уничтожения техники. Если реализовать фильтрацию сразу, то фильтры будут статичными, и корректно включать/отключать отображение направления орудий например союзной САУ или совзводников во время игры не получится. А если фильтровать "по запросу", то нужно хранить список видимой техники, и динамически его обрабатывать при изменении фильтров или игровом событии. Под это заточен один из классов. Вообще, около половины того кода, который тебе вываливает декомпилятор, это функции, которые добавляются в код релизной версии сборщиком. Треть от того, что осталось - это конфигурация.

 

Все ради динамических фильтров? Знаете что вам по советую - не делай огорода с динамическими опциями. Опции это хорошо, но только когда они востребованы. А иначе от них только головная боль. Я когда писал этот мод полгода назад ограничивался только опций вкл/выкл и наложением маркеров углов, поверх или под маркеры техники. И за это время ни кто не высказался в сторону увеличения его опциональности. Лучше бросьте все силы на оптимизацию, она всегда окупается.

ЗЫ: Если будет желание поработать над чем-то более серьёзным, то пиши ;)

Edited by StranikS_Scan
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Оптимизация это хорошо...насколько я помню все прошлые реализации данной идеи были с багами (отсутствие баз, "прыжок" луча взгляда в центр, просадка фпс)

Но и опциональность нужна...я например не хочу читовать, посему взгляд направления врагов мне не очень интересен...

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

Помню Mackt 40 делал мне подобную версию (работала один патч) ваще тема...))

 

Спасибо, кстати, ему большое...и дай Бог здоровья))))))

  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

При zIndexDelta = -100 маркеры стволов попадают на слои маркеров баз, маркеры баз удаляются... При -200 zIndex уходит в минус, маркеры накладываются сверху. Почему, непонятно, скорее всего С шалит.) Попробую поменять эти константы, и запихнуть диапазон где-то 50 слоев между DEAD_VEHICLE_RANGE и VEHICLE_RANGE.

<zIndexDelta>-149</zIndexDelta>

показывает всё :)

Share this post


Link to post

Short link
Share on other sites

-149 показывает всё :)

Ну оно показывает, только не совсем так, как хотелось бы... Маркеры стволов оказываются над маркерами техники...

Пофиксил уже эту проблему... покатаю немного, если все норм, выложу)

 

Upd. рррр.... Именные слои перемещать нельзя, XVM ломается... Видимо все привязано к определенным слоям на уровне флэша. Ну ладно, попробуем по-другому... И блин все собрано на системе костыли-велосипеды, хрен подлезешь все сыпаться начинает...

 

Upd 2. Аккуратно подвинуть (сжать) существующие слои не вариант, падает XVM, причём это сказывается только на нем, игра при таких перестановках работает нормально. Пока ничего работоспособного (с точки зрения XVM), кроме как накладывать маркеры сверху, придумать не удается. Хорошо что они хотя бы полупрозрачные)

Edited by GPCracker

Share this post


Link to post

Short link
Share on other sites

 

 

И блин все собрано на системе костыли-велосипеды, хрен подлезешь все сыпаться начинает...

А Вы начинаете познавать дзен :) 

Share this post


Link to post

Short link
Share on other sites

Обновлено до версии 0.0.2 Beta

- исправлено исчезновение маркеров баз (тест).

Share this post


Link to post

Short link
Share on other sites

Обновлено до версии 0.0.3 Beta

- адаптация под версию клиента 0.9.3 (тестирование).

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Если кто то уже тестировал - отпишитесь plz/ Спасибо. 

 

Раньше пользовался модом от "Урагана" с конфигом от Макс40, но к сожалению в последнем 093 перестал работать...

Share this post


Link to post

Short link
Share on other sites

Раньше пользовался модом от "Урагана" с конфигом от Макс40, но к сожалению в последнем 093 перестал работать...

Только что проверил в реплее - работает, гад. ;)

Share this post


Link to post

Short link
Share on other sites

Только что проверил в реплее - работает, гад. ;)

 

А почему не должно было? Изменения коснулись только кол-ва переменных в showTracer 7-8-9 теперь :)))

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×