Jump to content
Korean Random

StranikS_Scan

Premium Member
  • Posts

    7,774
  • Joined

  • Last visited

  • Days Won

    237

Everything posted by StranikS_Scan

  1. Поправлю. Там нет исходников, а декомпилировать его версию и копаться в декомпилированном коде я не буду, это долго. Исправил, перезалил - тыц.
  2. А забыл, там же дополнительные круги есть. Тогда смотри как нужно: 1. Добавляем два новых параметра в конфиг - коэф. видимости игрока стоя и в движении, например, PlayerVisibilityStill и PlayerVisibilityMoving 2. В конфиг пользователь вставляет один круг или два круга, как ему хочется, вот с такими макросами (синтаксис макросов XVM я не знаю, потому напишу свободно): "distance": {50 + (400 - 50)*PlayerVisibilityMoving}, где 50 это радиус круга рентгена, 400 - это обзор танка врага, вводимый пользователем "distance": {50 + (400 - 50)*PlayerVisibilityStill} 3. При входе в бой считаешь коэф. видимости для танка игрока. Это можно сделать через __getInvisibilityValues. Там на выходе будет вот такая штука (А, B), где A.current и A.atShot - это коэф. незаметности в % для движущегося танка: текущая незаметность и в момент выстрела, ну а B.current и B.atShot - для стоячего танка. В данном случае получается PlayerVisibilityMoving = 1 - A.current/100 и PlayerVisibilityStill = 1 - B.current/100 В результате получаем модификацию, которая позволяет вывести круг засвета своего танка либо стоячего, либо движущегося, либо оба круга вместе вывести, при статически заданном обзоре танка противника. А так как сей расчет - крайне приближенный из-за того, что обзор задаем вручную статически, то можно использовать приближенную, но более простую в записи, формулу: "distance": {50 + 400*PlayerVisibilityMoving} "distance": {50 + 400*PlayerVisibilityStill} С ней даже лучше станет, т.к. она дает загрубление в сторону раннего оповещения.
  3. Если мне не изменяет память, картошка использует до 32 слоев, то есть индексация 1...32. Вроде для корпуса до 32 слоев, а для башни до 16 слоев. Но могу соврать, так как не помню точно.
  4. Там не с формулами беда. Беда с флэшкой XVM. Как я понял в XVM во флэшку передаются не радиусы кругов, а аргументы для их расчета. А расчеты делаются уже внутри флэшки. Это значит, что написать скрипт, который что-то меняет - не получится. Нужно править флэшку для миникарты или свою делать.
  5. Да, такая броня есть и пердически встречается, т.к. без неё не всегда можно сделать целостное заброневое пространство. Что касается слоев в коллижене, то у них есть набор свойств, относящихся к механике снарядов. Например у каждого слоя есть вот такие свойства: <materials> <armor_1> <vehicleDamageFactor> 1.0 </vehicleDamageFactor> <useArmorHomogenization> true </useArmorHomogenization> <useHitAngle> true </useHitAngle> <useAntifragmentationLining> true </useAntifragmentationLining> <mayRicochet> true </mayRicochet> <collideOnceOnly> false </collideOnceOnly> <checkCaliberForRichet> true </checkCaliberForRichet> <checkCaliberForHitAngleNorm> true </checkCaliberForHitAngleNorm> </armor_1> Обращаем внимание на первый параметр vehicleDamageFactor - это и есть атрибут заброневого пространства. Все слои у кого он равен 1.0 - это слои образующие заброневое пространство. Их пробитие приводит к расчету урона по танку. Все эти свойства доступны и через пайтон. Поискать код с ними может так - тыц. Это кстати позволяет пилить моды на анализ бронепробития, например для аимов. Вполне может быть. Либо это косячок у Мастера Моделей в его коде расшифровке havok-файлов, либо именно так ВГ и задумано. Скажу по своему опыту многолетнего изучения механики игры, что там таких "странных" на первый взгляд коллиженов не мало. Ну в этом и разница между игроком, который лупит по визуальной модели, думая что она и есть настоящая и игроком, который изучил коллижены и потому стреляет согласно им )))) Напиши Мастеру Моделей, спроси. Может даст бесплатно доступ, как коллеге-мододелу, чтоб взнос не платить. Что касается вопроса - есть ли различие между havok-коллиженами в клиенте и ими же на сервере - то я склонен думать, что либо нет, либо эти различия не относятся к рассматриваемой механике, а касаются только программной реализации. Почему? Ну потому что у танков клиент-серверная технология. Нет ни какого смысла делать расчеты точнее или подробнее той инфы, которая будет отправлена игроку. В противном случае либо игрок начнет видеть, что его мир отличается мира сервера, либо сервер будет попусту загружен ненужными объёмами данных или ненужными вычислениями, результаты которых будут просто нивелироваться при отправке данных игроку. Вот например кодирование точки попадания. Вот тут я разбирался с координатами попадания. Это номера сегментов модели, коих берется 256 по ширине и по высоте. Такое кодирование означает округление до 1/256. Возникает сразу вопрос, нужно ли на сервере делать расчеты с большей точностью, если игрок в итоге увидит результат с таким округлением? Тут еще стоит поспрашивать Мастера Моделей какие он вносит правки в их отображение. Он ведь может при раскодировки немного вносить свои правки чтоб сделать красивую и понятную визуализацию.
  6. Коллижены можешь посмотреть - тут. Там хорошо виден принцип реализации у картошки. Про механику пробития у картошки можешь почитать - тут (устарело немного) и еще тут в первом посте. Отвечая на твой вопрос о рубках и уроне - у картошки есть слои, которые помечены как слои контроля попадания снаряды в заброневое пространство. Если снаряд такой слой пробивает, то срабатывает флаг попадания в заброневое пространство и включается расчет урона по танку. Чтобы не было "дырок" в танках картошка часто примеяет слои мембраны с толщиной 0 мм, задача которых исключительно контролировать попадание снаряды в заброневое пространство. Например такой слой часто присутствует в башне танка, где закрывает пространство между орудием и краями отверстия башни. Если интересует кодовая часть, то в клиенте игры есть код работы с коллиженами, он в некотором малом роде дублирует серверную часть, т.к. часть неважных проверок и перерасчетов клиент делает сам простреливая коллижены через Collide модели. Ты можешь для начала глянуть вот это. Сам мод вот тут.
  7. Коллижены бронирования и механика их пробития и урона снарядами разных типов.
  8. Что мешает использовать механику пробитий ВГ?
  9. Мы тут тоже не приглашали тебя клоунские темы создавать. Но как видишь никто не против и тебя никуда не гоним. Наоборот даже. Готовы тебе помочь за скромное вознаграждение )))) Ну ОК, удачи в поисках ))))
  10. Давай бро пиши забисплатно, а мы пока кино посмотрим
  11. Ох уж эти "сам не могу, но как я знаю....". Дружище, как я знаю платить 2к деревянных за такое - только нас тут смешить. Кидай 2к зелени и тогда посмотрим.
  12. self.minimapCirclesData = { 'vehCD': descr.type.compactDescr, 'is_full_crew': self.is_full_crew, 'base_commander_skill': self.base_commander_skill, 'base_radioman_skill': self.base_radioman_skill, 'base_loaders_skill': self.base_loaders_skill, 'view_distance_vehicle': self.view_distance_vehicle, 'view_brothers_in_arms': self.brothers_in_arms, 'view_stereoscope': self.stereoscope, 'view_ventilation': self.ventilation, 'view_coated_optics': self.coated_optics, 'view_rammer': self.rammer, 'view_consumable': self.consumable, 'view_commander_eagleEye': self.commander_eagleEye, 'view_radioman_finder': self.radioman_finder, 'view_radioman_inventor': self.radioman_inventor, 'view_camouflage': self.camouflage, 'artillery_range': artillery_range, 'shell_range': shell_range, 'base_gun_reload_time': float("{0:.3f}".format(descr.gun.reloadTime)), 'base_radio_distance': descr.radio.distance, 'commander_sixthSense': self.commander_sixthSense, } Всё передается в виде исходных компонентов формулы. А значит подменить можно только их. Но это сразу становится весьма не тривиальной задачей. Так подправить параметры выше чтоб внутри флэшки получился нужный радиус круга. Короче в таком виде это мышиная возня. Не понятно зачем так сделано.
  13. Расчет радиусов в питоне делается, а затем передается во флэшку. Для кругов собственного обзора только так и можно. Файл xvm_main.py\python\minimap_circles.py
  14. Но ты можешь наверно сделать замену кругов. Типа те круги обзора что в xvm предназначены для показа обзора своего танка превратить в круги засвета. Для этого достаточно в питоновой части XVM расчеты кругов подменить. ЗЫ: Обычно людям нуно либо круги своего обзора, либо круги своего засвета. Все вместе совместить вряд ли можно, каша будет. А так получается нормально.
  15. Они и не должны обновляться. Достаточно того же механизма какой сделан у круга обзора аля dynamic
  16. y - это в клиенте есть, там можно посчитать для своего танка с учетом всех факторов + стоит танк свой или движется. А вот x - он просто вобьет в конфиге какой хочет. Типа x = 500 м и всё.
  17. Вы можете обратиться в тему скриптов для XVM. Может автор темы запилит такой скрипт, если желание у него будет. В самом XVM такой возможно нет.
  18. Он сильно варьируется. Поэтому делать как вы просите - бессмысленно. Круг постоянно будет врать.
  19. Он их в своей голове находит, когда обострение. Но сообщить об этом не может, иначе родственники упекут в соответствующее учреждение.
  20. Нээ, нам название топика прочитать достаточно)))
  21. Декомпиляция через WOT-UnDec.exe у мну нормально распаковывает xml. Решил проверить вручную в Орионе. Версия из шапки темы. Скопировал папку c:\Games\World_of_Tanks\res\packages\scripts.pkg\scripts\item_defs\vehicles\sweden\components из pkg-архива на диск D:\ жмякнул на папку правой клавишей мышки и выбрал PjOrion - Unpack XML-files. Все ОК отработало, без проблем.
×
×
  • Create New...