Jump to content
Korean Random
█XlebniDizele4ku

[Миникарта] Дистанция дальнобойности арты

Recommended Posts

Господа, поделился тут на форуме WoT своей идеей. А потом покопался и понял, что мне сюда :)

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

А у меня идея еще вот какая:

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

В ветке на форуме народ приводит формулы для расчета скрытности вашего танка и для расчета обзора врага. Естественно, враги разные, видят по разному. Да и ваш танк стоя/в движении/при выстреле имеет разную маскировку. Поэтому круг нужен динамический во время боя. Т.е. нужно научиться XVM-у самому это рассчитывать, а не доп.средствами.

От чего зависит размер круга:

  1. поведение вашего танка
  2. обзорность врагов

Если с п.1 всё ясно (там, правда, надо еще учитывать, что после выстрела/движения должно пройти время, за которое танк уходит из засвета), то с п.2 придется применять вероятностную модель: если кратко, то при входе в бой нам (ну и алгоритму мода, который должен всё просчитывать) известен состав вражеской команды (модели танков). Мы не знаем, какие там перки-модули, но можем расчитать наименьшее значение обзора врага, если там 50% командир и нет ничего улучшающего. И наибольший - при наличии всего, что только можно для улучшения обзора. Используя нормальное распределение случайной величины (величина - это обзор врага) мы можем положить, что весь диапазон умещается в 3 сигмы (99% значений случайной величины), а отсюда мы сможем сузить уже рассчитанные границы до 2 сигм (у 96% врага из вражеской команды обзор попадает в этот диапазон; 2% видят хуже; 2% видят лучше. 2% от 15 игроков - это 0.3 игрока, т.е. примерно в 1 из 3-х боёв может найтись игрок с более хорошим обзором. если еще учесть вероятность появления именно этого суперзрячего в вашем районе карты... то, короче, не стоит и рассматривать такой случай).

 

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

 

Как вам такая идея? Считаю, что такой мод помогал бы новичкам обнаруживать врага и при этом самим меньше лезть на рожон. При этом игрок, стал бы с бОльшим пониманием относиться к развитию качеств маскировки и обзора у своих танков и экипажа. Думаю, что любители ЛТ, СТ и ПТ такой мод встретили бы очень положительно. Т.к. он помогал бы на картах находить места, где высоковероятно находится враг, которого не видно. А также помогал бы повысить эффективность тактики пассивного света. Как приятно, когда ты видишь, а тебя не видят! Это было бы очень приятным дополнением к лампочке.

 

Понятно дело, что нужно научиться в XVM динамически строить круги на миникарте.


Т.е. если у вас нет лампочки и союзники еще никого не обнаружили, а вы уже словили плюху - враг близко и он в круге обнаружения.

Edited by slavon23

Share this post


Link to post

Short link
Share on other sites

 

 

А потом покопался и понял, что мне сюда :)

Не, не сюда. В раздел предложений.

Share this post


Link to post

Short link
Share on other sites

Почему дальнобойность арты дана для 45 градусов подъема орудия? Ведь у СУ-8, G.Pz. Mk. VI (e), Wespe, Pz.Sfl. IVb, Hummel, T57, M37, Sexton I и Sexton II максимальный угол подъема меньше 45 градусов.

По моим расчетам для топовых орудий дальность с учетом максимального угла подъема на ровной площадке равна (в комментариях приведен максимальный угол подъема орудия):

"special": [
          // level 2
            { "su_18":                {"$ref": { "path": "rangeCircle" }, "distance": 500 } }, // 45
            { "gw_mk_vie":            {"$ref": { "path": "rangeCircle" }, "distance": 845 } }, // 42
            { "t57":                  {"$ref": { "path": "rangeCircle" }, "distance": 519 } }, // 35
            { "renaultbs":            {"$ref": { "path": "rangeCircle" }, "distance": 482 } }, // 45
            { "gb25_loyd_carrier":    {"$ref": { "path": "rangeCircle" }, "distance": 508 } }, // 45
          // level 3
            { "su_26":                {"$ref": { "path": "rangeCircle" }, "distance": 1218 } }, // 45
            { "bison_i":              {"$ref": { "path": "rangeCircle" }, "distance":  601 } }, // 75
            { "wespe":                {"$ref": { "path": "rangeCircle" }, "distance":  983 } }, // 42
            { "m7_priest":            {"$ref": { "path": "rangeCircle" }, "distance":  989 } }, // 45
            { "lorraine39_l_am":      {"$ref": { "path": "rangeCircle" }, "distance":  982 } }, // 45
            { "gb27_sexton":          {"$ref": { "path": "rangeCircle" }, "distance": 1035 } }, // 40
            { "gb78_sexton_i":        {"$ref": { "path": "rangeCircle" }, "distance": 1035 } }, // 40
          // level 4
            { "su_5":                 {"$ref": { "path": "rangeCircle" }, "distance":  613 } }, // 60
            { "pz_sfl_ivb":           {"$ref": { "path": "rangeCircle" }, "distance":  974 } }, // 40
            { "sturmpanzer_ii":       {"$ref": { "path": "rangeCircle" }, "distance":  601 } }, // 75
            { "m37":                  {"$ref": { "path": "rangeCircle" }, "distance":  983 } }, // 42
            { "amx_ob_am105":         {"$ref": { "path": "rangeCircle" }, "distance": 1287 } }, // 45
            { "gb26_birch_gun":       {"$ref": { "path": "rangeCircle" }, "distance": 1051 } }, // 70
          // level 5
            { "su122a":               {"$ref": { "path": "rangeCircle" }, "distance": 1201 } }, // 45
            { "grille":               {"$ref": { "path": "rangeCircle" }, "distance":  836 } }, // 72
            { "m41":                  {"$ref": { "path": "rangeCircle" }, "distance": 1293 } }, // 45
            { "_105_lefh18b2":        {"$ref": { "path": "rangeCircle" }, "distance":  989 } }, // 45
            { "amx_105am":            {"$ref": { "path": "rangeCircle" }, "distance": 1287 } }, // 45
            { "gb28_bishop":          {"$ref": { "path": "rangeCircle" }, "distance":  499 } }, // 45
          // level 6
            { "su_8":                 {"$ref": { "path": "rangeCircle" }, "distance": 1343 } }, // 44
            { "hummel":               {"$ref": { "path": "rangeCircle" }, "distance": 1253 } }, // 42
            { "m44":                  {"$ref": { "path": "rangeCircle" }, "distance": 1293 } }, // 65
            { "amx_13f3am":           {"$ref": { "path": "rangeCircle" }, "distance": 1381 } }, // 45
            { "gb77_fv304":           {"$ref": { "path": "rangeCircle" }, "distance":  499 } }, // 45
          // level 7
            { "s_51":                 {"$ref": { "path": "rangeCircle" }, "distance": 1263 } }, // 58
            { "su14_1":               {"$ref": { "path": "rangeCircle" }, "distance": 1263 } }, // 60
            { "g_panther":            {"$ref": { "path": "rangeCircle" }, "distance": 1299 } }, // 45
            { "m12":                  {"$ref": { "path": "rangeCircle" }, "distance": 1412 } }, // 45
            { "lorraine155_50":       {"$ref": { "path": "rangeCircle" }, "distance": 1350 } }, // 45
            { "gb29_crusader_5inch":  {"$ref": { "path": "rangeCircle" }, "distance": 1326 } }, // 45
          // level 8
            { "su_14":                {"$ref": { "path": "rangeCircle" }, "distance": 1263 } }, // 60
            { "gw_tiger_p":           {"$ref": { "path": "rangeCircle" }, "distance": 1333 } }, // 48
            { "m40m43":               {"$ref": { "path": "rangeCircle" }, "distance": 1335 } }, // 45
            { "lorraine155_51":       {"$ref": { "path": "rangeCircle" }, "distance": 1367 } }, // 45
            { "gb79_fv206":           {"$ref": { "path": "rangeCircle" }, "distance": 1405 } }, // 50
          // level 9
            { "object_212":           {"$ref": { "path": "rangeCircle" }, "distance": 1263 } }, // 45
            { "g_tiger":              {"$ref": { "path": "rangeCircle" }, "distance": 1333 } }, // 48
            { "m53_55":               {"$ref": { "path": "rangeCircle" }, "distance": 1291 } }, // 65
            { "bat_chatillon155_55":  {"$ref": { "path": "rangeCircle" }, "distance": 1412 } }, // 45
            { "gb30_fv3805":          {"$ref": { "path": "rangeCircle" }, "distance": 1354 } }, // 63
          // level 10
            { "object_261":           {"$ref": { "path": "rangeCircle" }, "distance": 1469 } }, // 45
            { "g_e":                  {"$ref": { "path": "rangeCircle" }, "distance": 1333 } }, // 45
            { "t92":                  {"$ref": { "path": "rangeCircle" }, "distance": 1411 } }, // 65
            { "bat_chatillon155_58":  {"$ref": { "path": "rangeCircle" }, "distance": 1412 } }, // 45
            { "gb31_conqueror_gun":   {"$ref": { "path": "rangeCircle" }, "distance": 1007 } } // 45
        ]

 

Отдельное внимание стоит обратить на "105 leFH18B2". В моде задано 1000м, а у меня (по расчету) вышло только 989м. При этом у арты максимальный угол подъема равен 45 градусам! Может кто проверит в клиенте?

 

P.S. Дистанцию округлял по правилам арифметики, поэтому в ряде случаев разница составляет 1м.

Edited by Paparazzo

Share this post


Link to post

Short link
Share on other sites

Прива всем, помогите пожалуйста отредактировать файл xvm, с учетом файла currentvehicle.pyc, а то я что-то не то делаю. 

 

Заранее спс.

xvm.xc

Share this post


Link to post

Short link
Share on other sites

Прива всем, помогите пожалуйста отредактировать файл xvm, с учетом файла currentvehicle.pyc, а то я что-то не то делаю. 

 

Заранее спс.

Редактировать нужно файл minimap.xc

смотри тут

Share this post


Link to post

Short link
Share on other sites

Редактировать нужно файл minimap.xc

смотри тут

Да большое спасибо, но вопрос был другого плана, а в твоем сообщении не все ясно. Вот я я на писал вопрос.

 

Тем более в  моем файле и данные minimap.xc есть. Так вот и вопрос возник.

Edited by Vovynka

Share this post


Link to post

Short link
Share on other sites

Да большое спасибо, но вопрос был другого плана, а в твоем сообщении не все ясно. Вот я я на писал вопрос.

 

Тем более в  моем файле и данные minimap.xc есть. Так вот и вопрос возник.

Скачал, тогда понял что у вас всё в одном файле.

Подредактировал, пробуйте.  Цвета кругов редактируйте в tankrange.xc

xvm.xc

Share this post


Link to post

Short link
Share on other sites

Этот tankrange штука, конечно, очень хорошая.

Но и тут ложка дёгтя вылезла.

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

Например, на моём D. Max стоит просветленка, радиоперехват и качается орлиный глаз. Получается обзор 452 метра. И круг этот отрисовывается больше круга 445 метров.

На скрине круг 445 метров - белый, круг обзора - оранжевый.

post-9603-0-40826800-1381135141_thumb.jpg

 

Отсюда вопрос к рукастым - можно ли скрипт немного переделать, что бы круги отрисовывались максимум 445 метров, даже если рассчетное число больше 445?

Edited by MadMaxNN

Share this post


Link to post

Short link
Share on other sites

 

 

Отсюда вопрос к рукастым

Почитайте про механику засвета, если у танка обзор более 445. Сами знаете, где круг 445 - ничего править не надо.

Share this post


Link to post

Short link
Share on other sites

Почитайте про механику засвета, если у танка обзор более 445. Сами знаете, где круг 445 - ничего править не надо.

Ага. Я знаю механику засвета.

Просто как-то... не привычно что ли... когда круг обзора больше 445 м.

Share this post


Link to post

Short link
Share on other sites

Скачал, тогда понял что у вас всё в одном файле.

Подредактировал, пробуйте.  Цвета кругов редактируйте в tankrange.xc

attachicon.gifxvm

Огромное спс, дай Бог вам крепкого здоровья. 

 

Жаль, что файл не работает.

Edited by Vovynka

Share this post


Link to post

Short link
Share on other sites

Жаль, что файл не работает.

 

Извините, вчера был тяжелый день, подтупливал к вечеру уже.

Вот подправил, вроде должно работать как надо.

 

xvm.xc

Share this post


Link to post

Short link
Share on other sites

 

 

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

 

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

 

Из википедии танков:

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

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

  Цвета кругов редактируйте в tankrange.xc

 

Всё поставил, спб вам.Но цвет линий для моих глаз тусклый.

Не смог найти как редактировать ? Что прописывать какие коды.

Видел и синие и красные.

Заранее благодарен.

Share this post


Link to post

Short link
Share on other sites

Всё поставил, спб вам.Но цвет линий для моих глаз тусклый.

Не смог найти как редактировать ? Что прописывать какие коды.

Видел и синие и красные.

Заранее благодарен.

Попробуйте увеличить параметр  "alpha": 100,      линии будут яркие

 

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Попробуйте увеличить параметр  "alpha": 100,      линии будут яркие

 

Спасибо, вот это другое дело.

Видно отлично.

Share this post


Link to post

Short link
Share on other sites

Извините, вчера был тяжелый день, подтупливал к вечеру уже.

Вот подправил, вроде должно работать как надо.

 

 Cпс, проверю, напишу о результате.

Share this post


Link to post

Short link
Share on other sites

Еще одна ложка дёгтя в tankrange.xc.

Если поставить трубу на танк, в tankrange.xc запишется новый круг для танка с трубой. А если потом снять эту трубу, то круг так и будет отрисовываться. Приходится удалять вручную.

Share this post


Link to post

Short link
Share on other sites

Еще одна ложка дёгтя в tankrange.xc.

Если поставить трубу на танк, в tankrange.xc запишется новый круг для танка с трубой. А если потом снять эту трубу, то круг так и будет отрисовываться. Приходится удалять вручную.

Всё нормально работает.

Когда ставиш трубу появляется новая секция для круга с оптикой. Снимаеш трубу и эта секция пропадает.

post-8756-0-90394000-1381169042_thumb.jpg

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