Jump to content
Korean Random

Улучшенная система прицеливания / Advanced Aiming System


GPCracker

Recommended Posts

it just shooting where you aimed, no bouncing.

Sometimes I think I really don't understand what you mean as "bouncing".

As long as you use aim distance correction (as a solution to overpass, when shell goes just above the target instead of hitting it), there appears another collateral problem - gun marker drawing.

Gun marker (this name is also used in WG game scripts) is a calculated expected 3D collision point, that is projected on your screen as a marker with recalculated dispersion on a distance to this collision point.

So, when you move an aiming point (point, you specify with the crosshairs, some sort of invisible aiming laser) closer to your tank, to a place where enemy is expected to be, game found nothing in its place (for game client invisible tank does not exist at all) so normally ballistic collision test passes through this place and uses a far point beyond enemy expected position on a far hill or skybox. So, because of gravity, if shell misses the enemy, it will fly farther and there will be a falldown lower than expected enemy position and aiming point, so gun marker (or its projection on screen plane) will also be lower than crosshairs.

This effect while using a correction is a little annoying because it is hard to determine if gun is stabilized if gun marker is lower than crosshairs, and sometimes may be even off screen, if zoom is too high and gun has arty-like trajectory. We prefer it to be centered, of course. This problem was also known as "gun marker dropdown", and fixing this problem (centering the marker) was mentioned as "community decision". An optimal solution to implement this request was creating an "invisible wall" (mathematical object in ballistic calculation for a gun marker), which makes GM collision test algorithm "see" an "invisible target" you want to hit. Distance to this wall is equal to locked distance. That is the trick mentioned as "gun marker fix". So, this approach makes gun marker be drawn at the crosshairs position even in correction mode, but... there is a transition process I mentioned before. When correction is engaged or disengaged, this wall appearance and aiming point movement are instant, but gun should also be relocated, and this process takes some time. Like reactive components in electronics, capacitors and inductors. So, at the first few seconds (normally not more than a second or two) gun marker instantly jumps or drops then smoothly comes back to the center of crosshairs.

This transition process could also be seen when moving crosshairs from far object to close and back, for example you hide beyond a building on the one side of a map and aim at the building first then on far side skybox and vice versa - the reason is the same - instant distance change and slow gun movement. It could not be fixed, it is a collateral issue of whole WG aiming system where you specify an aiming point and gun elevation line is aligned to fit these aiming conditions.

 

What about the Server GM - I need to analyse algorithm of its calculation and transmission to client... However I suppose server just send a point on non-corrected (far) distance, so my patch not working for SGM (Server Gun Marker). It is only my thoughts by now and this information still need to be confirmed or refuted.

And what about correction and mod's working - training room has shown that a patch ago problem, mod originally was designed to solve (overpass while shooting at invisible or fast enemies), was still intact.

 

Upd. I have looked through WG scripts... Gun marker control is a crazy stuff, but my fix (gun marker dropping fix mentioned before) should apply server and client markers both.

Edited by GPCracker
Link to comment
Short link
Share on other sites

Hey GPCracker....

 

Okay, so I finally stopped being lazy and have Demo'ed a couple of examples of the problem for you of your mod not working fully for like the last 2 years at least, when it used to work perfectly, these issues NOT occurring when your mod first came out.....

 

 

Both videos this issue occurs with BOTH your mod installed, and your mod not installed, PMOD is removed, and just using games Zoom for 0.9.17.1.

Also, the first video you see the "bounce" right before the shot, that's what happens when the tank is being going on and off from, and at a horizon not only when shooting.  BTW I don't have Dynamic Camera enabled, so it's not that.

 

The 2nd video I've played the EXACT position on the 0.9.18 Test Server, and did the EXACT test, and the "bouncing/dropping" doesn't occur AT ALL, so it seems they might have fixed the problem.

But again, I don't know if the issue will still occur at all with the Server Reticle yet, as it currently does slightly more pronounced when using it on 0.9.17.1.

And like I mentioned, I've played at least 50 games on the Test Server, and I haven't noticed a "single" instance of the bouncing/dropping reticle problem as has always occurred with .17 and previous.

 

Again, these examples didn't used to occur anymore when your mod first came out, it fixed every instance of "bouncing/dropping" problem of the reticle, but at some point after, your mod broke, and these issues came back.  It seemed it worked some still in certain ways, but not fully, as I show here, your mods installed but the issue still occurs.

 

Anyway, likely might not have to do much if anything, as we see what happens with .18, it seems they may have fixed the issue finally, and maybe your mod may no longer be needed.

Like I said, that second video, I've done the same test on .18, and the drop/bounce doesn't occur at all, the reticle stays where it should just as when you're pointing at the building or ground.

Edited by leeuniverse
Link to comment
Short link
Share on other sites

@leeuniverse, first drop reason seems to be a target lost... IFAIK you have disabled GUI, so it is hard to determine it for sure. But gun marker instantly dropped, and this could happen when distance instantly changed from middle range to far, like it happens when target is lost and correction is disengaged. You have been moving your crosshairs in front of a target, but looks like you haven't been targeted it, so target may be lost after few seconds. Non-direct scanners like BBox or BEps were developed at least as a solution to target loosing problem - target size could be mathematically increased and target is being supported for not being lost if you track it by crosshairs nearby. I have posted some pictures in this topic about what is the BBox and BEps before, when I was developing this features.

Second drop on himmelsdorf could have one of two reasons. First - manual aim correction on objects (distance to objects locked) when moved to sky with no gun marker correction module. However, if you haven't used a lock at this time... there could be another reason - sky problem by WG. I don't remember a full story, but in training room I also had this issue. IFRC that was an small error in WG code calculating gun marker position if maximum distance of shot (720m AFAIK) is exceeded. I will find it when I have more free time.

 

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

 

Upd. Это просто 3,14 какой-то. Собираю архив с "правильным сжатием" (точнее его отсутствием) при помощи питона - ругается. Все параметры вроде ок, размеры соответствуют, проверку на целостность проходит...

 

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

Edited by GPCracker
  • Upvote 2
Link to comment
Short link
Share on other sites

You might not want to do anything with the mod yet till we see the results of 0.9.18.....

So far, it doesn't do ANY of those problems the video showed, so let's wait I guess till we see the final result of .18 to see if some things have changed.

 

Or maybe you can test .18 Test Server yourself, for example, go into a Custom Match with someone and test the Himmelsdorf bug.

Like I mentioned, I tested it myself on .18 in a game or two, and it doesn't occur.

Edited by leeuniverse
Link to comment
Short link
Share on other sites

0.2.4 Alpha (XModLib v0.1.5) [14.04.2017]

- обновлена система присвоения версий сборкам, теперь версии генерируются git describe.

- обновлена система проверки совместимости библиотеки с текущей версией модификации.

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

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

- немного улучшен формат макросов, используемых при сборке.

- добавлены файлы метаданных для пакетов.

 

Как понятно из патчноута, данное обновление чисто техническое, никакого дополнительного функционала добавлено не было.

Тест проводится исключительно с целью проверки работоспособности мода после внедрения некоторых важных технических обновлений и, самое главное, перехода на пакеты.

 

AdvancedAimingSystem_v0.2.4.zip

XModLib_v0.1.5.zip

 

Думаю тут уже всем известно, что без XModLib мод работать не будет.

Edited by GPCracker
  • Upvote 8
Link to comment
Short link
Share on other sites

0.2.4 Alpha (XModLib v0.1.5) [14.04.2017]

- обновлена система присвоения версий сборкам, теперь версии генерируются git describe.

- обновлена система проверки совместимости библиотеки с текущей версией модификации.

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

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

- немного улучшен формат макросов, используемых при сборке.

- добавлены файлы метаданных для пакетов.

 

Как понятно из патчноута, данное обновление чисто техническое, никакого дополнительного функционала добавлено не было.

Тест проводится исключительно с целью проверки работоспособности мода после внедрения некоторых важных технических обновлений и, самое главное, перехода на пакеты.

 

attachicon.gifAdvancedAimingSystem_v0.2.4.zip

attachicon.gifXModLib_v0.1.5.zip

 

Думаю тут уже всем известно, что без XModLib мод работать не будет.

Спасибо. Утащил тестить.

И текст грузиться...

Link to comment
Short link
Share on other sites

В общем, написал еще немного кода :) Очередной тест, иными словами.

Изменения относительно прошлого билда:

1. Как всегда немного прибрался в коде, в частности обновил список хоткеев в файлах конфигурации, их там заметно прибавилось. На всякий, если я вдруг что пропустил там лишнее, любая клавиша должна начинаться на KEY_ все, что начинается на что-то другое использовать в качестве хоткея нельзя.

2. Исправил старые баги в плагине расширенной подстановки при захвате цели в автоприцел. Вернул плагин обратно в билд. Надеюсь, что случайно не добавил там новых багов :)

3. Вернул обратно старую фичу, тоже в виде плагина - подстановку при определении цели для радиального меню и зависимых от него быстрых команд по хоткею. Для обоих плагинов приходится городить некоторые костыли, ибо красиво туда попросту не подлезть.

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

 

Ну и само собой, файлы:

attachicon.gifXModLib.zip

attachicon.gifAdvancedAimingSystem.zip

 

Обьясните ПЖ если не сложно как Вам удалось из AdvancedAimingSystem сделать архив  :que:  

Открыл его как зип а в нем еще 4 файла ...

Edited by Serfer_78
Link to comment
Short link
Share on other sites

Обьясните ПЖ если не сложно как Вам удалось из AdvancedAimingSystem сделать архив  :que:

Открыл его как зип а в нем еще 4 файла ...

 

post-188170-0-83303700-1490814285.pdf

 

И еще проще на пальцах - папку с файлами добавляешь в архив но степень сжатия ставить без сжатия и с расширением ZIP

post-188170-0-13753200-1490819345.png

затем в полученном архиве БЛАБЛАБЛА.zip  меняешь надпись zip на wotmod

Edited by SergFR
  • Upvote 2
Link to comment
Short link
Share on other sites

Открыл его как зип а в нем еще 4 файла ...

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

 

@SergFR, первое, это немного не в тему, второе - дока устаревшая, новую можно взять здесь.

Edited by GPCracker
  • Upvote 1
Link to comment
Short link
Share on other sites

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

 

@SergFR, первое, это немного не в тему, второе - дока устаревшая, новую можно взять здесь.

Спасибо, а библиотеку можно вместе с модом упаковать, чтоб  в 1 пакете всё было?

Link to comment
Short link
Share on other sites

Обьясните ПЖ если не сложно как Вам удалось из AdvancedAimingSystem сделать архив  :que:

Открыл его как зип а в нем еще 4 файла ...

 

attachicon.gifpost-188170-0-83303700-1490814285.pdf

 

И еще проще на пальцах - папку с файлами добавляешь в архив но степень сжатия ставить без сжатия и с расширением ZIP

post-188170-0-13753200-1490819345.png

затем в полученном архиве БЛАБЛАБЛА.zip  меняешь надпись zip на wotmod

 

Спасибо за оперативность все понятно и доходчиво , плюсанул . :no1:

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

 

@SergFR, первое, это немного не в тему, второе - дока устаревшая, новую можно взять здесь.

 

Шикарный материал будем изучать! 

Link to comment
Short link
Share on other sites

Спасибо, а библиотеку можно вместе с модом упаковать, чтоб  в 1 пакете всё было?

Не можно, точнее не нужно. Библиотека она на то и библиотека. Сейчас даже проще стало, т.к. файлов стало меньше, и они не раскиданы по папкам.

Кстати, вполне логичный вопрос, который пока не появился, но в скором времени наверняка будет - как патчить файлы, которые внутри пакета?

Либо патчить их внутри пакета (неправильный метод, ибо менять сам пакет неправильная политика, но работать должен, если со сжатием сделать все правильно), либо создать файл в res_mods/<client>/ (res_mods/<client>/ эквивалентно res/ внутри пакета, см. доку от разрабов, я скидывал ссылку пару постов назад), файлы res_mods/<client>/ переопределяют содержимое пакетов.

Да, кстати, кто еще не заметил - конфиги переместились и немного изменились внутри. Парамеры те же, по сравнению со старым вариантом, но пути оверрайда изменились.

  • Upvote 1
Link to comment
Short link
Share on other sites

         Здравствуйте!

 

Давно не играл и решил вспомнить былое. А тут многое что поменялось.

 

Большое спасибо, что не забрасываете крайне полезный мод!

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

 

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

И второе: можно ли в gui.xml сделать и настройку размера шрифта сообщений? А то для меня немного великовато.

 

Огромное спасибо за труды!
С праздником! Здоровья вам и вашим близким!

Link to comment
Short link
Share on other sites

иногда глючит, но это и раньше такое было, если интересно могу прислать типовые ошибки

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

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

Все работает, просто включить в конфиге надо. Поведение его несколько странновато временами, но вроде как стреляет с ним нормально. Пока еще тестим, поэтому отключено в конфиге, чтобы новички, кто еще не в теме, не выпали в осадок. Кому надо - знает где включить (з.ы. все там же, в настройках аркадного режима проставить для ручного и автоматического enable True).

И второе: можно ли в gui.xml сделать и настройку размера шрифта сообщений? А то для меня немного великовато.

Настройки шрифтов и текста производятся в файле локализации. Для патча нужно вытащить из пакета файл res/text/lc_messages/AdvancedAimingSystem.mo и положить его в res_mods/<patch>/text/lc_messages/AdvancedAimingSystem.mo, где он лежал раньше, просто извлечь, вносить изменения в пакет не нужно.

Далее все по старинке, берем архив с gettext и пользуемся батниками, или заходим на какой-нить сайтик, который умеет *.mo в *.po конвертить и обратно. Конвертим, редактируем *.po все тем же текстовым редактором, что и конфиг (но точно не виндовым блокнотом), конвертим обратно в mo, кидаем в указанный путь в res_mods (если не конвертил на месте). Перезагружаем клиент игры (реплей никто не отменял).

Главное не забудь потом подкорректировать размеры панелек в конфиге, они подгоняются под текст руками.

Да, gettext можно взять здесь. Используется посредством перетягивания файла на нужный батник. Более-менее подробно про локализации есть здесь. Там же есть и сами батники в архиве под одним из спойлеров.

Edited by GPCracker
  • Upvote 1
Link to comment
Short link
Share on other sites

   Спасибо за ответы! Всё стало более-менее ясно.

 

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

 

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

 

Возникали они не в бою, а в боевом обучении (tutorial) (сначала там все моды тестирую). Когда в него заходишь, то пропадают все панельки, прицел, и не работает меню выхода. Голый танк и природа вокруг. :)

 

Происходит это не сразу: зашёл, честно вышел из обучения, вышел из игры, снова запустил игру, снова заходим в обучение и получаем "пряник".

 

Такое ощущение, что где-то мусор какой-то копится... Т.к., если после этого удалить кэш туториала, то всё снова заработает. Но на время. Потому как, если снова зайдём-выйдем - "чудо" возвращается.

 

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

Да, если оставить "кривое" сведение и не ставить ваш мод, то тоже всё работает. В общем, это или конфликт модов или какое-то накопление ошибок/мусора (ибо не с первого раза).

 

Короче, если будет интересно, вечером скину и свои настройки по AAS и прицел и сведения к нему (2 хороших и 2 плохих) + логи ошибок.

 

 

Все работает, просто включить в конфиге надо. Поведение его несколько странновато временами, но вроде как стреляет с ним нормально. Пока еще тестим, поэтому отключено в конфиге, чтобы новички, кто еще не в теме, не выпали в осадок. Кому надо - знает где включить (з.ы. все там же, в настройках аркадного режима проставить для ручного и автоматического enable True).

 

Ясно. А то по форуму пробежался и у меня сложилось обратное впечатление. Поэтому и не стал включать. Думал, что будет глючить.

Значит, всё в порядке, будем дальше проверять. :)

 

По поводу шрифтов тоже всё ясно. Будет время - перековыряю.

 

         Ещё раз - Спасибо!!!

 

 

P.S.: Как и обещал, прикладываю архив с моими настройками, и файл с логами. Мои настройки.rar

Edited by The_Pluto
Link to comment
Short link
Share on other sites

Явные ошибки в скрипте прицелов. Возможно, старая версия.

 

Мод из самого свежего мод-пака Юши.

 

Поискал в И-нете на тему этой ошибки:

ERROR:   File "mod_sight.py", line 242, in __inject

ERROR: NameError: global name 'CrosshairsAPIPlugin' is not defined

 

Эта ошибка идёт от мода мod_sight (mod_sight.pyc, ПроТанки). И весьма давно... Видимо, там или не до конца сделана "заглушка" или кусок вяло текущей недоработки. Похоже, что AAS даёт какую-то информацию (или запускает событие), а мод от Протанков (в компании с отдельными сведениями, которые могут с ним взаимодействовать) пытается её (или его) обработать в своём методе-обрубке и виснет...

 

Вывод: или убирать mod_sight.pyc (protankiSights.wotmod), оставляя только флэшки (пока не починят, как это сделано на WotSite) или использовать нормальные прицелы... Или сделать, как я - найти рабочую комбинацию прицела и сведения.

Edited by The_Pluto
Link to comment
Short link
Share on other sites

Обьясните ПЖ если не сложно как Вам удалось из AdvancedAimingSystem сделать архив  :que:

Открыл его как зип а в нем еще 4 файла ...

 

attachicon.gifpost-188170-0-83303700-1490814285.pdf

 

И еще проще на пальцах - папку с файлами добавляешь в архив но степень сжатия ставить без сжатия и с расширением ZIP

post-188170-0-13753200-1490819345.png

затем в полученном архиве БЛАБЛАБЛА.zip  меняешь надпись zip на wotmod

 

GPCracker меня правильно понял ... я спрашивал про хитрое склеивание файлов) С его помощью посредством программки "HxD" все получилось. А как паковать в .wotmod  я сразу вкурил. Но тем не менее СпС )))

Это официальная тема модификации.

This is official topic of the modification.

Убедительная просьба не публиковать тестовые сборки (все что не в шапке) за пределами темы.

Please do not repost any testing assembly (located not in the first post) elsewhere except this topic.

"Правила для репостов"

1. Версии модификации, опубликованные в шапке, могут свободно использоваться и распространяться. Запрещено использование модификации в коммерческих целях.

2. Любой репост должен содержать ссылку на официальную тему, также необходимо указать автора модификации (GPCracker).

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

4. По возможности необходимо также размещать описание модификации.

5. Использование в модпаках оговаривается отдельно.

Улучшенная система прицеливания / Advanced Aiming System


Версия клиента: 0.9.13

Версия мода: 0.1.1

Автор: GPCracker

 

Описание:

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

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

Данный мод не является автоприцелом или чем-то подобным, поскольку изменяется только расчетное удаление цели, но не сам вектор наведения, т.е. весь процесс прицеливания полностью остается под контролем игрока. Мод ничего не выцеливает и упреждение по цели не считает, его действие аналогично внесению поправок на удаление цели в снайперской оптике (IRL). Точка прицеливания (точнее ее проекция на плоскость монитора) всегда находится в центре прицельной сетки.

В моде также имеется дополнительный функционал. Описание можно найти под соответствующим спойлером или в патчноутах обновлений.

 

Важно:

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

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

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

 

Захват цели:

Прямого отношения к игровому автоприцелу данный модуль не имеет, т.к. используется только внутри модификации.

Исходя из потребности в информации, необходимой для различного рода корректировок и т.д. мод захватывает, т.е. запоминает цель. Захват происходит только внутри мода, ни на какие другие процессы вне мода это прямо не влияет. С помощью различных алгоритмов мод может получать некоторые данные об этой цели, показывать их пользователю или использовать в качестве параметров для других алгоритмов. Модуль захвата цели может использовать другие модули, например различные алгоритмы захвата и может быть использован другими модулями, например модулем корректировки дальномера. Часть информации о захваченной цели отображается в соответствующем GUI.

Корректировка дальномера:

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

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

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

Маркер орудия напрямую с камерой и прицельной сеткой не связан, он является результатом баллистического коллижн-теста для текущего положения орудия. Говоря простым языком, он показывает трехмерную точку, в которой снаряд, если в данный момент произвести выстрел, столкнется с баллистически значимым объектом. При расчете маркера орудия учитывается именно положение орудия, а не камеры игрока, и именно баллистическая, т.е. навесная траектория (она аппроксимируется до "ломаной кривой"). Связь между точкой прицеливания и орудием (маркер орудия это вещь вторичная) устанавливается следующим образом - орудие всегда стремится довернуться так, чтобы снаряд прошел максимально близко (разброс здесь не учитывается, он выражается рандомным радиусом и углом отклонения в полярной системе координат от оси орудия в момент выстрела) к точке прицеливания (конкретные алгоритмы могут незначительно отличаться), насколько это позволяют лимиты ориентации орудия. Поэтому если точка прицеливания находится не на ближайшем объекте, а просто "висит в воздухе", маркер орудия может проваливаться (если точка ближе) или наоборот подниматься (если точка за объектом). Первый случай более частый, и для его визуальной корректировки используются специальные алгоритмы, подробнее можно узнать, почитав немного тему.

Вернемся к теме корректировки дальномера после пояснения сущности некоторых происходящих в игре вещей. Как уже было упомянуто выше, стандартная система прицеливания WoT использует для определения расстояния коллижн-тест на пересечение луча камеры (тот самый "невидимый лазер") со статическими (карта) или динамическими (техника) объектами, способными оказать влияние на снаряд (кусты и деревья не учитываются). Но поскольку в некоторых случаях в том месте, куда игрок хочет выстрелить, ничего нет (танк туда еще не доехал или исчез из засвета), коллижн-тест вернет точку на далекой горе или скайбоксе. Соответственно, для стрельбы будет использоваться более высокая траектория, что и провоцирует перелет.

Данная проблема решается путем корректировки дистанции до точки прицеливания, и вместо результата коллижн-теста используется простой векторный расчет, при котором точка прицеливания будет находиться все так же в центре прицельной сетки, но на требуемом удалении от игрока. Модуль корректировки может либо захватывать дистанцию в ручном режиме, т.е. запоминать дистанцию до текущей точки прицеливания, и корректировать положение точки прицеливания при последующих ее расчетах, либо определять дистанцию автоматически до последнего известного положения цели, захваченной модулем захвата цели. Ручная корректировка имеет приоритет над автоматической. Методика ручной корректировки довольно проста - наводимся камерой (переводить пушку необязательно) на точку, расстояние до которой примерно соответствует тому, на которое мы собираемся стрелять, захватываем расстояние и переводимся в точку, куда нужно стрелять. Сделав выстрел или серию выстрелов, сбрасываем блокировку расстояния. Поведение модуля корректировки дальномера может быть изменено в файле конфигурации.

Корректировка абсолютной высоты:

В артиллерийском режиме камера смотрит сверху вниз, но алгоритм расчета точки прицеливания практически не отличается. Все так же берется точка - результат коллижн-теста луча камеры и объектов на карте. Разница с аркадным и снайперским режимом заключается в том, что результирующая точка находится на середине между двумя коллижн-тестами - с учетом техники и без такового. Т.е. если в прицеле ничего нет, точка прицеливания будет на земле (середина нулевого отрезка). Если в прицеле есть танк - на середине между точкой на земле под танком и точкой на самом танке. Это позволяет стрелять в танк, а не по касательной в его крышу или под него (вероятность попадания при стрельбе в верхний край танка, как и в нижний, меньше, чем при стрельбе в середину, что вполне очевидно)

Но такой алгоритм не позволяет стрелять по целям, прикрытым чем-либо сверху (различные мосты, вокзал на химках) - результаты коллижн-теста будут возвращать точку на крыше, а стрелять нужно в танк под ней. У таких "крыш" стены бывают не всегда, что чисто логически подразумевает возможность попадания в танк. Для выполнения подобного выстрела нужно сместить точку прицеливания под крышу. Метод довольно простой - наводимся на точку, абсолютная высота которой примерно равна высоте в той точке, куда мы хотим выстрелить, захватываем высоту, переводимся куда нужно, делаем выстрел или серию выстрелов, удерживая блокировку, по окончании стрельбы ее можно сбросить. Поведение модуля корректировки высоты может быть изменено в файле конфигурации.

Автоматическая корректировка относительной высоты:

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

Установка модификации:

Стандартная. Распаковать папку res_mods в корневую папку игры. При отсутствии в комплекте необходимых загрузчиков (это два файла scripts/client/cameranode.pyc и scripts/client/mods/__init__.pyc), вам необходимо загрузить и установить их отдельно. Они общие для всех модов в папке scripts/client/mods. Также возможна установка в scripts/client/gui/mods/, но при этом необходимо переименовать скрипт и основной файл конфигурации, добавив в начало необходимый для работы из этой папки префикс (mod_), таким образом, чтобы основное имя (не считая т.н. "расширения") обоих файлов осталось одинаковым.

 

Пользовательские сборки:

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

 

Bug report and feature request (отчеты об ошибках и запрос функционала):

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

Если мод ведет себя нестабильно, наблюдаются какие-то необычные явления, или в логе (файл python.log в корне игры, нужно периодически проверять его содержимое, если вы хотите стабильной работы игры) появляются записи с заголовком "Traceback (most recent call last):", и тем более в больших количествах, будет целесообразно отписать об этом в теме, прикрепив файл python.log к сообщению, или (только для опытных пользователей) блок сообщения об ошибке. Сообщения, не содержащие технической информации об ошибке, либо подробного ее описания, а так же действий, которые привели к данной ошибке (если ошибка возникает при выполнении определенной последовательности действий) рассматриваться не будут. В некоторых случаях могут потребоваться скриншоты. Надеюсь, вы отнесетесь с пониманием и не будете пренебрегать этими простыми правилами при публикации отчетов об ошибках.

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

Правильно заданный вопрос - это половина ответа.

 

Редактирование файла конфигурации:

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

 

Работа мода на тестовом клиенте (WoT CT):

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

 

Тестовые версии:

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

 

Скриншоты мода:

R23f3RSz9z_thumb.jpg

AXD6vl6EEN_thumb.jpg

TU4jNM8P1x_thumb.jpg

WxGjO13v27_thumb.jpg

Скачать:

Библиотека X-Mod необходима для работы мода.

AdvancedAimingSystem.zip

XModLib.zip

 

История версий:

0.0.1 Beta [19.06.2014]

- адаптация под версию клиента 0.9.1

 

0.0.2 Beta [25.06.2014]

- исправлены мелкие ошибки.

- добавлен автосброс цели, захваченной автоматически при наведении, если она не захватывалась повторно в течение некоторого времени targetAutoLockResetTimeout - для аркадного+снайперского и арт-режима настраивается отдельно.

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

- при пропадании из засвета захваченной цели теперь запоминается точка пропадания из засвета (ранее мод просто отключался до повторного засвета).

- для арты в аркадном режиме прицеливания добавлен параметр enableAutoLockForSPG - отдельное разрешение / запрет автозахвата цели.

 

0.0.3 Beta [29.06.2014]

- исправлен "провал сведения" при захвате малой дистанции и наведении на далекий объект (пробная версия).

- исправлена ошибка с автозахватом цели в аркадном/снайперском режиме при игре на ПТ-САУ.

 

0.0.4 Beta [03.07.2014]

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

 

0.0.5 Beta [03.07.2014]

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

- добавлены дополнительные опции конфига (для опытных пользователей).

- изменен формат макросов текста, теперь как у XVM (необходимо обновить конфиг).

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

- описание параметров конфигурации теперь в самом файле конфигурации.

- исправлен цвет текстовых элементов (в 0.9.3 разрабы отключили свойство colour).

- автозахват теперь не сбрасывает цель при ручном захвате.

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

- добавлен снайперский режим для артиллерии.

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

 

0.0.6 Beta [08.11.2014]

- адаптация под версию клиента 0.9.4

- добавлена возможность рентген-захвата цели

 

0.0.7 Alpha, 0.0.8 Alpha [**.**.2015]

- адаптация под новые версии игрового клиента.

- добавлено большое количество нового функционала в тестовом режиме.

- подробную историю можно посмотреть в постах этих версий.

 

0.1.0 Release [23.12.2015]

- мод полностью переписан, перенесен на новую версию X-Mod.

- оптимизировано большое количество функционала, изменена логика его работы.

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

- исправлены некоторые мелкие баги.

- полностью переработан файл конфигурации.

- полностью переработано форматирование макросов.

- добавлено большое количество мелких добавлений и улучшений.

- улучшена точность некоторых расчетов.

- внесено несколько улучшений в работу "артоснайперского" режима.

- полностью переработана система сборки и архитектура мода.

- библиотека X-Mod теперь является необходимым внешним модулем, а не интегрируется в мод (по техническим причинам).

- выпилены несколько нерабочих модулей.

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

 

0.1.1 Release [29.01.2015]

- обновление совместимости под новую версию библиотеки X-Mod.

- добавлена возможность инверсии нажатия клавиш (обработчик клавиатуры).

- унифицированы некоторые моменты при обработке клавиатуры, упрощена структура конечного кода.

- упрощены и унифицированы некоторые моменты на уровне установки хуков.

- задержка при установке хуков больше не использует BigWorld.callback().

- добавлен контроль версий библиотеки X-Mod. Мод будет загружаться только на поддерживаемых версиях библиотеки.

Благодарности:

@StranikS_Scan, @MakcT40, @refaol, @Scharfhobel, @vasbelous, @magiksky709, @i31, @snechinskij, @lii, а также всем, кто принимает участие в тестировании и публикует информативные багрепорты.

Отдельная благодарность @vasbelous, @snechinskij, @Scharfhobel за помощь в тестировании и отладке релиза 0.1.0; +@refaol - 0.1.1.

 

 

Можно ли как то вывести в лог или в файл информацию которую выдает  AimingInfo.py , а именно данные по танку в прицеле , с питоном пока на вы так как кодил в основном на Autoit и малость на Pascal.

Edited by Serfer_78
Link to comment
Short link
Share on other sites

Hey GPCracker.....

 

So, .18 Official Release no longer has the "bouncing/dropping" reticle, like I show in the above video.  I tested it in a custom match on Himmelsdorf.

I haven't yet seen it occur in ANY other situation, just like I didn't on the .18 Test Server.

 

They've apparently fixed it.  You mod may no longer be required?

Link to comment
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...